Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hallo Zusammen,
ich suche nach einer Möglichkeit eine Summe aufsteigend zu berechnen.
Folgende Inline sei gegeben:
LOAD * INLINE [
Equipment, Störungsbeginn, Störungsdauer
123456789, 01.01.2020, 5
123456789, 05.01.2020, 5
123456789, 21.05.2020, 50
123456789, 20.06.2020, 30
];
Ziel dabei ist es, eine neue Dimension zu erstellen, welche die Summe der Störungsdauer bildet. Hierbei soll aber nicht die Summe aller Störungen, sondern aufsteigend nach Störungsbeginn, berechnet werden.
Die Ergebnistabelle sollte also folgendes zeigen:
Equipment | Störungsbeginn | Störungsdauer | Summe Störungsdauer |
123456789 | 01.01.2020 | 5 | 5 |
123456789 | 05.01.2020 | 5 | 10 |
123456789 | 21.05.2020 | 50 | 60 |
123456789 | 20.06.2020 | 30 | 90 |
Kann mir hier jemand weiterhelfen?
Vorab vielen Dank!
Versuche es mal mit der folgenden Grundlogik:
load *,
if(Equipment = previous(Equipment),
rangesum(Störungsdauer, peek('kum. Dauer')), Störungsdauer) as [kum. Dauer];
LOAD * INLINE [
Equipment, Störungsbeginn, Störungsdauer
123456789, 01.01.2020, 5
123456789, 05.01.2020, 5
123456789, 21.05.2020, 50
123456789, 20.06.2020, 30
];
Mit einem richtigen Daten-Load aus einer Tabelle, muss man diese in der Regel noch entsprechend sortieren, wie:
... order by Equipment, Störungsbeginn desc;
wofür man dann auch resident laden muss.
- Marcus
Versuche es mal mit der folgenden Grundlogik:
load *,
if(Equipment = previous(Equipment),
rangesum(Störungsdauer, peek('kum. Dauer')), Störungsdauer) as [kum. Dauer];
LOAD * INLINE [
Equipment, Störungsbeginn, Störungsdauer
123456789, 01.01.2020, 5
123456789, 05.01.2020, 5
123456789, 21.05.2020, 50
123456789, 20.06.2020, 30
];
Mit einem richtigen Daten-Load aus einer Tabelle, muss man diese in der Regel noch entsprechend sortieren, wie:
... order by Equipment, Störungsbeginn desc;
wofür man dann auch resident laden muss.
- Marcus