Um innerhalb von Qlik Datenbereiche zu gruppieren, haben Sie drei Möglichkeiten.
Variante 1 – Verschachteltes if else
Der traditionelle und auf aufwendigste Weg ist eine verschachtelte if else Anweisung.
if(Preis < 10 and Preis > 0,'0-10', if( Preis > 10 and Preis < 30, '10-30', //usw
))
Variante 2 – die class() Funktion
class(Preis,10)
Variante 3 – die intervalMatch() Funktion
Für den IntervalMatch benötigen zunächst eine Tabelle welche die Start und Stopwerte der Intervalle definieren. Diese Tabelle wird später vom IntervalMatch() genutzt um den jeweiligen Wert (in unserem Beispiel Preis) den jeweiligen Start / Stopwerten zuzuordnen. Dazu muss das Ergebnis des IntervalMatch mit einen left join wieder in die Tabelle mit den Start / Stopwerten eingefügt werden.
Das ganze sieht dann so aus:
//Tabelle mit Start / Stopwerten
Load ID, Preis //, usw.
From Fakten.qvd;
Preisgruppen:
Load * INLINE [
Start, Stop, Preisgruppe
0 ," 9,9999", 0 < 10
10 ,"29.9999", 10 < 30
30 , , über 30
];
intervalMatch(Preis)
left join(Preisgruppen)
Load Start, Stop Resident Preisgruppen;