Dual – função de script e gráfico
Dual() combina um número e uma string em um único registro, de modo que representação numérica do registro possa ser usada para classificar e calcular propósitos, enquanto o valor da string seja usado para exibir propósitos
Sintaxe:
Dual(text, number)
Tipo de dados de retorno: dual
Argumentos:
Argumento | Descrição |
---|---|
text | O valor da string a ser usado em combinação com o argumento numérico. |
number | O número a ser usado em combinação com a string na string de argumento. |
No QlikView, todos os valores de campo são potencialmente valores duais. Isso significa que os valores de campo podem ter tanto um valor numérico quanto um valor textual. Um exemplo é uma data que poderia ter um valor numérico de 40908 e a representação textual '2011-12-31'.
Quando vários itens de dados lidos em um campo tiverem diferentes representações de string, mas a mesma representação numérica válida, eles compartilharão a primeira representação de string encontrada.
Exemplo 1:
Adicione os seguintes exemplos ao seu script e execute-o.
Load dual ( NameDay,NumDay ) as DayOfWeek inline
[ NameDay,NumDay
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,5
Sunday,6 ];
O campo DayOfWeek pode ser usado em um gráfico, como uma dimensão, por exemplo. Em uma tabela com os dias da semana, eles são classificados automaticamente na sequência numérica correta, em vez da ordem alfabética.
Exemplo 2:
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;
Este exemplo localiza o trimestre atual. Ele é exibido como Q1 quando a função Now() for executada nos primeiros três meses do ano, Q2 para o segundo trimestre, e assim por diante. No entanto, quando usado em classificação, o campo Quarter terá o mesmo comportamento que seu valor numérico: 1 a 4.
Exemplo 3:
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter
Como no exemplo anterior, o campo Quarter é criado com os valores de texto 'Q1' a 'Q4' e são atribuídos os valores numéricos 1 a 4. Para usar isso no script, os valores de Date devem ser carregados.
Exemplo 4:
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek
Esse exemplo criará um campo YearWeek com os valores textuais da forma '2012-W22' e, ao mesmo tempo, atribuirá um valor numérico correspondente ao número de data do primeiro dia da semana, como, por exemplo: 41057. Para usar isso no script, os valores de Date devem ser carregados.