Dual - Skript- und Diagrammfunktion
Dual() kombiniert eine Zahl und einen String in einem einzelnen Datensatz, sodass die Zahlendarstellung des Datensatzes zur Sortierung und Berechnung verwendet und der Stringwert zu Darstellungszwecken genutzt werden kann.
Syntax:
Dual(text, number)
Rückgabe Datentyp: dual
Argument | Beschreibung |
---|---|
text | Der Stringwert, der in Verbindung mit dem Zahlenargument verwendet werden soll. |
number | Die Zahl, die in Verbindung mit dem String im Stringargument verwendet werden soll. |
In Qlik Sense sind alle Feldwerte potenziell duale Werte. Die Feldwerte können demnach sowohl einen numerischen als auch einen Textwert haben. Z. B. kann ein Datum einen numerischen Wert von 40908 und den Textwert von '2011-12-31' haben.
Beispiel | Beschreibung |
---|---|
Dual(IF(DayOfWeek = 0, 'Monday', IF(DayOfWeek = 1, 'Tuesday', If(DayOfWeek = 2 ,'Wednesday', If(DayOfWeek = 3 ,'Thursday', If(DayOfWeek = 4 ,'Friday', If(DayOfWeek = 5 ,'Saturday', If(DayOfWeek = 6 ,'Sunday' ))))))), DayOfWeek) | Das Feld DayOfWeek kann z. B. in einer Visualisierung als Dimension verwendet werden. In einer Tabelle werden die Wochentage automatisch in der richtigen numerischen anstatt der alphabetischen Reihenfolge sortiert. |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | Das Feld Priority kann z. B. in einer Visualisierung als Dimension verwendet werden. In einer Tabelle wird das Feld Priority automatisch in der richtigen numerischen anstatt der alphabetischen Reihenfolge sortiert. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | Das Feld Date kann z. B. in einer Visualisierung als Dimension verwendet werden. Die Textwerte Q1 bis Q4 werden erstellt und den numerischen Werten 1 bis 4 zugewiesen. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | Das Feld Date kann z. B. in einer Visualisierung als Dimension verwendet werden. In diesem Beispiel werden Textwerte im Format '2012-W22' erstellt und gleichzeitig ein Zahlenwert zugewiesen, welcher der Datumszahl des ersten Wochentags entspricht, wie zum Beispiel: 41057 |
Beispiel | Beschreibung |
---|---|
Fügen Sie Ihrem Skript die folgenden Beispiele hinzu und führen Sie es aus. Load dual ( NameDay,NumDay ) as DayOfWeek inline [ NameDay,NumDay Monday,0 Tuesday,1 Wednesday,2 Thursday,3 Friday,4 Saturday,5 Sunday,6 ]; | Das Feld DayOfWeek kann z. B. in einer Visualisierung als Dimension verwendet werden. In einer Tabelle werden die Wochentage automatisch in der richtigen numerischen anstatt der alphabetischen Reihenfolge sortiert. |
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1; | Dieses Beispiel liefert das aktuelle Quartal. Es wird als Q1 angezeigt, wenn die Funktion Now in den ersten drei Monaten des Jahres ausgeführt wird, als Q2 für die nächsten drei Monate usw. Wenn es zur Sortierung verwendet wird, verhält sich das Feld Quarter wie ein numerischer Wert: 1 bis 4. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter | Wie im vorherigen Beispiel wird das Feld Quarter mit den Textwerten Q1 bis Q4 erstellt und erhält die numerischen Werte 1 bis 4. Damit dies im Skript verwendet werden kann, müssen die Werte für Date geladen werden. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | Dieses Beispiel erstellt ein Feld YearWeek mit Textwerten in der Form 2012-W22 und weist gleichzeitig einen Zahlenwert zu, welcher der Datumszahl des ersten Wochentags entspricht, wie zum Beispiel: 41057. Damit dies im Skript verwendet werden kann, müssen die Werte für Date geladen werden. |