Przeskocz do zawartości głównej

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).

Syntax:  

Dual(text, number)

Return data type: podwójny

Arguments:  

Argumenty Dual
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 QlikView 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'.

Gdy kilka elementów danych wczytanych do jednego pola ma różne reprezentacje w postaci ciągu, ale tę samą poprawną reprezentację liczbową, wówczas wszystkie one będą mieć tę samą pierwszą napotkaną reprezentację w postaci ciągu.

Porada: Funkcja dual jest zwykle używana wcześnie w skrypcie, zanim dane zostaną wczytane do określonego pola, w celu utworzenia pierwszej reprezentacji w postaci znakowej, która będzie pokazana na listach wartości.

Example 1:  

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ć zastosowane w wykresie, na przykład jako wymiar. W tabeli z dniami tygodnia dni są automatycznie sortowane według właściwego numeru kolejnego, nie w porządku alfabetycznym.

Example 2:  

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, gdy w drugich trzech miesiącach itp. Jeśli jednak pole Quarter jest używane w sortowaniu, będzie zachowywać się jak jego wartość liczbowa: od 1 do 4.

Example 3:  

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.

Example 4:  

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.