From 309327dcbdec954283ef6cd03fccf264a830e4a5 Mon Sep 17 00:00:00 2001 From: Yongjie Zhao Date: Mon, 4 Jul 2022 18:08:12 +0800 Subject: [PATCH] feat: drop missing columns control (#20586) --- .../src/operators/pivotOperator.ts | 2 +- .../src/operators/timeComparePivotOperator.ts | 2 +- .../src/sections/echartsTimeSeriesQuery.tsx | 1 + .../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 4d8c1f6d7696..bdb2bdf273ed 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 = ( 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 b8543a1f4f64..20d4b6f323fb 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 = { 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 };