Dual - skript- och diagramfunktion
Dual() kombinerar ett tal och en sträng till en enda post, så att talåtergivningen av posten kan användas för sortering och beräkning, samtidigt som strängvärdet kan användas för visning.
Syntax:
Dual(text, number)
Returnerad datatyp: dual
Argument | Beskrivning |
---|---|
text | Strängvärdet som ska användas i kombination med talargumentet. |
number | Talet som ska användas i kombination med strängen i strängargumentet. |
I Qlik Sense är alla fältvärden potentiellt duala värden. Detta innebär att fältvärdena både kan ha ett numeriskt värde och ett textvärde. Exempelvis kan ett datum ha det numeriska värdet 40908 och textrepresentationen '2011-12-31'.
Exempel | Beskrivning |
---|---|
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) | Fältet DayOfWeek kan användas i en visualisering som en dimension. I en tabell sorteras veckodagarna automatiskt i rätt nummerordning, istället för i alfabetisk ordning. |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | Fältet Priority kan användas i en visualisering som en dimension. I en tabell sorteras fältet Priority automatiskt i rätt nummerordning, istället för i alfabetisk ordning. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | Fältet Date kan användas i en visualisering som en dimension. Textvärdena Q1 till Q4 skapas och tilldelas de numeriska värdena 1 till 4. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | Fältet Date kan användas i en visualisering som en dimension. Det här exemplet skapar textvärden med formen '2012-W22' och tilldelar samtidigt ett numeriskt värde som motsvarar datumtal för veckans första dag, exempelvis: 41057 |
Exempel | Beskrivning |
---|---|
Lägg till följande exempel i skriptet och kör det. Load dual ( NameDay,NumDay ) as DayOfWeek inline [ NameDay,NumDay Monday,0 Tuesday,1 Wednesday,2 Thursday,3 Friday,4 Saturday,5 Sunday,6 ]; | Fältet DayOfWeek kan t.ex. användas i en visualisering som en dimension. I en tabell sorteras veckodagarna automatiskt i rätt nummerordning, istället för i alfabetisk ordning. |
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1; | Det här exemplet letar rätt på aktuellt kvartal. Det visas som Q1 när funktionen Nu körs under de första tre månaderna på året, Q2 för de följande tre månaderna och så vidare. Om du använder sortering kommer dock fältet Quarter att fungera som sitt numeriska värde 1 till 4: |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter | Som i tidigare exempel skapas fältet Quarter med textvärdena Q1 till Q4, och tilldelas de numeriska värdena 1 till 4. För att kunna använda detta i skriptet måste värdena för Date laddas. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | Det här exemplet skapar ett fält YearWeek med textvärden i formen 2012-W22 och tilldelar samtidigt ett numeriskt värde som motsvarar datumnumret för veckans första dag, exempelvis: 41057. För att kunna använda detta i skriptet måste värdena för Date laddas. |