Dual — funkcja skryptu i funkcja wykresu
Funkcja Dual() łączy liczbę i ciąg znaków w jeden rekord, dzięki czemu liczbowa reprezentacja rekordu może zostać użyta na potrzeby sortowania i obliczania (wartość ciągu znaków może natomiast zostać użyta do celów wyświetlania).
Składnia:
Dual(text, number)
Typ zwracanych danych: wartość podwójna
Argument | Opis |
---|---|
text | Wartość ciągu znaków używana w kombinacji z argumentem liczbowym. |
number | Liczba używana w kombinacji z ciągiem w argumencie ciągu. |
W aplikacji Qlik Sense wszystkie wartości pola są potencjalnie wartościami podwójnymi. Oznacza to, że wartości pola mogą mieć zarówno wartość liczbową, jak i tekstową. Przykładem może być data, która może mieć wartość liczbową 40908 i reprezentację tekstową '2011-12-31'.
Przykład | Opis |
---|---|
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) | Pole DayOfWeek może być używane w wizualizacji na przykład jako wymiar. W tabeli dni tygodnia są automatycznie sortowane według właściwego numeru kolejnego, a nie w porządku alfabetycznym. |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | Pole Priority może być używane w wizualizacji na przykład jako wymiar. W tabeli pole Priority jest automatycznie sortowane według właściwego numeru kolejnego, a nie w porządku alfabetycznym. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | Pole Date może być używane w wizualizacji na przykład jako wymiar. Wartości tekstowe od Q1 do Q4 są tworzone i mają przypisywane wartości liczbowe od 1 do 4. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | Pole Date może być używane w wizualizacji na przykład jako wymiar. W tym przykładzie tworzone są wartości tekstowe w formie '2012-W22', a jednocześnie przypisywana jest wartość liczbowa odpowiadająca numerowi daty pierwszego dnia tygodnia, na przykład: 41057 |
Przykład | Opis |
---|---|
Dodaj poniższe przykłady do skryptu i uruchom go. Load dual ( NameDay,NumDay ) as DayOfWeek inline [ NameDay,NumDay Monday,0 Tuesday,1 Wednesday,2 Thursday,3 Friday,4 Saturday,5 Sunday,6 ]; | Pole DayOfWeek może być używane w wizualizacji na przykład jako wymiar. W tabeli dni tygodnia są automatycznie sortowane według właściwego numeru kolejnego, a nie w porządku alfabetycznym. |
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1; | Na tym przykładzie wyszukiwany jest bieżący kwartał. Jest on wyświetlany jako Q1, gdy funkcja Now jest uruchamiana w pierwszych trzech miesiącach roku, Q2 w drugich trzech miesiącach itd. Jeśli jednak pole Quarter jest używane w sortowaniu, będzie zachowywać się jak jego wartość liczbowa: od 1 do 4. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter | Podobnie jak w poprzednim przykładzie pole Quarter jest tworzone z wartościami tekstowymi od Q1 do Q4 i są do niego przypisywane wartości liczbowe od 1 do 4. Aby użyć go w skrypcie, należy załadować wartości dla Date. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | W tym przykładzie tworzone jest pole YearWeek z wartościami tekstowymi formularza 2012-W22, a jednocześnie przypisywana jest wartość liczbowa odpowiadająca numerowi daty pierwszego dnia tygodnia, na przykład: 41057. Aby użyć go w skrypcie, należy załadować wartości dla Date. |