apache / superset

Apache Superset is a Data Visualization and Data Exploration Platform
https://superset.apache.org/
Apache License 2.0
61.9k stars 13.56k forks source link

The metric label cannot match the name of the field #21658

Open zertyuiop opened 1 year ago

zertyuiop commented 1 year ago

The metric label cannot match the name of the field used in the metric (for metrics created using the graph editor, if this field is subsequently used for filtering with the aggregation function (for the BigQuery engine, it gives an error 400 Aggregations of aggregations are not allowed)).

How to reproduce the bug

  1. Create table chart with metric SUM(visits) (for example)
  2. Filter it with metric SUM(visits)>100
  3. Try to remame label of SUM(visits) to Visits (or visits)
  4. See error 400 Aggregations of aggregations are not allowed (for BigQuery)

Expected results

Metric labels (and, accordingly, for example, the names of columns in a table chart) must have any form (they can match the names of the table fields, be written in non-English language).

Actual results

Metric labels are used in SQL statements that return a table for plotting. However, many database engines have restrictions on the use of non-English field names or other similar issues that lead to bugs.

Environment

(please complete the following information):

Checklist

Make sure to follow these steps before submitting your issue - thank you!

Additional context

Metric labels should be stored separately and not used in SQL statements (neutral labels of the "label_1f" type should be used there, and metric labels (and the metrics themselves) should already be attached to these labels in order to eliminate compatibility problems with various database engines as much as possible). Connected issue: #16108

zertyuiop commented 1 year ago

Same issue: https://github.com/apache/superset/issues/3136

ShaliniIruvuru commented 1 year ago

Working as Expected. Loom video:- https://www.loom.com/share/dc845f75a6054bd9874d9c8f8d5f29ab

zertyuiop commented 1 year ago

@ShaliniIruvuru this issue is specific to Google BigQuery and possibly some other DBMS. You just gave an example that this issue is not relevant for PostgreSQL, but it is still relevant for BigQuery.

rusackas commented 7 months ago

@zertyuiop is this still an issue in Superset 3.x?

zertyuiop commented 7 months ago

@rusackas the issue is still partially valid. While giving a metric the same name as a column is no longer an issue, using non-ASCII characters in labels remains (#16108).

zertyuiop commented 7 months ago

26461 could be a valid solution for BigQuery, tested on the current dev version. But I cannot check whether this problem occurs in other DBMSs. Thus, additional context in describing the issue is still relevant.

rusackas commented 3 months ago

@zertyuiop can you confirm if this is effectively solved for BigQuery in current versions? I'm not sure whether or not other DBs are affected, but since this was reported regarding BigQuery, I'm inclined to close the issue as resolved, and let people open new issues if it turns up elsewhere.