average and sum: fix for null values
This commit is contained in:
38
dist/test/datasource-zabbix/timeseries.js
vendored
38
dist/test/datasource-zabbix/timeseries.js
vendored
@@ -234,24 +234,36 @@ function rate(datapoints) {
|
||||
return newSeries;
|
||||
}
|
||||
|
||||
function SUM(values) {
|
||||
var sum = 0;
|
||||
_lodash2.default.each(values, function (value) {
|
||||
sum += value;
|
||||
});
|
||||
return sum;
|
||||
}
|
||||
|
||||
function COUNT(values) {
|
||||
return values.length;
|
||||
}
|
||||
|
||||
function SUM(values) {
|
||||
var sum = null;
|
||||
for (var i = 0; i < values.length; i++) {
|
||||
if (values[i] !== null) {
|
||||
sum += values[i];
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
function AVERAGE(values) {
|
||||
var sum = 0;
|
||||
_lodash2.default.each(values, function (value) {
|
||||
sum += value;
|
||||
});
|
||||
return sum / values.length;
|
||||
var values_non_null = getNonNullValues(values);
|
||||
if (values_non_null.length === 0) {
|
||||
return null;
|
||||
}
|
||||
return SUM(values_non_null) / values_non_null.length;
|
||||
}
|
||||
|
||||
function getNonNullValues(values) {
|
||||
var values_non_null = [];
|
||||
for (var i = 0; i < values.length; i++) {
|
||||
if (values[i] !== null) {
|
||||
values_non_null.push(values[i]);
|
||||
}
|
||||
}
|
||||
return values_non_null;
|
||||
}
|
||||
|
||||
function MIN(values) {
|
||||
|
||||
Reference in New Issue
Block a user