From dee47864c4f5e5dee6b54c09dcfb6842466ecea6 Mon Sep 17 00:00:00 2001 From: Jeff Niu Date: Tue, 7 Nov 2017 21:35:56 -0800 Subject: [PATCH] Fixed single extraction dimension error (#3796) --- superset/connectors/druid/models.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/superset/connectors/druid/models.py b/superset/connectors/druid/models.py index 1f5a04047..3415d9287 100644 --- a/superset/connectors/druid/models.py +++ b/superset/connectors/druid/models.py @@ -973,7 +973,13 @@ class DruidDatasource(Model, BaseDatasource): if len(groupby) == 0 and not having_filters: del qry['dimensions'] client.timeseries(**qry) - if not having_filters and len(groupby) == 1 and order_desc: + + if ( + not having_filters and + len(groupby) == 1 and + order_desc and + not isinstance(list(qry.get('dimensions'))[0], dict) + ): dim = list(qry.get('dimensions'))[0] if timeseries_limit_metric: order_by = timeseries_limit_metric @@ -995,7 +1001,7 @@ class DruidDatasource(Model, BaseDatasource): if phase == 1: return query_str query_str += ( - "//\nPhase 2 (built based on phase one's results)\n") + "// Phase 2 (built based on phase one's results)\n") df = client.export_pandas() qry['filter'] = self._add_filter_from_pre_query_data( df, @@ -1037,7 +1043,7 @@ class DruidDatasource(Model, BaseDatasource): if phase == 1: return query_str query_str += ( - "//\nPhase 2 (built based on phase one's results)\n") + "// Phase 2 (built based on phase one's results)\n") df = client.export_pandas() qry['filter'] = self._add_filter_from_pre_query_data( df,