The metric label cannot match the name of the field
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
- Create table chart with metric SUM(visits) (for example)
- Filter it with metric SUM(visits)>100
- Try to remame label of SUM(visits) to Visits (or visits)
- 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):
- browser type and version: Any
- superset version:
2.0.0,0dda5fe
Checklist
Make sure to follow these steps before submitting your issue - thank you!
- [x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
- [x] I have reproduced the issue with at least the latest released version of superset.
- [x] I have checked the issue tracker for the same issue and I haven't found one similar.
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
Same issue: https://github.com/apache/superset/issues/3136
Working as Expected. Loom video:- https://www.loom.com/share/dc845f75a6054bd9874d9c8f8d5f29ab
@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.
@zertyuiop is this still an issue in Superset 3.x?
@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).
#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.
@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.