diff --git a/superset/connectors/sqla/models.py b/superset/connectors/sqla/models.py index c19f01fb2c..c3d440a624 100644 --- a/superset/connectors/sqla/models.py +++ b/superset/connectors/sqla/models.py @@ -1092,16 +1092,16 @@ class SqlaTable(Model, BaseDatasource): # pylint: disable=too-many-public-metho columns = groupby or columns for selected in columns: # if groupby field/expr equals granularity field/expr - table_col = columns_by_name.get(selected) - if table_col and table_col.type_generic == GenericDataType.TEMPORAL: - outer = table_col.get_timestamp_expression( + if selected == granularity: + sqla_col = columns_by_name[selected] + outer = sqla_col.get_timestamp_expression( time_grain=time_grain, label=selected, template_processor=template_processor, ) # if groupby field equals a selected column - elif table_col: - outer = table_col.get_sqla_col() + elif selected in columns_by_name: + outer = columns_by_name[selected].get_sqla_col() else: outer = literal_column(f"({selected})") outer = self.make_sqla_column_compatible(outer, selected)