Saltar al contenido principal Saltar al contenido complementario

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

Nota informativaTodos los valores de retorno duales están alineados a la derecha.
Argumentos
ArgumentoDescripción
textEl valor de la cadena que se ha de utilizar junto con el argumento de número.
numberEl 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'.

Nota informativaCuando varios elementos de datos de un campo tienen diferentes representaciones de cadena pero una misma representación numérica válida, compartirán todos ellos la primera representación de cadena de caracteres que se encuentre.
Nota de sugerenciaLa función dual normalmente se usa al principio del script, antes de que se lean otros datos en el campo correspondiente, a fin de crear esa primera representación de cadena, que se mostrará en los paneles de filtrado.
Ejemplo: Expresiones de gráficos
EjemploDescripció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: scripts de carga
EjemploDescripció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 QuarterComo 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 YearWeekEste 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.

Ejemplo: fundamentos de Dual

Ejemplo: uso de Dual

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.