Esta función devuelve una hora calculada a partir de la hora hh, el minuto mm y el segundo ss.
Sintaxis:
MakeTime(hh [ , mm [ , ss ] ])
Tipo de datos que devuelve: dual
Argumentos
Argumento
Descripción
hh
La hora como un entero.
mm
El minuto como un entero.
Si no se especifica minuto, se presupone 00.
ss
El segundo como un entero.
Si no se especifica segundo, se presupone 00.
Cuándo se utiliza
La función maketime() se utiliza habitualmente en el script para generación de datos, para generar un campo de hora. A veces, cuando el campo de hora se deriva del texto de entrada, esta función puede servir para crear la hora usando sus componentes.
Estos ejemplos utilizan el formato de hora h:mm:ss. El formato de hora se especifica en la sentencia SET TimeFormat 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
maketime(22)
Devuelve 22:00:00.
maketime(22, 17)
Devuelve 22:17:00.
maketime(22,17,52 )
Devuelve 22:17:52.
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 en su navegador.
Ejemplo 1: maketime()
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, que se carga en una tabla llamada Transactions.
Horas de las transacciones, proporcionado en tres campos: hours, minutes y seconds.
La creación de un campo, transaction_time, que devuelve la hora en el formato de la variable del sistema TimeFormat.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
transaction_hour
transaction_minute
transaction_second
transaction_time
Tabla de resultados
transaction_hour
transaction_minute
transaction_second
transaction_time
2
52
22
2:52:22 AM
6
32
07
6:32:07 AM
9
25
23
9:25:23 AM
12
09
16
12:09:16 PM
17
55
22
5:55:22 PM
18
43
30
6:43:30 PM
21
43
41
9:43:41 PM
El campo transaction_time se crea en la instrucción load anterior utilizando la función maketime() e indicando los campos de hora, minuto y segundo como argumentos de la función.
A continuación la función combina y convierte estos valores en un campo de hora, devolviendo los resultados en el formato de la variable del sistema TimeFormat.
Ejemplo 2: función time()
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_time, que nos permitirá mostrar los resultados en el formato horario de 24 horas, sin modificar la variable del sistema TimeFormat.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
transaction_hour
transaction_minute
transaction_second
transaction_time
Tabla de resultados
transaction_hour
transaction_minute
transaction_second
transaction_time
2
52
22
2:52:22
6
32
07
6:32:07
9
25
23
9:25:23
12
09
16
12:09:16
17
55
22
17:55:22
18
43
30
18:43:30
21
43
41
21:43:41
En este caso, la función maketime() está anidada dentro de la función time(). El segundo argumento de la función time() establece el formato de los resultados de la función maketime() como el DD/MM/AAAA requerido h:mm:ss.
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, que se carga en una tabla llamada Transactions.
Horas de las transacciones, proporcionado en dos campos: hours y minutes.
La creación de un campo, transaction_time, que devuelve la hora en el formato de la variable del sistema TimeFormat.
Cree una medida de objeto gráfico, transaction_time, que devuelva una fecha en el formato h:mm:ss TT.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
transaction_hour
transaction_minute
Para calcular transaction_time, cree esta medida:
=maketime(transaction_hour,transaction_minute)
Tabla de resultados
transaction_hour
transaction_minute
=maketime(transaction_hour, transaction_minute)
2
52
2:52:00 AM
6
32
6:32:00 AM
9
25
9:25:00 AM
12
09
12:09:00 PM
17
55
5:55:00 PM
18
43
6:43:00 PM
21
43
9:43:00 PM
La medida transaction_time se crea en el objeto gráfico utilizando la función maketime() e insertando los campos de hora y minuto como argumentos de la función.
Luego, la función combina estos valores y se supone que los segundos son 00. Estos valores se convierten luego en un campo de hora, devolviendo los resultados en el formato de la variable del sistema TimeFormat.
Ejemplo 4: Escenario
Vista general
Cree un conjunto de datos de calendario para el mes de enero de 2022, desglosado en incrementos de ocho horas.
Script de carga
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
tmpCalendar:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 31;
Left join(tmpCalendar)
load
maketime((recno()-1)*8,00,00) as time
autogenerate 3;
Calendar:
load
timestamp(date + time) as timestamp
resident tmpCalendar;
drop table tmpCalendar;
Resultados
Tabla de resultados
timestamp
1/1/2022 12:00:00 AM
1/1/2022 8:00:00 AM
1/1/2022 4:00:00 PM
1/2/2022 12:00:00 AM
1/2/2022 8:00:00 AM
1/2/2022 4:00:00 PM
1/3/2022 12:00:00 AM
1/3/2022 8:00:00 AM
1/3/2022 4:00:00 PM
1/4/2022 12:00:00 AM
1/4/2022 8:00:00 AM
1/4/2022 4:00:00 PM
1/5/2022 12:00:00 AM
1/5/2022 8:00:00 AM
1/5/2022 4:00:00 PM
1/6/2022 12:00:00 AM
1/6/2022 8:00:00 AM
1/6/2022 4:00:00 PM
1/7/2022 12:00:00 AM
1/7/2022 8:00:00 AM
1/7/2022 4:00:00 PM
1/8/2022 12:00:00 AM
1/8/2022 8:00:00 AM
1/8/2022 4:00:00 PM
1/9/2022 12:00:00 AM
+ 68 filas más
La función autogenerate inicial crea un calendario que contiene todas las fechas de enero en una tabla llamada tmpCalendar.
Se crea una segunda tabla, que contiene tres registros. Para cada registro, se toma recno() – 1 (valores 0, 1, 2) y el resultado se multiplica por 8. Como resultado, esto genera los valores 0, 8 16. Estos valores se utilizan como parámetro de hora en una función maketime(), con valores de minutos y segundos de 0. Como resultado, la tabla contiene tres campos de hora: 12:00:00 a. m., 8:00:00 a. m. y 4:00: 00 p. m.
Esta tabla se une a la tabla tmpCalendar. Dado que no hay campos coincidentes entre las dos tablas para la combinación, las filas de hora se agregan a cada fila de fecha. Como resultado, cada fila de fecha ahora se repite tres veces con cada valor de tiempo.
Por último, la tabla Calendar se crea a partir de una carga residente de la tabla tmpCalendar. Los campos de fecha y hora se concatenan e indican en la función timestamp() para crear el campo de marca de tiempo.
Después, se elimina la tabla tmpCalendar.
¿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.