Funciones de fecha

En este artículo se presentan las funciones de fecha y sus usos en Tableau. También se muestra cómo crear un cálculo de fecha mediante un ejemplo.

Crear un cálculo de fecha

Siga los pasos que se indican a continuación para aprender a crear un cálculo de fecha.

  1. En Tableau Desktop, conéctese a la fuente de datos guardada Sample-Superstore, que se incluye con Tableau.

  2. Vaya a una hoja de trabajo.

  3. Desde el panel Datos, en Dimensiones, arrastre Fecha de pedido al estante Filas.

  4. En el estante Filas, haga clic en el icono de suma en el campo YEAR(Order Date).

    QUARTER(Order Date) se añade al estante Filas y la vista se actualiza.

  5. En el estante Filas, haga clic en el icono de suma en el campo QUARTER(Order Date) para profundizar hasta MONTH(Order Date).

  6. Seleccione Análisis > Crear campo calculado.

  7. En el editor de cálculo que se abre, haga lo siguiente:

    • Asigne el nombre Quarter Date al campo calculado.

    • Escriba la fórmula siguiente:

      DATETRUNC('quarter', [Order Date])

    • Cuando haya terminado, haga clic en Aceptar.

      El campo calculado de la nueva fecha aparece en Dimensiones en el panel Datos. Igual que con el resto de los campos, puede usarlo en una o más visualizaciones.

  8. Desde el panel Datos, en Dimensiones, arrastre Fecha de trimestre al estante Filas y colóquelo a la derecha de MONTH(Order Date).

    La visualización se actualiza con los valores de año. Esto se debe a que Tableau resume los datos de fechas al nivel más alto de detalle.

  9. En el estante Filas, haga clic con el botón derecho en YEAR(Fecha de trimestre) y seleccione Fecha exacta.

  10. En el estante Filas, haga clic con el botón derecho de nuevo en YEAR(Fecha de trimestre) y seleccione Discreto.

    La visualización se actualiza con la fecha de trimestre exacta en cada fila de la tabla.

Por qué usar funciones de fecha

Las funciones de fecha le permiten manipular fechas en la fuente de datos.

Por ejemplo, podría tener un campo de fecha con el año, el mes y el día para cada valor (2004-04-15). A partir de estos valores existentes, puede crear nuevos valores de fecha con una función de fecha, como la función DATETRUNC. Por ejemplo, puede encontrar la fecha de inicio del trimestre para cualquier valor de fecha existente.

El cálculo de fecha se podría parecer a lo siguiente:

DATETRUNC('quarter', [Order Date])

Por tanto, si la fecha original es "27/3/2011", usando el cálculo anterior se indicaría "1/1/2011" para expresar que el primer trimestre empezó el 1 de enero. Si la fecha original es "3/5/2011", el cálculo indicaría "1/4/2011" para expresar que el segundo trimestre empezó el 1 de abril, en el cuarto mes del año.

Consulte la sección Crear un cálculo de fecha más abajo para ver un ejemplo.

Calendario gregoriano y la norma ISO 8601

Si usa una extracción .hyper, las funciones de fecha pueden calcularse mediante el calendario gregoriano tradicional o la norma ISO 8601. Para obtener más información sobre cómo crear una extracción .hyper, consulte Actualización de la extracción a formato .hyper(El enlace se abre en una ventana nueva).

El formato ISO 8601 es una norma internacional para calcular fechas y horas que difiere del calendario gregoriano en el modo de calcular la semana inicial del año (la semana 1). En el calendario gregoriano, el usuario puede definir el día inicial de la semana. En la norma ISO 8601, la semana siempre empieza en lunes.

En el calendario gregoriano, al inicio del año se calcula que la primera semana empieza el 1 de enero, independientemente del día de la semana de ese día. Si el 1 de enero cae en sábado, la primera semana solo tendrá un día y la segunda semana empezará el domingo.

En el formato ISO 8601, la primera semana del año nuevo empieza un lunes, y tiene cuatro días o más en enero. Por ejemplo, si el 1 de enero cae en sábado, la primera semana no empezará hasta el lunes siguiente (es decir, el 3 de enero). Calcular las fechas de este modo garantiza que haya un número coherente de días en la primera semana de cada año nuevo.

Para obtener más información sobre cómo trabajar con fechas ISO 8601, consulte Calendario semanal ISO-8601(El enlace se abre en una ventana nueva).

Funciones de fecha disponibles en Tableau

Función

Sintaxis

Descripción

DATEADD

DATEADD(date_part, interval, date)

Indica la fecha especificada con el valor numérico especificado de interval ya añadido a la parte date_part de la fecha en cuestión.

Admite fechas ISO 8601.

Ejemplo:

DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM

Esta expresión agrega tres meses a la fecha #2004-04-15#.

DATEDIFF

DATEDIFF(date_part, date1, date2, [start_of_week])

Indica la diferencia entre date1 y date2 que se expresa en unidades de date_part.

El parámetro start_of_week, que puede utilizar para especificar qué día se debe considerar como el primero de la semana, es opcional. Los valores posibles son "lunes", "martes", etc. Si se omite, el comienzo de la semana se determina mediante la fuente de datos. Consulte Propiedades de fecha para fuente de datos.

Admite fechas ISO 8601.

Ejemplos:

DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'monday')= 1
DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'sunday')= 0

La primera expresión indica 1, ya que cuando start_of_week es "lunes", el 22 de septiembre (un domingo) y el 24 de septiembre (un martes) se encuentran en diferentes semanas. La segunda expresión indica 0, ya que cuando start_of_week es "domingo", el 22 de septiembre (un domingo) y el 24 de septiembre (un martes) están en la misma semana.

DATENAME

DATENAME(date_part, date, [start_of_week])

Indica date_part de date como una cadena. El parámetro start_of_week, que puede utilizar para especificar qué día se debe considerar como el primero de la semana, es opcional. Los valores posibles son "lunes", "martes", etc. Si se omite start_of_week, el inicio de la semana se determina por la fuente de datos. Consulte Propiedades de fecha para fuente de datos.

Admite fechas ISO 8601.

Ejemplos:

DATENAME('year', #2004-04-15#) = "2004"
DATENAME('month', #2004-04-15#) = "April"

DATEPARSE DATEPARSE(date_format, [date_string])

Devuelve [date_string] como fecha. El argumento date_format describe cómo se organiza el campo [string]. Debido a la variedad de formas en que se puede ordenar el campo de cadena, el date_format debe coincidir exactamente. Para ver una explicación completa, consulte Convertir un campo en un campo de fecha

Ejemplo:

DATEPARSE('yyyy-MM-dd', #2004-04-15#) = "April 4, 2004"

Nota: Esta función está disponible por medio de los siguientes conectores: conexiones de archivos de texto y de Excel no heredadas, Amazon EMR Hadoop Hive, Cloudera Hadoop, Hojas de cálculo de Google, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL y extractos de Tableau. Algunos formatos pueden no estar disponibles para todas las conexiones.

Nota: DATEPARSE no es compatible con las variantes de Hive. Solo se admiten Denodo, Drill y Snowflake.

DATEPART

DATEPART(date_part, date, [start_of_week])

Indica date_part de date como un entero.

El parámetro start_of_week, que puede utilizar para especificar qué día se debe considerar como el primero de la semana, es opcional. Los valores posibles son "lunes", "martes", etc. Si se omite start_of_week, el inicio de la semana se determina por la fuente de datos. Consulte Propiedades de fecha para fuente de datos.

Nota: cuando el parámetro date_part es un día de la semana, se ignorará el parámetro start_of_week. Esto se debe a que Tableau se basa en un orden de día de la semana fijo para aplicar los desplazamientos.

Admite fechas ISO 8601.

Ejemplos:

DATEPART('year', #2004-04-15#) = 2004
DATEPART('month', #2004-04-15#) = 4

DATETRUNC

DATETRUNC(date_part, date, [start_of_week])

Trunca la fecha especificada a la precisión especificada por date_part. Esta función indica una fecha nueva. Por ejemplo, al truncar una fecha que está en la mitad del mes en el nivel de mes, esta función indica el primer día del mes. El parámetro start_of_week, que puede utilizar para especificar qué día se debe considerar como el primero de la semana, es opcional. Los valores posibles son "lunes", "martes", etc. Si se omite start_of_week, el inicio de la semana se determina por la fuente de datos. Consulte Propiedades de fecha para fuente de datos.

Admite fechas ISO 8601.

Ejemplos:

DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM
DATETRUNC('month', #2004-04-15#) = 2004-04-01 12:00:00 AM

DAY

DAY(date)

Indica el día de la fecha dada como un entero.

Ejemplo:

DAY(#2004-04-12#) = 12

ISDATE

ISDATE(string)

Indica true si una cadena dada es una fecha válida.

Ejemplo:

ISDATE("April 15, 2004") = true

MAKEDATE

MAKEDATE(year, month, day)

Indica un valor de fecha construido a partir del año, del mes y de la fecha especificados.

Disponible para las extracciones de datos de Tableau. Compruebe la disponibilidad en otras fuentes de datos.

Ejemplo:

MAKEDATE(2004, 4, 15) = #April 15, 2004#

MAKEDATETIME

MAKEDATETIME(date, time)

Indica una fecha y hora que combina una fecha y una hora. La fecha puede ser de tipo fecha, fecha y hora o cadena. La hora debe ser fecha y hora.

Nota: Esta función solo está disponible para las conexiones compatibles con MySQL (que en Tableau son MySQL y Amazon Aurora).

Ejemplos:

MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#
MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM#

MAKETIME

MAKETIME(hour, minute, second)

Indica un valor de fecha construido a partir de la hora, los minutos y los segundos especificados.

Disponible para las extracciones de datos de Tableau. Compruebe la disponibilidad en otras fuentes de datos.

Ejemplo:

MAKETIME(14, 52, 40) = #14:52:40#

MAX

MAX(expression) or MAX(expr1, expr2)

Por lo general, se aplica a números, aunque también funciona con fechas. Indica el máximo de a y b (a y b deben ser del mismo tipo). Indica Null si uno u otro argumento es Null.

Ejemplos:

MAX(#2004-01-01# ,#2004-03-01#) = 2004-03-01 12:00:00 AM
MAX([ShipDate1], [ShipDate2])

MIN

MIN(expression) or MIN(expr1, expr2)

Por lo general, se aplica a números, aunque también funciona con fechas. Indica el mínimo de a y b (a y b deben ser del mismo tipo). Indica Null si uno u otro argumento es Null.

Ejemplos:

MIN(#2004-01-01# ,#2004-03-01#) = 2004-01-01 12:00:00 AM
MIN([ShipDate1], [ShipDate2])

MONTH

MONTH(date)

Indica el mes de la fecha dada como un entero.

Ejemplo:

MONTH(#2004-04-15#) = 4

NOW

NOW( )

Indica la fecha y hora actual del sistema.

Ejemplo:

NOW( ) = 2004-04-15 1:08:21 PM

QUARTER QUARTER ( )

Indica el trimestre especificado como un número entero.

Ejemplo:

WEEK (#2004-04-15#) = 16

TODAY

TODAY( )

Indica la fecha actual.

Ejemplo:

TODAY( ) = 2004-04-15

WEEK WEEK( )

Indica la semana especificada como un número entero.

Ejemplo:

WEEK (#2004-04-15#) = 16

YEAR

YEAR (date)

Indica el año de la fecha dada como un entero.

Ejemplo:

YEAR(#2004-04-15#) = 2004

ISOQUARTER ISOQUARTER (date)

Devuelve el trimestre basado en semanas ISO8601 de una determinada fecha como un número entero.

Ejemplo:

ISOQUARTER (#2005-03-29#) = 2

ISOWEEK ISOWEEK (date)

Indica la semana basada en semanas ISO 8601 de una fecha determinada como un número entero.

Ejemplo:

ISOWEEK (#2004-03-29#) = 14

ISOWEEKDAY ISOWEEKDAY (date)

Indica el día de la semana basado en semanas ISO 8601 de una fecha determinada como un número entero.

Ejemplo:

ISOWEEKDAY (#2004-03-29#) = 1

ISOYEAR ISOYEAR (date)

Devuelve el año basado en semanas ISO8601 de una determinada fecha como un número entero.

Ejemplo:

ISOYEAR (#2003-12-29#) = 2004


Valores date_part

Muchas de las funciones de fecha en Tableau usan date_part, que es un argumento de cadena constante.

Los valores date_part válidos que puede usar son:

date_part Valores
'year' Año con cuatro dígitos
'quarter' 1-4
'month' 1-12 o "January", "February", etc.
'dayofyear' Día del año; 1 de enero es 1, 1 de febrero es 32, etc.
'day' 1-31
'weekday' 1-7 o "Sunday", "Monday", etc.
'week' 1-52
'hour' 0-23
'minute' 0-59
'second' 0-60
'iso-year' Año ISO 8601 de cuatro dígitos
'iso-quarter' 1-4
'iso-week' 1-52 y el inicio de la semana siempre es lunes
'iso-weekday' 1-7 y el inicio de la semana siempre es lunes

Para obtener más información sobre dar formato a funciones de fechas, consulte la sección Expresiones literales de la tabla De un vistazo: sintaxis de los cálculos(El enlace se abre en una ventana nueva).

Nota: Las funciones de fecha no tienen en cuenta el inicio del año fiscal configurado. Consulte Fechas fiscales para obtener más información.

Nota: date_part devuelve un entero. Los siguientes valores son entradas que date_part acepta y el formato de esa entrada.

Consulte también

Fechas fiscales

Fechas y horas

Propiedades de fecha para fuente de datos

Fechas personalizadas

Formatos de fecha personalizada

Funciones de Tableau (alfabéticamente)

Funciones de Tableau (por categorías)

Dar formato a los cálculos en Tableau

Funciones en Tableau

¡Gracias por sus comentarios!