Dual - script- en grafiekfunctie
Dual() combineert een getal en een tekenreeks tot een enkele record, zodat de nummerweergave van de record kan worden gebruikt voor sorterings- en berekeningsdoeleinden, terwijl de tekenreekswaarde kan worden gebruikt voor weergavedoeleinden
Syntaxis:
Dual(text, number)
Retourgegevenstypen: dual
Argumenten:
Argument | Beschrijving |
---|---|
text | De tekenreekswaarde die moet worden gebruikt in combinatie met het getalargument. |
number | Het getal dat moet worden gebruikt in combinatie met het tekenreeksargument. |
In QlikView zijn alle veldwaarden mogelijk dubbele waarden. Dit betekent dat de veldwaarden zowel een numerieke waarde als een tekstuele waarde kunnen hebben. Een voorbeeld is een datum die een numerieke waarde 40908 en de tekstuele representatie '2011-12-31' zou kunnen hebben.
Als diverse gegevens die in één veld worden gelezen, verschillende tekenreeksweergaven hebben maar wel dezelfde geldige getalswaarde, delen ze allemaal de eerst aangetroffen tekenreeksweergave.
Voorbeeld 1:
Voeg de volgende voorbeelden toe aan uw script en voer het uit.
Load dual ( NameDay,NumDay ) as DayOfWeek inline
[ NameDay,NumDay
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,5
Sunday,6 ];
Het veld DayOfWeek kan worden gebruikt in een grafiek, als een dimensie, bijvoorbeeld. In een tabel met de weekdagen worden de dagen automatisch gesorteerd op juiste getalvolgorde in plaats van op alfabetische volgorde.
Voorbeeld 2:
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;
Dit voorbeeld retourneert het huidige kwartaal. Het wordt weergegeven als Q1 als de functie Now() wordt uitgevoerd in de eerste drie maanden van het jaar, als Q2 voor de tweede reeks van drie maanden enzovoort. Als het veld Quarter echter wordt gebruikt bij sorteren, gedraagt het zich als een numerieke waarde: 1 t/m 4.
Voorbeeld 3:
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter
Net als in het voorafgaande voorbeeld, wordt het veld Quarter gemaakt met de tekstwaarden 'Q1' t/m 'Q4' en worden hieraan de numerieke waarden 1 t/m 4 toegewezen. Als u dit in het script wilt gebruiken, moeten de waarden voor Date worden geladen.
Voorbeeld 4:
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek
In dit voorbeeld wordt een veld YearWeek gemaakt met tekstwaarden van het formulier '2012-W22' en wordt tegelijkertijd een numerieke waarde toegewezen die overeenkomt met het datumnummer van de eerste dag van de week, bijvoorbeeld: 41057. Als u dit in het script wilt gebruiken, moeten de waarden voor Date worden geladen.