This article introduces date functions and their uses in Tableau. It also demonstrates how to create a date calculation using an example.
Create a date calculation
Follow along with the steps below to learn how to create a date calculation.
-
In Tableau Desktop, connect to the Sample-Superstore saved data source, which comes with Tableau.
-
Navigate to a worksheet.
-
From the Data pane, under Dimensions, drag Order Date to the Rows shelf.
-
On the Rows shelf, click the plus icon (+) on the YEAR(Order Date) field.
QUARTER(Order Date) is added to the Rows shelf and the view updates.
-
On the Rows shelf, click the plus icon (+) on the QUARTER(Order Date) field to drill down to MONTH(Order Date).
-
Select Analysis > Create Calculated Field.
-
In the calculation editor that opens, do the following:
-
Name the calculated field, Quarter Date.
-
Enter the following formula:
DATETRUNC('quarter', [Order Date])
-
When finished, click OK.
The new date calculated field appears under Dimensions in the Data pane. Just like your other fields, you can use it in one or more visualizations.
-
From the Data pane, under Dimensions, drag Quarter Date to the Rows shelf and place it to the right of MONTH(Order Date).
The visualization updates with year values. This is because Tableau rolls date data up to the highest level of detail.
-
On the Rows shelf, right-click YEAR(Quarter Date) and select Exact Date.
-
On the Rows shelf, right-click YEAR(Quarter Date) again and select Discrete.
The visualization updates with the exact quarter date for each row in the table.
Why use date functions
Date functions allow you to manipulate dates in your data source.
For example, you might have a date field with year, month, and day for each value (2004-04-15). From these existing values, you can create new date values with a date function, such as the DATETRUNC function. For example, you can find the date of the beginning of the quarter for any existing date value.
The date calculation might look something like this:
DATETRUNC('quarter', [Order Date])
So, if the original date is '3/27/2011', using the above calculation would return '1/1/2011' to indicate that Q1 started on January 1. If the original date is '5/3/2011', then the calculation would return '4/1/2011' to indicate that Q2 started on April 1, four months into the year.
See the Create a date calculation section below for an example.
Gregorian Calendar vs. ISO 8601 Standard
If you are using a .hyper extract, date functions can be calculated using the traditional Gregorian calendar or the ISO 8601 Standard. For more information on creating a .hyper extract, see Extract Upgrade to .hyper Format(Link opens in a new window)
The ISO 8601 format is an international standard for calculating dates and times that differs from the Gregorian calendar due to how the starting week of a year (Week 1) is calculated. In the Gregorian Calendar, the user can define on which day a week begins. In the ISO 8601 Standard, the week always begins on a Monday.
In a Gregorian Calendar when a new year starts, Week 1 of the year is counted as starting on the 1st of January, regardless of where in the weekday the 1st of January occurs. If January 1st falls on a Saturday, then Week 1 will have one day in it and Week 2 will begin on the following Sunday.
In the ISO 8601 format, Week 1 of a new year begins on a Monday and has four or more days in January. For example, if January 1st falls on a Saturday, then Week 1 will not begin until the following Monday, January 3rd. Calculating dates this way makes sure that there are a consistent number of days in Week 1 of a new year.
For more information on working with ISO 8601 dates, see ISO-8601 Week-Based Calendar(Link opens in a new window).
Date functions available in Tableau:
Function |
Syntax |
Description |
DATEADD |
|
Returns the specified date with the specified number Supports ISO 8601 dates. Example:
This expression adds three months to the date |
DATEDIFF |
|
Returns
the difference between The Supports ISO 8601 dates. Examples:
The first expression returns 1 because when |
DATENAME |
|
Returns Supports ISO 8601 dates. Examples:
|
DATEPARSE |
DATEPARSE(date_format, [date_string])
|
Returns [date_string] as a date. The date_format argument will describes how the [string] field is arranged. Because of the variety of ways the string field can be ordered, the date_format must match exactly. For a full explanation, see Convert a field to a date field. Example:
Note: This function is available through the following connectors: non-legacy Excel and text file connections, Amazon EMR Hadoop Hive, Cloudera Hadoop, Google Sheets, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL, and Tableau extracts. Some formats may not be available for all connections. Note: DATEPARSE is not supported on Hive variants. Only Denodo, Drill, and Snowflake are supported. |
DATEPART |
|
Returns The
Note: When the Supports ISO 8601 dates. Examples:
|
DATETRUNC |
|
Truncates the
specified date to the accuracy specified by the date_part. This
function returns a new date. For example, when you truncate a date
that is in the middle of the month at the month level, this function
returns the first day of the month. The Supports ISO 8601 dates. Examples:
|
DAY |
|
Returns the day of the given date as an integer. Example:
|
ISDATE |
|
Returns true if a given string is a valid date. Example:
|
MAKEDATE |
|
Returns a date value constructed from the specified year, month, and date. Available for Tableau Data Extracts. Check for availability in other data sources. Example:
|
MAKEDATETIME |
|
Returns a datetime that combines a date and a time. The date can be a date, datetime, or a string type. The time must be a datetime. Note: This function is available only for MySQL-compatible connections (which for Tableau are MySQL and Amazon Aurora). Examples:
|
MAKETIME |
|
Returns a date value constructed from the specified hour, minute, and second. Available for Tableau Data Extracts. Check for availability in other data sources. Example:
|
MAX |
|
Usually
applied to numbers but also works on dates. Returns the maximum
of Examples:
|
MIN |
|
Usually
applied to numbers but also works on dates. Returns the minimum
of Examples:
|
MONTH |
|
Returns the month of the given date as an integer. Example:
|
NOW |
|
Returns the current local system date and time. Example:
|
QUARTER |
QUARTER ( )
|
Returns the quarter of the given date as an integer. Example:
|
TODAY |
|
Returns the current date. Example:
|
WEEK |
WEEK( )
|
Returns the week of the given date as an integer. Example:
|
YEAR |
|
Returns the year of the given date as an integer. Example:
|
ISOQUARTER |
ISOQUARTER (date)
|
Returns the ISO8601 week-based quarter of a given date as an integer. Example:
|
ISOWEEK |
ISOWEEK (date)
|
Returns the ISO8601 week-based week of a given date as an integer. Example:
|
ISOWEEKDAY |
ISOWEEKDAY (date)
|
Returns the ISO8601 week-based weekday of a given date as an integer. Example:
|
ISOYEAR |
ISOYEAR (date)
|
Returns the ISO8601 week-based year of a given date as an integer. Example:
|
date_part
values
Many date functions in Tableau use date_part
,
which is a constant string argument.
The valid date_part
values
that you can use are:
date_part | Values |
---|---|
'year'
|
Four-digit year |
'quarter'
|
1-4 |
'month'
|
1-12 or "January", "February", and so on |
'dayofyear'
|
Day of the year; Jan 1 is 1, Feb 1 is 32, and so on |
'day'
|
1-31 |
'weekday'
|
1-7 or "Sunday", "Monday", and so on |
'week'
|
1-52 |
'hour'
|
0-23 |
'minute'
|
0-59 |
'second'
|
0-60 |
'iso-year'
|
Four-digit ISO 8601 year |
'iso-quarter'
|
1-4 |
'iso-week'
|
1-52, start of week is always Monday |
'iso-weekday'
|
1-7, start of week is always Monday |
For more information on formatting date functions, see the Literal Expressions section of the At a glance: calculation syntax(Link opens in a new window) table.
Note: Date functions do not take account of the configured fiscal year start. See Fiscal Dates for more information.
Note: date_part
returns an integer. The values below are inputs that date_part accepts and the format of that input.
See Also
Date Properties for a Data Source
Tableau Functions (Alphabetical)
Tableau Functions (by Category)