diff --git a/public/app/plugins/panel/table/editor.html b/public/app/plugins/panel/table/editor.html
index 5847e140c82..448669ca6a9 100644
--- a/public/app/plugins/panel/table/editor.html
+++ b/public/app/plugins/panel/table/editor.html
@@ -21,6 +21,10 @@
+
diff --git a/public/app/plugins/panel/table/module.ts b/public/app/plugins/panel/table/module.ts
index 35448d6a296..bf872b47d27 100644
--- a/public/app/plugins/panel/table/module.ts
+++ b/public/app/plugins/panel/table/module.ts
@@ -42,6 +42,7 @@ class TablePanelCtrl extends MetricsPanelCtrl {
scroll: true,
fontSize: '100%',
sort: {col: 0, desc: true},
+ filterNull: false,
};
/** @ngInject */
diff --git a/public/app/plugins/panel/table/transformers.ts b/public/app/plugins/panel/table/transformers.ts
index f48932a54ac..58e9758a6b9 100644
--- a/public/app/plugins/panel/table/transformers.ts
+++ b/public/app/plugins/panel/table/transformers.ts
@@ -5,6 +5,7 @@ import moment from 'moment';
import flatten from '../../../core/utils/flatten';
import TimeSeries from '../../../core/time_series2';
import TableModel from '../../../core/table_model';
+import angular from "angular";
var transformers = {};
@@ -219,7 +220,8 @@ transformers['json'] = {
};
function transformDataToTable(data, panel) {
- var model = new TableModel();
+ var model = new TableModel(),
+ copyData = angular.copy(data);
if (!data || data.length === 0) {
return model;
@@ -230,7 +232,13 @@ function transformDataToTable(data, panel) {
throw {message: 'Transformer ' + panel.transformer + ' not found'};
}
- transformer.transform(data, panel, model);
+ if (panel.filterNull) {
+ for (var i = 0; i < copyData.length; i++) {
+ copyData[i].datapoints = copyData[i].datapoints.filter((dp) => dp[0] != null);
+ }
+ }
+
+ transformer.transform(copyData, panel, model);
return model;
}