Las funciones de fecha y hora manipulan los datos según DATE
y DATETIME
.
Función | Ejemplo | Descripción | Sintaxis |
---|---|---|---|
CURRENT_Date |
|
Devuelve la fecha actual. La fecha se determina en el sistema donde se ejecuta Oracle BI. |
|
CURRENT_TIME |
|
Devuelve la hora actual al número especificado de dígitos de precisión, por ejemplo: HH:MM:SS.SSS Si no se especifica ningún argumento, la función devuelve la precisión por defecto. |
|
CURRENT_TIMESTAMP |
|
Devuelve la fecha/registro de hora actual al número especificado de dígitos de precisión. |
|
DAYNAME |
|
Devuelve el nombre del día de la semana de una expresión de fecha especificada. |
|
DAYOFMONTH |
|
Devuelve el número correspondiente al día del mes de una expresión de fecha especificada. |
|
DAYOFWEEK |
|
Devuelve un número entre 1 y 7 correspondiente al día de la semana de una expresión de fecha especificada. Por ejemplo, 1 siempre corresponde al domingo, 2 al lunes, y así sucesivamente hasta el sábado, que corresponde al número 7. |
|
DAYOFYEAR |
|
Devuelve el número (entre 1 y 366) correspondiente al día del año de una expresión de fecha especificada. |
|
DAY_OF_QUARTER |
|
Devuelve un número (entre 1 y 92) que corresponde al día del trimestre de la expresión de fecha especificada. |
|
HOUR |
|
Devuelve un número (entre 0 y 23) correspondiente a la hora de una expresión de hora especificada. Por ejemplo, 0 corresponde a las 00:00 y 23 corresponde a las 23.00. |
|
MINUTE |
|
Devuelve un número (entre 0 y 59) correspondiente al minuto de una expresión de tiempo especificada. |
|
MONTH |
|
Devuelve el número (entre 1 y 12) correspondiente al mes de una expresión de fecha especificada. |
|
MONTHNAME |
|
Devuelve el nombre del mes de una expresión de fecha especificada. |
|
MONTH_OF_QUARTER |
|
Devuelve el número (entre 1 y 3) correspondiente al mes del trimestre de una expresión de fecha especificada. |
|
NOW |
|
Devuelve la fecha/hora actual. La función |
|
QUARTER_OF_YEAR |
|
Devuelve el número (entre 1 y 4) correspondiente al trimestre del año de una expresión de fecha especificada. |
|
SECOND |
|
Devuelve el número (entre 0 y 59) correspondiente a los segundos de una expresión de tiempo especificada. |
|
TIMESTAMPADD |
|
Agrega el número especificado de intervalos a un registro de hora y devuelve un solo registro de hora. Las opciones de intervalo son: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
Devuelve el número total de intervalos especificados entre dos indicaciones de fecha/hora. Utilice los mismos intervalos que TIMESTAMPADD. |
|
WEEK_OF_QUARTER |
|
Devuelve un número (entre 1 y 13) que corresponde a la semana del trimestre de la expresión de fecha especificada. |
|
WEEK_OF_YEAR |
|
Devuelve un número (entre 1 y 53) que corresponde a la semana del año de la expresión de fecha especificada. |
|
YEAR |
|
Devuelve el año de la expresión de fecha especificada. |
|
A continuación se incluyen algunos consejos sobre cómo obtener los mejores resultados al utilizar funciones de fecha en los libros de trabajo para calcular períodos fiscales, convertir cadenas a fechas, mostrar una fecha y hora en una zona horaria específica y calcular las diferencias a lo largo del tiempo.
Calcule el año, el trimestre y el mes fiscales:
Las áreas temáticas normalmente tienen una dimensión de tiempo para que pueda utilizar períodos previamente configurados como el trimestre fiscal, el mes fiscal y la semana fiscal. Si solo tiene un campo de fecha, puede calcular estos períodos por sí mismo utilizando las funciones de fecha.
En este ejemplo se calcula el trimestre fiscal:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)
En este ejemplo se calcula el año y el mes fiscales:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Notas:
||
concatena valores.cast (xxx(date) as char)
extrae una porción de un campo de fecha.TIMESTAMPADD
agrega (o resta) períodos de una fecha. En este ejemplo se utiliza el valor de parámetro SQL_TSI_MONTH para agregar meses.El cálculo anterior funciona bien en las tablas, pero cuando se utiliza en filtros, el espacio entre los valores devueltos podría tener un aspecto raro. En este caso, utilice un limpiador, pero con un cálculo más complejo basado en estos ejemplos:
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')
Convierta una cadena en una fecha:
En el cuadro de texto que contiene el nombre de la columna en azul, inserte To_DateTime(
delante del nombre de columna. Después agregue el formato de fecha que desea utilizar después del nombre de columna, seguido de )
y, a continuación, haga clic en Agregar paso.
.png
Al utilizar la opción Editar para crear la función de conversión de fecha, también puede utilizar Allow_Variable_Digits
para procesar valores de columna con números de uno o dos dígitos, y argumentos Null_On_Error
para desechar las filas que no coincidan con el patrón necesario. Consulte también REPLACE y CAST para conocer formas alternativas de procesar datos que no coincidan con el patrón necesario.
Como alternativa al uso de To_DateTime()
, utilice CAST() para cambiar el tipo de datos de un valor. Por ejemplo, CAST(SalesDate AS DATE)
.
Utilice también la opción Sustituir. En el diseñador del libro de trabajo, desplácese en el panel de datos hasta la columna que desea convertir, haga clic con el botón derecho y seleccione Sustituir. Configure el tipo de sustitución que desee y, a continuación, haga clic en Agregar paso.
Muestre un campo de fecha y hora en una zona horaria específica:
Utilice la función NEW_TIME en la base de datos junto con EVALUATE. Por ejemplo:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Asegúrese de que el campo de fecha incluya el componente de tiempo.
Calcule la diferencia a lo largo del tiempo:
filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage
Notas:
SQL_TSI_DAY
, pero puede utilizar como alternativa WEEK y MONTH semana a semana y mes a mes.