La función inday() utiliza el argumento base_timestamp para identificar en qué día cae la marca de tiempo. La hora de inicio del día es, por defecto, la medianoche; pero puede cambiar la hora de inicio del día utilizando el argumento day_start de la función inday(). Una vez definido este día, la función devolverá resultados booleanos al comparar los valores de las marcas de tiempo prescritas con ese día.
Cuándo se utiliza
La función inday() devuelve un resultado booleano. Normalmente, este tipo de función se utilizará como condición en una expresión if (if expression). Esto devuelve una agregación o cálculo dependiente de si una fecha evaluada ocurrió en el día de la marca de tiempo en cuestión.
Por ejemplo, la función inday() puede utilizarse para identificar todos los equipos fabricados en un día determinado.
Tipo de datos que devuelve: Booleano
En Qlik Sense, el valor booleano verdadero viene representado por -1 y el valor falso está representado por 0.
Argumentos
Argumento
Descripción
timestamp
La fecha y la hora que desea comparar con base_timestamp.
base_timestamp
La fecha y hora que se utiliza para evaluar la fecha-hora.
period_no
El día puede desplazarse mediante period_no. period_no es un entero, en el que el valor 0 indica el día que contiene a base_timestamp. Los valores negativos en period_no indican días precedentes y los valores positivos indican días subsiguientes.
day_start
Si desea trabajar con días que no comiencen a medianoche, indique un desplazamiento como una fracción de un día en day_start, por ejemplo, 0,125 para indicar las 3 AM.
Configuraciones regionales
A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos.
La configuración regional predeterminada en las aps se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando su navegador.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
in_day
Tabla de resultados
date
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
El campo in_day se crea en la sentencia load anterior utilizando la función inday() e introduciendo el campo de fecha, una marca de tiempo codificada para el 5 de enero y un period_no de 0 como argumentos de la función.
Ejemplo 2: period_no
Vista general
El script de carga utiliza el mismo conjunto de datos y el mismo escenario que se utilizó en el primer ejemplo.
Sin embargo, en este ejemplo, la tarea consiste en calcular si la fecha de la transacción ocurrió dos días antes del 5 de enero.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
in_day
Tabla de resultados
date
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
-1
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
0
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
En este caso, como se utiliza un period_no de -2 como argumento de desplazamiento en la función inday(), esta determina si cada fecha de transacción tuvo lugar el 3 de enero. Esto se puede verificar en la tabla de salida, donde una transacción devuelve un resultado booleano TRUE.
Ejemplo 3: day_start
Vista general
El script de carga utiliza el mismo conjunto de datos y el mismo escenario que se utilizó en los ejemplos anteriores.
Sin embargo, en este ejemplo, la política de la empresa es que la jornada laboral comienza y termina a las 7 de la mañana.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
in_day
Tabla de resultados
date
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
-1
01/04/2022 10:58:34 PM
-1
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
Como el argumento de start_day de 7/24, que es 7 AM, se utiliza en la función inday(), esta determina si cada fecha de transacción tuvo lugar el 4 de enero a partir de las 7 AM y el 5 de enero antes de las 7 AM.
Esto se puede verificar en la tabla de salida, donde las transacciones que tienen lugar después de las 7 de la mañana del 4 de enero devuelven un resultado booleano de mientras que las transacciones que tienen lugar después de las 7 de la mañana del 5 de enero devuelven un resultado booleano FALSE.
Ejemplo 4 : Objeto gráfico
Vista general
El script de carga utiliza el mismo conjunto de datos y el mismo escenario que se utilizó en los ejemplos anteriores.
Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. Haremos un cálculo para ver si una transacción tiene lugar el 5 de enero creando una medida en un objeto gráfico.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:
date
Para calcular si una transacción tiene lugar el 5 de enero, cree la siguiente medida:
=inday(date,'01/05/2022 12:00:00 AM',0)
Tabla de resultados
date
inday(date,'01/05/2022 12:00:00 AM',0)
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Ejemplo 5: Escenario
Vista general
En este ejemplo, se ha identificado que, debido a un error del equipo, los productos que se fabricaron el 5 de enero eran defectuosos. El usuario final desea un objeto gráfico que muestre, por fecha, el estado de los productos fabricados "defectuosos" o "sin defectos" y el coste de los productos fabricados el 5 de enero.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla llamada "Productos".
La función inday() devuelve un valor booleano al evaluar las fechas de fabricación de cada uno de los productos. Para cualquier producto fabricado el 5 de enero, la función inday() devuelve un valor booleano de TRUE y marca los productos como "defectuosos". Para cualquier producto que devuelva un valor de FALSO, y que por lo tanto no se haya fabricado ese día, marca los productos como "Sin defectos".
¿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.