From 247a85b916b6f0e15d7d14f7998004f82c53de44 Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Thu, 11 Oct 2018 09:14:41 -0700 Subject: [PATCH] Fix top groups with user defined metrics (#6073) --- UPDATING.md | 2 +- superset/connectors/sqla/models.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/UPDATING.md b/UPDATING.md index 326a57d4f5..b17d32f692 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -19,7 +19,7 @@ assists people when migrating to a new version. * Superset 0.28 upgrades `flask-login` to `>=0.3`, which includes a backwards-incompatible change: `g.user.is_authenticated`, `g.user.is_anonymous`, and `g.user.is_active` are now properties - instead of properties. + instead of methods. ## Superset 0.27.0 * Superset 0.27 start to use nested layout for dashboard builder, which is not diff --git a/superset/connectors/sqla/models.py b/superset/connectors/sqla/models.py index 75251f6ac0..89b07f681d 100644 --- a/superset/connectors/sqla/models.py +++ b/superset/connectors/sqla/models.py @@ -757,7 +757,11 @@ class SqlaTable(Model, BaseDatasource): 'order_desc': True, } result = self.query(subquery_obj) - dimensions = [c for c in result.df.columns if c not in metrics] + cols = {col.column_name: col for col in self.columns} + dimensions = [ + c for c in result.df.columns + if c not in metrics and c in cols + ] top_groups = self._get_top_groups(result.df, dimensions) qry = qry.where(top_groups)