Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:datenmengen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
howto:datenmengen [2018/04/03 13:23] – PR688 jauhowto:datenmengen [2018/11/29 15:45] wf_bitplan.com
Zeile 134: Zeile 134:
 ^ "sum" | Summe | zu verwenden bei Impulsen (S0) | ^ "sum" | Summe | zu verwenden bei Impulsen (S0) |
 ^ "none"| | keine Aggreagtion vornehmen, alle Daten des //channel// gehen an die Middleware | ^ "none"| | keine Aggreagtion vornehmen, alle Daten des //channel// gehen an die Middleware |
 +
 +===== Aggregieren mit mySQL =====
 +Das folgende mySQL Script erzeugt eine "daily" Tabelle mit Tagessummen für Messwerte vom Typ "electric meter".
 +Im Beispiel werden die Werte für den Zeitraum 2014-01-01 bis 2018-11-30 aufsummiert.
 +
 +Als Basis diente eine SQL-Abfrage zur Erzeugung einer Liste von Tagen siehe: https://stackoverflow.com/a/53541150/1497139
 +
 +<code>
 +create table daily as
 +select 
 +  dates.from_date,e.id,format(channelSum(e.id,dates.from_date,dates.to_date),0) as diff,e.type, p.value
 +from (
 +select 
 +  date_add('2014-01-01',interval row day)   as from_date, 
 +  date_add('2014-01-01',interval row+1 day) as to_date   
 +from (
 +    SELECT @row := @row + 1 as row FROM 
 +    (select 0 union all select 1 union all select 3 union all select 4 union all select 5 union all select 6 union all select 6 union all select 7 union all select 8 union all select 9) t,
 +    (select 0 union all select 1 union all select 3 union all select 4 union all select 5 union all select 6 union all select 6 union all select 7 union all select 8 union all select 9) t2, 
 +    (select 0 union all select 1 union all select 3 union all select 4 union all select 5 union all select 6 union all select 6 union all select 7 union all select 8 union all select 9) t3, 
 +    (select 0 union all select 1 union all select 3 union all select 4 union all select 5 union all select 6 union all select 6 union all select 7 union all select 8 union all select 9) t4, 
 +    (SELECT @row:=-1) r
 +) sequence
 +where date_add('2014-01-01',interval row+1 day) <= '2018-01-30') dates
 +join entities   
 +join properties p on e.id=p.entity_id
 +join properties r on e.id=r.entity_id
 +where p.pkey='title' and r.pkey='resolution'
 +and e.type='electric meter';
 +</code>
  
 ===== Aufrüstung: Hardware ===== ===== Aufrüstung: Hardware =====
howto/datenmengen.txt · Zuletzt geändert: 2024/05/18 10:16 von jau