Funciones de extracción

Las funciones de extracción extraen subcampos de fechas o intervalos de tiempo, apuntando al día o a una hora de un valor de fecha. Esto le permite clasificar los eventos por día de la semana, temporada, turno, etc.

Cada función de extracción empieza por XDATE, seguida de un punto, el nombre de la subfunción (lo que desea extraer) y un argumento.

XDATE.DATE. XDATE.DATE(valor_fecha). Numérico. Devuelve la porción de fecha de un valor numérico que representa una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha. Para mostrar el resultado como una fecha, aplique un formato de fecha a la variable.

XDATE.HOUR. XDATE.HOUR(hora_fecha). Numérico. Devuelve la hora (un entero entre 0 y 23) a partir de un valor que representa un tiempo o una fecha. El argumento puede ser un número, una variable de tiempo o de fecha, o una expresión que se evalúa como un valor de tiempo o fecha.

XDATE.JDAY. XDATE.JDAY(valor_fecha). Numérico. Devuelve el día del año (un entero entre 1 y 366) a partir de un valor numérico que representa una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

XDATE.MDAY. XDATE.MDAY(valor_fecha). Numérico. Devuelve el día del mes (un entero entre 1 y 31) a partir de un valor numérico que representa una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

XDATE.MINUTE. XDATE.MINUTE(hora_fecha). Numérico. Devuelve el minuto (un entero entre 0 y 59) a partir de un valor que representa un tiempo o una fecha. El argumento puede ser un número, o una variable de fecha o una expresión evaluable como un valor de fecha o de tiempo.

XDATE.MONTH. XDATE.MONTH(valor_fecha). Numérico. Devuelve el mes (un entero entre 1 y 12) a partir de un valor numérico que representa una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

XDATE.QUARTER. XDATE.QUARTER(valor_fecha). Numérico. Devuelve el trimestre del año (un entero entre 1 y 4) a partir de un valor numérico que represente una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

XDATE.SECOND. XDATE.SECOND(hora_fecha). Numérico. Devuelve el segundo (un número entre 0 y 60) a partir de un valor que represente un tiempo o una fecha. El argumento puede ser un número, una variable de tiempo o de fecha, o una expresión que se evalúa como un valor de tiempo o fecha.

XDATE.TDAY. XDATE.TDAY(valor_hora). Numérico. Devuelve el número de días completos (como un entero) a partir de un valor numérico que represente un intervalo de tiempo. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable como un intervalo de tiempo.

XDATE.TIME. XDATE.TIME(hora_fecha). Numérico. Devuelve la porción de tiempo a partir de un valor que represente un tiempo o una fecha. El argumento puede ser un número, una variable de tiempo o de fecha, o una expresión que se evalúa como un valor de tiempo o fecha. Para mostrar el resultado como un tiempo, aplique un formato de tiempo a la variable.

XDATE.WEEK. XDATE.WEEK(valor_fecha). Numérico. Devuelve el número de la semana (un entero entre 1 y 53) a partir de un valor numérico que represente una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

XDATE.WKDAY. XDATE.WKDAY(valor_fecha). Numérico. Devuelve el número del día de la semana (un entero entre 1, domingo, y 7, sábado) a partir de un valor numérico que represente una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

XDATE.YEAR. XDATE.YEAR(valor_fecha). Numérico. Devuelve el año (un entero de cuatro dígitos) a partir de un valor numérico que represente una fecha. El argumento puede ser un número, una variable con formato de fecha o una expresión evaluable a una fecha.

Ejemplo

DATA LIST FREE (",") 
  /StartDateTime (datetime25).
BEGIN DATA
29-OCT-2003 11:23:02
1 January 1998 1:45:01
21/6/2000 2:55:13
END DATA.
COMPUTE dateonly=XDATE.DATE(StartDateTime).
FORMATS dateonly(ADATE10).
COMPUTE hour=XDATE.HOUR(StartDateTime).
COMPUTE DayofWeek=XDATE.WKDAY(StartDateTime).
COMPUTE WeekofYear=XDATE.WEEK(StartDateTime).
COMPUTE quarter=XDATE.QUARTER(StartDateTime).
  • La parte de fecha extraída con XDATE.DATE devuelve una fecha expresada en segundos; por lo tanto, FORMATS se utiliza para visualizar la fecha en un formato de fecha legible.
  • El día de la semana es un entero entre 1 (domingo) y 7 (sábado).
  • La semana del año es un entero entre 1 y 53 (1-7 de enero = 1).