Dual - función de script y de gráfico
Dual() combina un número y una cadena en un solo registro, de manera que la representación numérica del registro se puede utilizar con fines de ordenación y cálculo, mientras que el valor de la cadena se puede usar para fines de visualización.
Sintaxis:
Dual(text, number)
Tipo de datos que devuelve: dual
Argumento | Descripción |
---|---|
text | El valor de la 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 Qlik Sense, 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 es una fecha que podría tener un valor numérico 40908 y la representación textual '2011-12-31'.
Ejemplo | Descripción |
---|---|
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) | El campo DayOfWeek puede utilizarse en una visualización como una dimensión. En una tabla, los días de la semana se ordenan automáticamente en su secuencia numérica correcta, en lugar de por orden alfabético. |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | El campo Priority puede utilizarse en una visualización como una dimensión. En una tabla, el campo Priority se ordena automáticamente en su secuencia numérica correcta, en lugar de por orden alfabético. |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | El campo Date puede utilizarse en una visualización como una dimensión. Se crean los valores de texto de Q1 a Q4 y se les asignan los valores numéricos de 1 a 4. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | El campo Date puede utilizarse en una visualización como una dimensión. Este ejemplo crea valores de texto de la forma '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. |
Ejemplo | Descripción |
---|---|
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 en una visualización como dimensión, por ejemplo. En una tabla, los días de la semana se ordenan automáticamente en su secuencia numérica correcta, en lugar de por orden alfabético. |
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1; | Este ejemplo halla el trimestre actual. Aparece como Q1 cuando se ejecuta la función Ahora en los tres primeros meses del año, Q2 para los tres segundos meses, y así sucesivamente. Sin embargo, cuando se utiliza en la ordenación, el campo Quarter se comportará como su valor numérico: 1 a 4. |
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 usar esto en el script deben cargarse los valores de Date. |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | Este ejemplo crea un campo YearWeek con valores de texto de la forma 2012-W22 y, al mismo tiempo, asigna un valor numérico correspondiente al número de la fecha del primer día de la semana, por ejemplo: 41057. Para usar esto en el script deben cargarse los valores de Date. |