Esta función devuelve una fecha calculada a partir del año YYYY, el mes MM y el día DD.
Sintaxis:
MakeDate(YYYY [ , MM [ , DD ] ])
Tipo de datos que devuelve: dual
Argumentos
Argumento
Descripción
YYYY
El año como un entero.
MM
El mes como un entero. Si no se especifica un mes, se presupone 1 (Enero).
DD
El día como un entero. Si no se define día alguno, se presupone 1 (el primero de mes).
Cuándo se utiliza
La función makedate() se utiliza habitualmente en el script para generación de datos, para generar un calendario. También puede utilizarse cuando el campo de fecha no está disponible directamente como fecha, pero necesita algunas transformaciones para extraer los componentes de año, mes y día.
Estos ejemplos utilizan el formato de fecha MM/DD/AAAA. El formato de fecha se especifica en la sentencia SET DateFormat 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
makedate(2012)
Devuelve 01/01/2012.
makedate(12)
Devuelve 01/01/2012.
makedate(2012,12)
Devuelve 12/01/2012.
makedate(2012,2,14)
Devuelve 02/14/2012.
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.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
transaction_year
transaction_month
transaction_day
transaction_date
Tabla de resultados
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
08/30/2018
2018
09
07
09/07/2018
2018
09
16
09/16/2018
2018
09
22
09/22/2018
2018
09
23
09/23/2018
El campo transaction_date se crea en la instrucción load anterior utilizando la función makedate() e introduciendo los campos de año, mes y día como argumentos de la función.
Luego la función combina y convierte estos valores en un campo de fecha, devolviendo los resultados en el formato de la variable del sistema DateFormat.
Ejemplo 2: formato de fecha modificado
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, transaction_date, en el formato DD/MM/AAAA, sin modificar la variable del sistema DateFormat.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
transaction_year
transaction_month
transaction_day
transaction_date
Tabla de resultados
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
30/08/2018
2018
09
07
07/09/2018
2018
09
16
16/09/2018
2018
09
22
22/09/2018
2018
09
23
23/09/2018
En este caso, la función makedate() está anidada dentro de la función date(). El segundo argumento de la función date() establece el formato de los resultados de la función makedate() como el DD/MM/AAAA requerido.
Ejemplo 3: ejemplo de objeto gráfico
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 2018, que se carga en una tabla llamada Transactions.
Las fechas de transacción proporcionadas en dos campos: year y month.
Cree una medida de objeto gráfico, transaction_date, que devuelva una fecha en el formato MM/DD/AAAA.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
year
month
Para averiguar la transaction_date, cree esta medida:
=makedate(transaction_year,transaction_month)
Tabla de resultados
transaction_year
transaction_month
transaction_date
2018
08
08/01/2018
2018
09
09/01/2018
La medida transaction_date se crea en el objeto gráfico utilizando la función makedate() e indicando los campos de año y mes como argumentos de la función.
La función luego combina estos valores, así como el valor del día asumido de 01. Estos valores luego se convierten en un campo de fecha, devolviendo los resultados en el formato de la variable del sistema DateFormat.
Ejemplo 4: Escenario
Vista general
Cree un conjunto de datos de calendario para el año natural de 2022.
Script de carga
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 400;
Resultados
Tabla de resultados
date
01/01/2022
01/02/2022
01/03/2022
01/04/2022
01/05/2022
01/06/2022
01/07/2022
01/08/2022
01/09/2022
01/10/2022
01/11/2022
01/12/2022
01/13/2022
01/14/2022
01/15/2022
01/16/2022
01/17/2022
01/18/2022
01/19/2022
01/20/2022
01/21/2022
01/22/2022
01/23/2022
01/24/2022
01/25/2022
+ 340 filas más
La función makedate() crea un valor de fecha para el 31 de diciembre de 2021. La función recno() proporciona el número de registro del registro actual que se está cargando en la tabla, comenzando desde 1. Por lo tanto, el primer registro tiene la fecha del 1 de enero de 2022. Cada fecha sucesiva recno() incrementará esta fecha en 1. Esta expresión va incluida en una función date() para convertir el valor en una fecha. La función autogenerate repite este proceso 400 veces. Por último, usando un load anterior, se puede aplicar una condición where para que cargue solo fechas del año 2022. Este script genera un calendario que contiene todas las fechas en 2022.
¿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.