Esta función devuelve un valor correspondiente a una marca de tiempo del último milisegundo del último día de la semana natural que contiene a date. El formato de salida predefinido será el DateFormat definido en el script.
La función weekend() determina en qué semana cae la fecha. Luego devuelve una marca de tiempo, en formato de fecha, del último milisegundo de esa semana. El primer día de la semana viene determinado por la variable de entorno FirstWeekDay. No obstante, esto puede ser reemplazado por el argumento de first_week_day en la función weekend().
Argumentos
Argumento
Descripción
timestamp
La fecha o marca de tiempo para evaluar.
period_no
shift es un entero, donde el valor 0 indica la semana que contiene a date. Los valores negativos en el desplazamiento indican semanas precedentes y los valores positivos indican semanas subsiguientes.
first_week_day
Especifica el día en el que se inicia la semana. Si se omite, se utiliza el valor de la variable FirstWeekDay.
Los valores posibles para first_week_day son 0 para el lunes, 1 para el martes, 2 para el miércoles, 3 para el jueves, 4 para el viernes, 5 para el sábado y 6 para el domingo.
Para más información sobre la variable del sistema, vea FirstWeekDay
Cuándo se utiliza
La función weekend() se suele utilizar como parte de una expresión cuando el usuario desea que el cálculo utilice los días restantes de la semana para la fecha especificada. Por ejemplo, podría usarse si un usuario quisiera calcular el interés total aún no devengado durante la semana.
Los siguientes ejemplos suponen:
SET FirstWeekDay=0;
Ejemplo
Resultado
weekend('01/10/2013')
Devuelve 01/12/2013 23:59:59.
weekend('01/10/2013', -1)
Devuelve 01/05/2013 23:59:59..
weekend('01/10/2013', 0, 1)
Devuelve 01/14/2013 23:59:59.
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.
Ejemplos:
Si desea configuraciones ISO para semanas y números de semana, asegúrese de tener lo siguiente en el script:
Set DateFormat ='YYYY-MM-DD';
Set FirstWeekDay =0; // Monday as first week day
Set BrokenWeeks =0; //(use unbroken weeks)
Set ReferenceDay =4; // Jan 4th is always in week 1
Si desea la configuración de EE. UU., asegúrese de tener lo siguiente en el script:
Set DateFormat ='M/D/YYYY';
Set FirstWeekDay =6; // Sunday as first week day
Set BrokenWeeks =1; //(use broken weeks)
Set ReferenceDay =1; // Jan 1st is always in week 1
Los ejemplos anteriores dan como resultado lo siguiente, de la función weekend():
Ejemplo de la función Weekend
Fecha
Fin de semana ISO
Fin de semana EE. UU.
Sab 2020 Dic 26
2020-12-27
12/26/2020
Dom 2020 Dic 27
2020-12-27
1/2/2021
Lun 2020 Dic 28
2021-01-03
1/2/2021
Mar 2020 Dic 29
2021-01-03
1/2/2021
Mie 2020 Dic 30
2021-01-03
1/2/2021
Jue 2020 Dic 31
2021-01-03
1/2/2021
Vie 2021 Ene 1
2021-01-03
1/2/2021
Sab 2021 Ene 2
2021-01-03
1/2/2021
Dom 2021 Ene 3
2021-01-03
1/9/2021
Lun 2021 Ene 4
2021-01-10
1/9/2021
Mar 2021 Ene 5
2021-01-10
1/9/2021
Nota informativaLos fines de semana son los domingos en la columna ISO y los sábados en la columna de EE. UU.
Ejemplo 1: ejemplo básico
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 un conjunto de transacciones de 2022, que se carga en una tabla llamada "Transactions".
El campo de fecha proporcionado en el formato de la variable del sistema DateFormat: (MM/DD/AAAA).
La creación de un campo, end_of_week, que devuelve una marca de tiempo del final de la semana en que la transacción tuvo lugar.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
end_of_week
end_of_week_timestamp
Tabla de resultados
date
end_of_week
end_of_week_timestamp
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
El campo end_of_week se crea en la instrucción load anterior utilizando la función weekend() e introduciendo el campo de fecha como argumento de la función.
La función weekend() identifica en qué semana cae el valor de la fecha y devuelve una marca de tiempo del último milisegundo de esa semana.
La transacción 8191 tuvo lugar el 5 de febrero. La variable del sistema FirstWeekDay establece el primer día de la semana en domingo. La función weekend() identifica que el primer sábado después del 5 de febrero, y por lo tanto el final de la semana, fue el 5 de febrero. Por lo tanto, el valor de end_of_week de esa transacción devuelve el último milisegundo de ese día, que es el 5 de febrero a las 23:59:59.
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:
Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.
La creación de un campo, previous_week_end, que devuelve la marca de tiempo del inicio de la semana anterior a la transacción.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
previous_week_end
previous_week_end_timestamp
Tabla de resultados
date
end_of_week
end_of_week_timestamp
1/7/2022
01/01/2022
1/1/2022 11:59:59 PM
1/19/2022
01/15/2022
1/15/2022 11:59:59 PM
2/5/2022
01/29/2022
1/29/2022 11:59:59 PM
2/28/2022
02/26/2022
2/26/2022 11:59:59 PM
3/16/2022
03/12/2022
3/12/2022 11:59:59 PM
4/1/2022
03/26/2022
3/26/2022 11:59:59 PM
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
5/16/2022
05/14/2022
5/14/2022 11:59:59 PM
6/15/2022
06/11/2022
6/11/2022 11:59:59 PM
6/26/2022
06/25/2022
6/25/2022 11:59:59 PM
7/9/2022
07/02/2022
7/2/2022 11:59:59 PM
7/22/2022
07/16/2022
7/16/2022 11:59:59 PM
7/23/2022
07/16/2022
7/16/2022 11:59:59 PM
7/27/2022
07/23/2022
7/23/2022 11:59:59 PM
8/2/2022
07/30/2022
7/30/2022 11:59:59 PM
8/8/2022
08/06/2022
8/6/2022 11:59:59 PM
8/19/2022
08/13/2022
8/13/2022 11:59:59 PM
9/26/2022
09/24/2022
9/24/2022 11:59:59 PM
10/14/2022
10/08/2022
10/8/2022 11:59:59 PM
10/29/2022
10/22/2022
10/22/2022 11:59:59 PM
En este caso, debido a que se usó un period_no de -1 como argumento del desplazamiento en la función weekend(), la función primero identifica la semana en la que se realizan las transacciones. Luego busca una semana antes e identifica el último milisegundo de esa semana.
La transacción 8196 tuvo lugar el 15 de junio. La función weekend() identifica que la semana comienza el 12 de junio. Por lo tanto, la semana anterior finaliza el 11 de junio a las 23:59:59; este es el valor que devuelve para el campo previous_week_end.
Ejemplo 3: first_week_day
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.
El script de carga contiene el mismo conjunto de datos y escenario que el primer ejemplo. Sin embargo, en este ejemplo, debemos establecer el martes como el primer día de la semana laboral.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
end_of_week
end_of_week_timestamp
Tabla de resultados
date
end_of_week
end_of_week_timestamp
1/7/2022
01/10/2022
1/10/2022 11:59:59 PM
1/19/2022
01/24/2022
1/24/2022 11:59:59 PM
2/5/2022
02/07/2022
2/7/2022 11:59:59 PM
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
3/16/2022
03/21/2022
3/21/2022 11:59:59 PM
4/1/2022
04/04/2022
4/4/2022 11:59:59 PM
5/7/2022
05/09/2022
5/9/2022 11:59:59 PM
5/16/2022
05/16/2022
5/16/2022 11:59:59 PM
6/15/2022
06/20/2022
6/20/2022 11:59:59 PM
6/26/2022
06/27/2022
6/27/2022 11:59:59 PM
7/9/2022
07/11/2022
7/11/2022 11:59:59 PM
7/22/2022
07/25/2022
7/25/2022 11:59:59 PM
7/23/2022
07/25/2022
7/25/2022 11:59:59 PM
7/27/2022
08/01/2022
8/1/2022 11:59:59 PM
8/2/2022
08/08/2022
8/8/2022 11:59:59 PM
8/8/2022
08/08/2022
8/8/2022 11:59:59 PM
8/19/2022
08/22/2022
8/22/2022 11:59:59 PM
9/26/2022
09/26/2022
9/26/2022 11:59:59 PM
10/14/2022
10/17/2022
10/17/2022 11:59:59 PM
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
En este caso, como el argumento de first_week_date se utiliza en la función weekend(), establece el primer día de la semana en martes.
La transacción 8191 tuvo lugar el 5 de febrero. La función weekend() identifica que el primer lunes después de esta fecha (y, por lo tanto, el final de la semana y el valor devuelto) fue el 6 de febrero a las 23:59:59.
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.
El script de carga contiene el mismo conjunto de datos y escenario que el primer ejemplo. Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que devuelve una marca de tiempo del final de la semana en que se realizaron las transacciones se crea como una medida en un objeto gráfico de la aplicación.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión: date.
Para calcular el inicio de la semana en que se realiza una transacción, agregue las siguientes medidas:
=weekend(date)
=timestamp(weekend(date))
Tabla de resultados
date
=weekend(date)
=timestamp(weekend(date))
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
La medida end_of_week se crea en el objeto gráfico utilizando la función weekend() e introduciendo el campo de fecha como argumento de la función. La función weekend() identifica en qué semana cae el valor de la fecha y devuelve una marca de tiempo del último milisegundo de esa semana.
La transacción 8191 tuvo lugar el 5 de febrero. La variable del sistema FirstWeekDay establece el primer día de la semana en domingo. La función weekend() identifica que el primer sábado después del 5 de febrero, y por lo tanto el final de la semana, fue el 5 de febrero. Por lo tanto, el valor de end_of_week de esa transacción devuelve el último milisegundo de ese día, que es el 5 de febrero a las 23:59:59.
Ejemplo 5: Escenario
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 se carga en una tabla denominada Employee_Expenses.
Datos que consisten en ID de empleados, nombres de empleados y declaraciones o reclamaciones de gastos diarios promedio de cada empleado.
Al usuario final le gustaría tener un objeto gráfico que muestre, por ID y nombre de empleado, las reclamaciones de gastos estimadas que aún deberán presentarse durante el resto de la semana.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
employee_id
employee_name
Ahora cree una medida para calcular el interés acumulado:
=(weekend(today(1))-today(1))*avg_daily_claim
Establezca el Formato numérico de la medida en Moneda.
Tabla de resultados
employee_id
employee_name
=(weekend(today(1))-today(1))*avg_daily_claim
182
Mark
$90.00
183
Deryck
$75.00
184
Dexter
$75.00
185
Sydney
$162.00
186
Agatha
$108.00
Al utilizar la fecha de hoy como único argumento en la función weekend(), esta devuelve la fecha de finalización de la semana actual. Luego, al restar la fecha de hoy de la fecha de finalización de la semana, la expresión devuelve el número de días que quedan de esta semana.
A continuación, este valor se multiplica por la reclamación de gastos diarios promedio de cada empleado para calcular el valor estimado de las reclamaciones que se espera que haga cada empleado en la semana restante.
¿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.