superset icon indicating copy to clipboard operation
superset copied to clipboard

The metric label cannot match the name of the field

Open zertyuiop opened this issue 3 years ago • 1 comments

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):

  • 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

zertyuiop avatar Sep 29 '22 23:09 zertyuiop

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

zertyuiop avatar Nov 19 '22 16:11 zertyuiop

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

ShaliniIruvuru avatar Mar 21 '23 14:03 ShaliniIruvuru

@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 avatar Mar 21 '23 16:03 zertyuiop

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

rusackas avatar Feb 23 '24 21:02 rusackas

@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 avatar Feb 23 '24 23:02 zertyuiop

#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 avatar Feb 24 '24 00:02 zertyuiop

@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.

rusackas avatar Jun 12 '24 04:06 rusackas