Dual - función de script y de gráfico
Dual() combina un número y una cadena de caracteres en un solo registro, de modo que la representación numérica del registro puede utilizarse para ordenar y hacer cálculos, mientras que el valor de la cadena puede utilizarse con fines de visualización.
Sintaxis:
Dual(text, number)
Tipo de datos que devuelve: dual
Argumentos:
Argumento | Descripción |
---|---|
text | El valor de cadena que se ha de utilizar junto con el argumento de número. |
number | El número que se ha de utilizar junto con la cadena en el argumento de número. |
En QlikView, todos los valores de campo son potencialmente valores duales. Esto significa que los valores de campo pueden tener un valor tanto numérico como de texto. Un ejemplo lo constituiría una fecha, que podría tener un valor numérico de 40908 y la representación textual '2011-12-31'.
Cuando varios elementos de datos leídos en un solo campo tienen distintas representaciones de cadena, pero una misma representación numérica válida, compartirán todos la primera representación de cadena que se encuentre.
Ejemplo 1:
Añada los ejemplos siguientes a su script y ejecútelo.
Load dual ( NameDay,NumDay ) as DayOfWeek inline
[ NameDay,NumDay
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,5
Sunday,6 ];
El campo DayOfWeek puede utilizarse como una dimensión en un gráfico. Por ejemplo, en una tabla de semana los días se ordenan automáticamente según su secuencia numérica correcta, y no por orden alfabético.
Ejemplo 2:
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;
Este ejemplo halla el trimestre actual. Se muestra como Q1 cuando la función Now() se ejecuta en los tres primeros meses del año, Q2 en los segundos tres meses, etc. No obstante, cuando se utilice en la ordenación, el campo Quarter se comportará como su valor numérico: de 1 a 4.
Ejemplo 3:
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter
Como en el ejemplo anterior, el campo Quarter se crea con los valores de texto 'Q1' a 'Q4', y se le asignan los valores numéricos 1 a 4. Para utilizar esto en el script, se deben cargar los valores de Date.
Ejemplo 4:
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek
Este ejemplo crea un campo YearWeek con valores de texto en el formato '2012-W22' y al mismo tiempo asigna un valor numérico correspondiente al número de fecha del primer día de la semana, por ejemplo: 41057. Para utilizar esto en el script, se deben cargar los valores de Date.