diff --git a/superset/models/helpers.py b/superset/models/helpers.py index e3111166ae5c2..1ce534b593d01 100644 --- a/superset/models/helpers.py +++ b/superset/models/helpers.py @@ -1485,11 +1485,16 @@ def get_sqla_query( # pylint: disable=too-many-arguments,too-many-locals,too-ma # if groupby field/expr equals granularity field/expr if selected == granularity: table_col = columns_by_name[selected] - outer = table_col.get_timestamp_expression( - time_grain=time_grain, - label=selected, - template_processor=template_processor, - ) + if isinstance(table_col, dict): + outer = self.get_timestamp_expression( + table_col, time_grain, selected, template_processor + ) + else: + outer = table_col.get_timestamp_expression( + time_grain=time_grain, + label=selected, + template_processor=template_processor, + ) # if groupby field equals a selected column elif selected in columns_by_name: if isinstance(columns_by_name[selected], dict):