Esta función devuelve un valor correspondiente a una marca de tiempo (fecha-hora) con el primer milisegundo del día contenido en el argumento time. El formato de salida predeterminado será el TimestampFormat establecido en el script.
Sintaxis:
DayStart(time[, [period_no[, day_start]])
Tipo de datos que devuelve: dual
Argumentos
Argumento
Descripción
time
La fecha/hora que se ha de evaluar.
period_no
period_no es un entero, o una expresión que devuelve un entero, donde el valor 0 indica el día que contiene a time. Los valores negativos en period_no indican días precedentes y los valores positivos indican días subsiguientes.
day_start
Para especificar que los días no comienzan a la medianoche, indique un desplazamiento como una fracción de un día en day_start. Por ejemplo, 0,125 para indicar las 3.00 am.
En otras palabras, para crear el desplazamiento, divida la hora de inicio por 24 horas. Por ejemplo, para que un día comience a las 7:00 am, utilice la fracción 7/24.
Cuándo se utiliza
La función daystart() se suele utilizar como parte de una expresión cuando el usuario desea que el cálculo utilice la fracción del día que ya ha transcurrido. Por ejemplo, se podría usar para calcular los salarios totales obtenidos por los empleados en el día hasta el momento.
Estos ejemplos utilizan el formato de fecha y hora 'M/D/YYYY h:mm:ss[.fff] TT'. El formato de fecha y hora se especifica en la sentencia SET TimeStamp en la parte superior de su script de carga de datos. Cambie el formato en los ejemplos según se ajuste a sus necesidades.
Ejemplos de funciones
Ejemplo
Resultado
daystart('01/25/2013 4:45:00 PM')
Devuelve 1/25/2013 12:00:00 AM.
daystart('1/25/2013 4:45:00 PM', -1)
Devuelve 1/24/2013 12:00:00 AM.
daystart('1/25/2013 16:45:00',0,0.5
)
Devuelve 1/25/2013 12:00:00 PM.
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. Para más información, vea Modificar la configuración regional para aplicaciones y scripts.
La configuración regional predeterminada en las aplicaciones se basa en el perfil de usuario. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Cloud. Qlik Cloud se mostrará en el mismo idioma que esté utilizando su navegador.
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 simple que contiene una lista de fechas, que se carga en una tabla denominada Calendar.
Se utiliza la variable predefinida del sistema TimeStampFormat ((M/D/YYYY h:mm:ss[.fff] TT).
Una instrucción load precedente que crea un campo adicional, llamado SOD_timestamp, mediante la función daystart().
Aparte de la fecha, no se proporcionan parámetros adicionales a la función.
Script de carga
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Calendar:
Load
date,
daystart(date) as SOD_timestamp
;
Load
date
Inline
[
date
03/11/2022 1:47:15 AM
03/12/2022 4:34:58 AM
03/13/2022 5:15:55 AM
03/14/2022 9:25:14 AM
03/15/2022 10:06:54 AM
03/16/2022 10:44:42 AM
03/17/2022 11:33:30 AM
03/18/2022 12:58:14 PM
03/19/2022 4:23:12 PM
03/20/2022 6:42:15 PM
03/21/2022 7:41:16 PM
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
SOD_timestamp
Tabla de resultados
date
SOD_timestamp
03/11/2022 1:47:15 AM
3/11/2022 12:00:00 AM
03/12/2022 4:34:58 AM
3/12/2022 12:00:00 AM
03/13/2022 5:15:55 AM
3/13/2022 12:00:00 AM
03/14/2022 9:25:14 AM
3/14/2022 12:00:00 AM
03/15/2022 10:06:54 AM
3/15/2022 12:00:00 AM
03/16/2022 10:44:42 AM
3/16/2022 12:00:00 AM
03/17/2022 11:33:30 AM
3/17/2022 12:00:00 AM
03/18/2022 12:58:14 PM
3/18/2022 12:00:00 AM
03/19/2022 4:23:12 PM
3/19/2022 12:00:00 AM
03/20/2022 6:42:15 PM
3/20/2022 12:00:00 AM
03/21/2022 7:41:16 PM
3/21/2022 12:00:00 AM
Como puede ver en la tabla anterior, la marca de tiempo (fecha-hora) del final del día se genera para cada fecha de nuestro conjunto de datos. La marca de tiempo está en el formato de la variable del sistema TimestampFormat M/D/YYYY h:mm:ss[.fff] TT.
Ejemplo 2: period_no
Vista general
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 contiene multas de aparcamiento, se carga en una tabla llamada Fines. El conjunto de datos incluye los siguientes campos:
id
due_date
number_plate
amount
Un load precedente usando la función daystart() y suministrando los tres parámetros: time, period_no y day_start. Este load precedente crea los siguientes dos nuevos campos de fecha:
Un campo de fecha early_repayment_period, que comienza siete días antes de la fecha de vencimiento del pago.
Un campo de fecha late_penalty_period, que comienza 14 días después de la fecha de vencimiento del pago.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
due_date
early_repayment_period
late_penalty_period
Tabla de resultados
due_date
early_repayment_period
late_penalty_period
02/11/2022 9:25:14 AM
2/4/2022 12:00:00 AM
2/25/2022 12:00:00 AM
03/25/2022 10:06:54 AM
3/18/2022 12:00:00 AM
4/8/2022 12:00:00 AM
04/14/2022 10:44:42 AM
4/7/2022 12:00:00 AM
4/28/2022 12:00:00 AM
06/28/2022 11:33:30 AM
6/21/2022 12:00:00 AM
7/12/2022 12:00:00 AM
08/15/2022 12:58:14 PM
8/8/2022 12:00:00 AM
8/29/2022 12:00:00 AM
11/16/2022 4:23:12 PM
11/9/2022 12:00:00 AM
11/30/2022 12:00:00 AM
01/17/2023 6:42:15 PM
1/10/2023 12:00:00 AM
1/31/2023 12:00:00 AM
03/22/2023 7:41:16 PM
3/15/2023 12:00:00 AM
4/5/2023 12:00:00 AM
Los valores de los nuevos campos están en TimestampFormat M/DD/YYYY tt. Como se utilizó la función daystart(), los valores de la marca de tiempo corresponden todos al primer milisegundo del día.
Los valores del período de amortización anticipada son siete días antes de la fecha de vencimiento, dado que el segundo argumento proporcionado en la función daystart() es negativo.
Los valores del período de pago atrasado son 14 días posteriores a la fecha de vencimiento, dado que el segundo argumento proporcionado en la función daystart() es positivo.
Ejemplo 3: day_start
Vista general
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:
Se utilizan el mismo conjunto de datos y escenario que en el ejemplo anterior.
El mismo load precedente que en el ejemplo anterior.
En este ejemplo, configuramos la jornada laboral para que comience y finalice a las 7:00 a. m. todos los días.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
due_date
early_repayment_period
late_penalty_period
Tabla de resultados
due_date
early_repayment_period
late_penalty_period
02/11/2022
2/3/2022 7:00:00 AM
2/24/2022 7:00:00 AM
03/25/2022
3/17/2022 7:00:00 AM
4/7/2022 7:00:00 AM
04/14/2022
4/6/2022 7:00:00 AM
4/27/2022 7:00:00 AM
06/28/2022
6/20/2022 7:00:00 AM
7/11/2022 7:00:00 AM
08/15/2022
8/7/2022 7:00:00 AM
8/28/2022 7:00:00 AM
11/16/2022
11/8/2022 7:00:00 AM
11/29/2022 7:00:00 AM
01/17/2023
1/9/2023 7:00:00 AM
1/30/2023 7:00:00 AM
03/22/2023
3/14/2023 7:00:00 AM
4/4/2023 7:00:00 AM
Las fechas ahora tienen una marca de las 7:00 a.m. porque el valor del argumento day_start indicado en la función daystart() era 7/24. Esto establece el comienzo del día a las 7:00 a. m.
Debido a que el campo due_date no tiene una marca de tiempo, se trata como las 12:00 a. m., que por lo tanto sigue siendo parte del día anterior, ya que los días comienzan y terminan a las 7:00 a. m. Por tanto, el plazo de amortización anticipada de una multa con vencimiento el 11 de febrero comienza el 3 de febrero a las 7:00 horas.
Ejemplo 4: ejemplo de objeto gráfico
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.
Este ejemplo utiliza el mismo conjunto de datos y escenario que el ejemplo anterior.
Sin embargo, solo la tabla Fines original se carga en la aplicación, y los dos valores de fechas de vencimiento adicionales se calculan en un objeto gráfico.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión: due_date.
Para crear el campo early_repayment_period, cree la siguiente medida.
=daystart(due_date,-7,7/24)
Para crear el campo late_penalty_period, cree la siguiente medida:
=daystart(due_date,14,7/24)
Tabla de resultados
due_date
=daystart(due_date,-7,7/24)
=daystart(due_date,14,7/24)
02/11/2022 9:25:14 AM
2/4/2022 7:00:00 AM
2/25/2022 7:00:00 AM
03/25/2022 10:06:54 AM
3/18/2022 7:00:00 AM
4/8/2022 7:00:00 AM
04/14/2022 10:44:42 AM
4/7/2022 7:00:00 AM
4/28/2022 7:00:00 AM
06/28/2022 11:33:30 AM
6/21/2022 7:00:00 AM
7/12/2022 7:00:00 AM
08/15/2022 12:58:14 PM
8/8/2022 7:00:00 AM
8/29/2022 7:00:00 AM
11/16/2022 4:23:12 PM
11/9/2022 7:00:00 AM
11/30/2022 7:00:00 AM
01/17/2023 6:42:15 PM
1/10/2023 7:00:00 AM
1/31/2023 7:00:00 AM
03/22/2023 7:41:16 PM
3/15/2023 7:00:00 AM
4/5/2023 7:00:00 AM
Los valores de los nuevos campos están en TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Como se utilizó la función daystart(), los valores de la marca de tiempo corresponden al primer milisegundo del día.
Los valores del período de amortización anticipada son siete días antes de la fecha de vencimiento, dado que el segundo argumento proporcionado en la función daystart() era negativo.
Los valores del período de pago atrasado son 14 días posteriores a la fecha de vencimiento, dado que el segundo argumento proporcionado en la función daystart() era positivo.
Las fechas marcan las 7:00 a. m. porque el valor del tercer argumento indicado en la función daystart(), day_start, era 7/24.
¿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.