This is an automated email from the ASF dual-hosted git repository.

yongjiezhao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 309327dcbd feat: drop missing columns control (#20586)
309327dcbd is described below

commit 309327dcbdec954283ef6cd03fccf264a830e4a5
Author: Yongjie Zhao <[email protected]>
AuthorDate: Mon Jul 4 18:08:12 2022 +0800

    feat: drop missing columns control (#20586)
---
 .../superset-ui-chart-controls/src/operators/pivotOperator.ts     | 2 +-
 .../src/operators/timeComparePivotOperator.ts                     | 2 +-
 .../src/sections/echartsTimeSeriesQuery.tsx                       | 1 +
 .../superset-ui-chart-controls/src/shared-controls/index.tsx      | 8 ++++++++
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/superset-frontend/packages/superset-ui-chart-controls/src/operators/pivotOperator.ts
 
b/superset-frontend/packages/superset-ui-chart-controls/src/operators/pivotOperator.ts
index 4d8c1f6d76..bdb2bdf273 100644
--- 
a/superset-frontend/packages/superset-ui-chart-controls/src/operators/pivotOperator.ts
+++ 
b/superset-frontend/packages/superset-ui-chart-controls/src/operators/pivotOperator.ts
@@ -44,7 +44,7 @@ export const pivotOperator: 
PostProcessingFactory<PostProcessingPivot> = (
         aggregates: Object.fromEntries(
           metricLabels.map(metric => [metric, { operator: 'mean' }]),
         ),
-        drop_missing_columns: false,
+        drop_missing_columns: !!formData?.drop_missing_columns,
       },
     };
   }
diff --git 
a/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
 
b/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
index b8543a1f4f..20d4b6f323 100644
--- 
a/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
+++ 
b/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
@@ -46,7 +46,7 @@ export const timeComparePivotOperator: 
PostProcessingFactory<PostProcessingPivot
         options: {
           index,
           columns: ensureIsArray(queryObject.columns).map(getColumnLabel),
-          drop_missing_columns: false,
+          drop_missing_columns: !!formData?.drop_missing_columns,
           aggregates,
         },
       };
diff --git 
a/superset-frontend/packages/superset-ui-chart-controls/src/sections/echartsTimeSeriesQuery.tsx
 
b/superset-frontend/packages/superset-ui-chart-controls/src/sections/echartsTimeSeriesQuery.tsx
index b10d38ae7c..ac2d5b4ff2 100644
--- 
a/superset-frontend/packages/superset-ui-chart-controls/src/sections/echartsTimeSeriesQuery.tsx
+++ 
b/superset-frontend/packages/superset-ui-chart-controls/src/sections/echartsTimeSeriesQuery.tsx
@@ -55,5 +55,6 @@ export const echartsTimeSeriesQuery: 
ControlPanelSectionConfig = {
     ['order_desc'],
     ['row_limit'],
     ['truncate_metric'],
+    ['drop_missing_columns'],
   ],
 };
diff --git 
a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
 
b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
index 104ac88c08..b04fb3dc92 100644
--- 
a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
+++ 
b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
@@ -542,6 +542,13 @@ const truncate_metric: 
SharedControlConfig<'CheckboxControl'> = {
   description: t('Whether to truncate metrics'),
 };
 
+const drop_missing_columns: SharedControlConfig<'CheckboxControl'> = {
+  type: 'CheckboxControl',
+  label: t('Drop Missing Columns'),
+  default: false,
+  description: t('Drop a column if all values are null'),
+};
+
 const x_axis: SharedControlConfig<'SelectControl', ColumnMeta> = {
   ...groupByControl,
   ...xAxisControlConfig,
@@ -587,6 +594,7 @@ const sharedControls = {
   legacy_order_by: enableExploreDnd ? dnd_sort_by : sort_by,
   truncate_metric,
   x_axis: enableExploreDnd ? dnd_x_axis : x_axis,
+  drop_missing_columns,
 };
 
 export { sharedControls, dndEntity, dndColumnsControl };

Reply via email to