diff --git a/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts b/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts index 2fae16c31c..df59d89f09 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts +++ b/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts @@ -119,6 +119,7 @@ const processColumns = memoizeOne(function processColumns( const isMetric = metricsSet.has(key) && isNumeric(key, records); const isPercentMetric = percentMetricsSet.has(key); const isTime = dataType === GenericDataType.TEMPORAL; + const isNumber = dataType === GenericDataType.NUMERIC; const savedFormat = columnFormats?.[key]; const numberFormat = config.d3NumberFormat || savedFormat; @@ -151,7 +152,7 @@ const processColumns = memoizeOne(function processColumns( } else if (isPercentMetric) { // percent metrics have a default format formatter = getNumberFormatter(numberFormat || PERCENT_3_POINT); - } else if (isMetric || numberFormat) { + } else if (isMetric || (isNumber && numberFormat)) { formatter = getNumberFormatter(numberFormat); } return { diff --git a/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx b/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx index d8d76b5c8f..1e699b6888 100644 --- a/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx +++ b/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx @@ -97,6 +97,7 @@ describe('plugin-chart-table', () => { // should successful rerender with new props const cells = tree.find('td'); expect(tree.find('th').eq(1).text()).toEqual('Sum of Num'); + expect(cells.eq(0).text()).toEqual('Michael'); expect(cells.eq(2).text()).toEqual('12.346%'); expect(cells.eq(4).text()).toEqual('2.47k'); }); diff --git a/superset-frontend/plugins/plugin-chart-table/test/testData.ts b/superset-frontend/plugins/plugin-chart-table/test/testData.ts index f617ce8a1f..9896e7bf49 100644 --- a/superset-frontend/plugins/plugin-chart-table/test/testData.ts +++ b/superset-frontend/plugins/plugin-chart-table/test/testData.ts @@ -144,6 +144,20 @@ const advanced: TableChartProps = { ...basicFormData, metrics: ['sum__num'], percent_metrics: ['pct_nice'], + column_config: { + name: { + d3NumberFormat: '.3s', + }, + sum__num: { + d3NumberFormat: '.3s', + }, + pct_nice: { + d3NumberFormat: '.3s', + }, + 'abc.com': { + d3NumberFormat: '.3s', + }, + }, }, queriesData: [ {