diff --git a/superset/assets/javascripts/explorev2/stores/visTypes.js b/superset/assets/javascripts/explorev2/stores/visTypes.js index 4c3df7d0e7..4b22c69227 100644 --- a/superset/assets/javascripts/explorev2/stores/visTypes.js +++ b/superset/assets/javascripts/explorev2/stores/visTypes.js @@ -254,6 +254,12 @@ const visTypes = { ], }, ], + controlOverrides: { + metrics: { + default: null, + validators: null, + }, + }, }, markup: { diff --git a/superset/assets/visualizations/table.js b/superset/assets/visualizations/table.js index 024f8a0ce2..00dbd18e20 100644 --- a/superset/assets/visualizations/table.js +++ b/superset/assets/visualizations/table.js @@ -19,9 +19,11 @@ function tableVis(slice, payload) { const fd = slice.formData; // Removing metrics (aggregates) that are strings const realMetrics = []; - for (const k in data.records[0]) { - if (fd.metrics.indexOf(k) > -1 && !isNaN(data.records[0][k])) { - realMetrics.push(k); + if (fd.metrics) { + for (const k in data.records[0]) { + if (fd.metrics.indexOf(k) > -1 && !isNaN(data.records[0][k])) { + realMetrics.push(k); + } } } const metrics = realMetrics;