in m'n grafana setup heb ik een Singlestat Math. Deze is deprecated (AngularJS) en ik wil die vervangen door een gewone Stat. Hiervoor moet ik de query aanpassen, maar ik krijg andere resultaten?
Oude methode
Expressie in de Singlestat Math: 100*(zon-export)/(net+zon) , dit geeft bv 29% met de "Total" bij reducer function
de 3 influxDB queries:
export ==> SELECT sum("kWh") FROM "iotawatt" WHERE ("ct" = 'Export') AND $timeFilter GROUP BY time($__interval) fill(null)
zon ==> SELECT sum("kWh") FROM "iotawatt" WHERE ("ct" = 'Zon3FkWh') AND $timeFilter GROUP BY time($__interval) fill(null)
net ==> SELECT sum("kWh") FROM "iotawatt" WHERE ("ct" = 'EandiskWh') AND $timeFilter GROUP BY time($__interval) fill(null)
Nieuwe methode: Stat Panel met 1 query waarvan ik "Total" als reducer function gebruik. ==> dit geeft bv 31% (dus 2% afwijking?)
De influxDB query:
SELECT (100 * (mean("B") - mean("A")) / (mean("C") + mean("B"))) FROM ( SELECT sum("kWh") as "A" FROM "iotawatt" WHERE ("ct" = 'Export') AND $timeFilter) , ( SELECT sum("kWh") as "B" FROM "iotawatt" WHERE ("ct" = 'Zon3FkWh') AND $timeFilter) , ( SELECT sum("kWh") as "C" FROM "iotawatt" WHERE ("ct" = 'EandiskWh') AND $timeFilter) GROUP BY time(24h) fill(null)
Heeft er iemand een idee wat ik mis doe?
Het lijkt iets te maken te hebben met dat de oude meerdere waardes gaan verwerken en de nieuwe maar 2 waardes weergeeft (in table view)
Oude methode
Expressie in de Singlestat Math: 100*(zon-export)/(net+zon) , dit geeft bv 29% met de "Total" bij reducer function
de 3 influxDB queries:
export ==> SELECT sum("kWh") FROM "iotawatt" WHERE ("ct" = 'Export') AND $timeFilter GROUP BY time($__interval) fill(null)
zon ==> SELECT sum("kWh") FROM "iotawatt" WHERE ("ct" = 'Zon3FkWh') AND $timeFilter GROUP BY time($__interval) fill(null)
net ==> SELECT sum("kWh") FROM "iotawatt" WHERE ("ct" = 'EandiskWh') AND $timeFilter GROUP BY time($__interval) fill(null)
Nieuwe methode: Stat Panel met 1 query waarvan ik "Total" als reducer function gebruik. ==> dit geeft bv 31% (dus 2% afwijking?)
De influxDB query:
SELECT (100 * (mean("B") - mean("A")) / (mean("C") + mean("B"))) FROM ( SELECT sum("kWh") as "A" FROM "iotawatt" WHERE ("ct" = 'Export') AND $timeFilter) , ( SELECT sum("kWh") as "B" FROM "iotawatt" WHERE ("ct" = 'Zon3FkWh') AND $timeFilter) , ( SELECT sum("kWh") as "C" FROM "iotawatt" WHERE ("ct" = 'EandiskWh') AND $timeFilter) GROUP BY time(24h) fill(null)
Heeft er iemand een idee wat ik mis doe?

[ Voor 4% gewijzigd door Promy op 25-03-2024 21:27 ]