# tableau Tableau Desktop and Web Authoring (pro) - Full Documentation [Skip to main content](#main-content) # Extract Upgrade to .hyper Format In Tableau version 2018, we introduced the `.hyper` format for Tableau extracts to replace the old `.tde` format. The `.hyper` format has been the standard format used by Tableau to create extracts since 2018, and the large majority of extracts are now `.hyper` files. Beginning in early 2023, Tableau discontinued support for the `.tde` format on Tableau Cloud and Tableau Public. For more details about this deprecation, see this [Tableau Community post](https://community.tableau.com/s/feed/0D54T00001BHiGwSAL). ## Discontinuation of support for .tde files Beginning in 2023, the `.tde` format for Tableau extracts was deprecated. This format was replaced by the `.hyper` format in 2018 but continued to be valid for uploaded files until March 2023. - This change took place for Tableau Cloud and Tableau Public as of March 2023. - Beginning with version 2023.1.0 of Tableau Server, the uploading of `.tde` format files is disabled. - 2024.2 is the last version of Tableau Desktop that supports any .tde-based workbooks, data sources or bookmarks. Versions 2024.3 and beyond only support .hyper format. ## Manually upgrade your .tde extract using Tableau Desktop If you manage extracts locally, you can manually upgrade your `.tde` extract to a `.hyper` extract using Tableau Desktop. **Note**: This functionality is only available in Tableau Desktop versions 2024.2 and older. 1. In Tableau Desktop, open a workbook that uses a `.tde` extract. 2. Select the extract data source from the Data menu and then select Extract \> Upgrade. 3. Select File \> Save, which saves the workbook and also completes the extract upgrade. [Skip to main content](#main-content) # About Multi-fact Relationship Data Models Multi-fact relationships let you build data sources with more than one _base table_. Using multiple base tables in your data model allows you to perform multi-fact analysis in Tableau. By establishing _trees_ of tables, rooted in a base table, you can model data structures with different conceptual domains and use their shared characteristics to connect them. This type of analysis is often referred to as multi-fact analysis, conformed dimensions or shared dimensions. In Tableau, we call this a multi-fact relationship data model because you use relationships to build it. A multi-fact relationship data model always contains multiple base tables. Base tables are the left-most tables in the data model. For guidance on how to determine which tables to use as base tables, see [When to Use a Multi-fact Relationship Model](https://help.tableau.com/v0.0/pro/desktop/en-gb/datasource_mfr_when_to_use.htm).  A multiple base table data model with one base table's tree highlighted. ## Levels of relatedness Data models with multiple base tables have a lot of flexibility regarding how pieces of data can relate – or not relate – to each other. **Note**: Relatedness at any level is only relevant in data models with multiple base tables. Prior to multi-fact relationship data models, either everything was related (within a single data source) or nothing was (blending across multiple data sources). **Relatedness in the data model** Tables are related, unrelated or shared based on the structure of the data model. In a data source, the relatedness of tables is a constant. As a brief overview: - _Related tables_ are in the same tree. - Prior to 2024.2, all data sources were single base table data sources consisting of a single tree, and in a single base table data source all tables are related. - _Unrelated tables_ are in different trees. Base tables are always unrelated to each other. Tables that are downstream of exactly one base table are also unrelated to tables in other trees. - _Shared tables_ have multiple incoming relationships and belong to more than one tree. - Tables downstream from a table with multiple incoming relationships are also considered shared. **Relatedness during analysis** Fields can be related, unrelated, not yet related or ambiguously related, or they can act as stitching fields. The relatedness among a group of fields is determined on a sheet-by-sheet basis based on the structure of the data model, what fields are actively in use (that is, on the shelves as pills) and if those fields are dimensions or measures.  To make a visualisation with fields from multiple tables, Tableau has to perform joins behind the scenes to compute the values. The type of join used depends on the [relatedness of the fields](#fieldlevel). As a brief overview: - When _related fields_ are used in a viz, dimensions are inner joined and measure values are broken down by the dimensions. - It's a little more complicated than that – additional joins might be needed behind the scenes to ensure that [no measure values are dropped](https://www.tableau.com/en-gb/blog/relationships-tableau-data-model). But in a dimension-only viz, related dimensions are inner joined and that's the main concept here. - This is the same behaviour as single-base table models. - When _unrelated fields_  are used in a viz, dimensions are cross joined. Measure values are table scoped (that is, aggregated locally to a single value for their entire table) and repeated. - It's also possible for fields to be _not yet related_ or _ambiguously_ related, which means that for the combination of active fields, there is more than one way for the relationships between their tables to be resolved. If Tableau encounters uncertainty, it treats the fields as unrelated. - When fields are _stitched_  based on a shared field, dimensions are outer joined. Measure values are aggregated at the level of whatever dimension they can be broken down by and might be repeated. - _Stitching dimensions_ are similar to [linking fields in data blending](https://help.tableau.com/current/pro/desktop/en-gb/multiple_connections.htm#define-blend-relationships-for-blending). Results are calculated for each pair of related fields. Then the unrelated values are stitched together across the shared values of the dimension shared between them. All of these concepts and definitions are discussed in more detail later in this topic. An aside on dimensions and measures In Tableau, _measures_ are _aggregations_ – they’re aggregated up to the _granularity_ set by the _dimensions_ in the view. The value of a measure therefore depends on the context of the dimensions. For example, "number of cereal boxes" depends on if we mean the total inventory or the number of boxes per brand. _Dimensions_ are usually categorical fields, such as country or brand. In Tableau, dimensions set the granularity, or the _level of detail_, of the view. We typically want to group our data into marks by some combination of categories. What dimensions we use to build the view determines how many marks we have. When a measure is used without dimensions, it's said to be _table scoped_. This means its value is the fully aggregated value for the entire table. As soon as we use a dimension such as brand in the viz, the measure is broken down more granularly. The total number of cereal boxes is now per brand. _Aggregation_ refers to how the data is combined. Tableau's default aggregation is SUM. You can change the aggregation to other options, including: average, median, count distinct, minimum and so on. _Granularity_ refers to how detailed or broken down the measure is – which is controlled by the dimensions. Unless the granularity of the measure is row level (aka disaggregated), its value must be aggregated. #### Example  What's the value of "number of boxes of cereal"? Well, it depends on the aggregation type and the granularity as set by the dimensions. - Aggregations: - Sum (or total) - Average - Granularity: - Table scoped/fully aggregated (the blue bars in the example) - Broken down by the **Brand** dimension (the coloured bars in the example)  ## Field-level relatedness indicators There are several visual clues that can help you understand the degree of relatedness for fields you're using in an analysis. ### Relatedness indicators on a worksheet - **Unrelated icon**: Tableau uses an unrelated icon  to indicate not everything in the view is related. If you see an unrelated icon on a pill in the view or in the Data pane, you can hover over the icon [to get more information](https://help.tableau.com/current/pro/desktop/en-gb/mfr_relatedness_messages.htm). - The related icon  indicates that field is stitching together unrelated fields. - **Light-grey field names**: Field names are displayed in light grey text in the Data pane when they're not related to _any_ fields in use on shelves. You can still use these fields for analysis in that viz, but unrelated fields are [evaluated differently](https://help.tableau.com/current/pro/desktop/en-gb/datasource_mfr_multiple_base_tables.htm#joinsbyrelatedness) in analysis from fields that are related. On hover, these fields also display an unrelated icon.  **Note**: In previous versions of Tableau, light-grey field names indicated that the fields were hidden and Show hidden fields was selected. Hidden fields, when shown, are now indicated with a clickable eye icon . ### Relatedness warning dialog When unrelated fields are used together in a viz, Tableau shows a warning dialog to let you know that the fields aren't related. This warning appears each time you add an unrelated field to prevent accidental cross joins that might impact performance. - If you want to use unrelated fields without stitching, click Add to continue adding the field to the viz. - If you want to stitch unrelated fields, a best practice is to bring out the stitching field before an otherwise unrelated field. The dialog won't appear if the stitching field is already in use. See [How joins are used for each level of relatedness](#joinsbyrelatedness) for more information about how stitching prevents cross joins.  When multiple fields are being added or are already present in the view, the Details area appears in the dialog. Expand it to see more information about the relatedness of all the fields in use and identify where the unrelatedness issue is coming from.  To stop the warning message from appearing at all, select the option Don't show this again. You can always re-enable these warning messages again by turning them back on: - In Tableau Desktop, open the Help menu > Settings and Performance > Reset Ignored Messages. - In a browser, clear your cached data. For example in Chrome, open the **three dots menu** > **Delete Browsing Data...** > Choose "**Cached images and files**" > **Delete data**. ## Table-level relatedness in the data model In a data model with multiple base tables, each base table defines a set of tables that are related and form a conceptual _tree_. These trees must be connected by at least one shared table to ensure the overall data source is a single entity. What might previously have been two data sources that could be blended using linking fields can now be a single data source with two trees, connected by the shared tables that contain those common fields.  > [!TIP] > > How tables are related in the data model impacts how their fields can be related in the analysis. It can be helpful to use the [View Data Model](https://help.tableau.com/current/pro/desktop/en-gb/viewdatamodel.htm) dialog during analysis to see how a table fits into the overall data model. Let's walk through which tables are related, unrelated or shared using this example data source. There are two trees, one established by base Table A and one by base Table B. ### Unrelated tables Base tables are fundamentally unrelated. Similarly, any tables that exist solely in a single tree are unrelated to tables in other trees.
Table A and Table X are unrelated | Table B and Table X are unrelated |
![]() | ![]() |
Table A and Table S are related | Table B and Table S are related (through Table A) |
![]() | ![]() |
| Not yet related | Ambiguously related | Relatedness resolved to a single tree | |
| Related through base Table A | Related through base Table X | ||
![]() | ![]() | ![]() | ![]() |
Stitching | Resolving uncertainty |
![]() Unrelated FieldA and FieldX stitched by DimensionS | ![]() FieldS and FieldT evaluated through the tree defined by base Table A |
| Juxtaposes unrelated fields based on shared attributes | Narrows down which relationship path to use when there are multiple options (ambiguity or a shared measure), or establishes a relationship path when there wasn't one (not yet related). |
Uses multiple base table logic to calculate results | Uses single base table logic to calculate results |
| Analysis involves unrelated tables | Analysis involves shared tables |
Classes | Clubs | Students |
![]() | ![]() | ![]() |
Fields:
| Fields:
| Fields:
|
| Resolved Issue | Fixed as of |
Extracts Local data source (in a workbook): Attempting to extract a multi-fact relationship data source will give a "No such table" error. Published data source: Extracting a published multi-fact relationship data source appears to succeed, but field values can be swapped. |
If you still see these issues in Tableau Desktop or Tableau Server, upgrade to a version from 24th July 2024 or later. |
EXCLUDE Level of Detail expressions Only INCLUDE LODs should be validated in the presence of unrelated fields. However, EXCLUDE LODs may also be incorrectly marked as not valid in the same conditions. | |
Nested user calculations Nested user calculations are not available in published data sources with a multi-fact relationship data model. |
Double-click on an existing field to start editing. | ![]() |
| You can also double-click on an empty shelf or on an empty part of a shelf to create a new calculation. | ![]() |
| Type to update the expression, or drag new fields into the expression from the Data pane or elsewhere in the view. | ![]() |
Press Enter, Tab, or click outside the expression to commit the expression, close the calculation, and update the view. Press Ctrl+Enter (or Command+Enter on a Mac) to commit the expression and update the view without closing the calculation. | ![]() |
| Product Name | Product Image URL | Product Sales |
| Flats | https://img.example.com/flats.png | 12,118 |
| High Heels | https://img.example.com/highheels.png | 15,865 |
| Running Shoes | https://img.example.com/runningshoes.png | 14,200 |
| Wedges | https://img.example.com/wedges.png | 8,665 |
| Syntax | REGEXP_REPLACE(string, pattern, replacement) |
| Output | String |
| Definition | Returns a copy of the given string where the regular expression pattern is replaced by the replacement string. |
| Example | REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123' |
| Notes | This function is available for Text File, Hadoop Hive, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Snowflake and Oracle data sources. For Tableau data extracts, the pattern and the replacement must be constants. |
| Syntax | REGEXP_MATCH(string, pattern) |
| Output | Boolean |
| Definition | Returns true if a substring of the specified string matches the regular expression pattern. |
| Example | REGEXP_MATCH('-([1234].[The.Market])-','\[\s*(\w*\.)(\w*\s*\])')=true |
| Notes | This function is available for Text File, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Impala 2.3.0 (through Cloudera Hadoop data sources), Snowflake and Oracle data sources. For Tableau data extracts, the pattern must be a constant. |
| Syntax | REGEXP_EXTRACT(string, pattern) |
| Output | String |
| Definition | Returns the portion of the string that matches the regular expression pattern. |
| Example | REGEXP_EXTRACT('abc 123', '[a-z]+\s+(\d+)') = '123' |
| Notes | This function is available for Text File, Hadoop Hive, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Snowflake and Oracle data sources. For Tableau data extracts, the pattern must be a constant. |
| Syntax | REGEXP_EXTRACT_NTH(string, pattern, index) |
| Output | String |
| Definition | Returns the portion of the string that matches the regular expression pattern. The substring is matched to the nth capturing group, where n is the given index. If index is 0, the entire string is returned. |
| Example | REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\s+(\d+)', 2) = '123' |
| Notes | This function is available for Text File, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above) and Oracle data sources. For Tableau data extracts, the pattern must be a constant. |
| Syntax | ATTR(expression) |
| Definition | Returns the value of the expression if it has a single value for all rows. Otherwise returns an asterisk. Null values are ignored. |
| Syntax | AVG(expression) |
| Definition | Returns the average of all the values in the expression. Null values are ignored. |
| Notes | AVG can only be used with numeric fields. |
| Syntax | COLLECT(spatial) |
| Definition | An aggregate calculation that combines the values in the argument field. Null values are ignored. |
| Notes | COLLECT can only be used with spatial fields. |
| Syntax | CORR(expression1, expression2) |
| Output | Number from -1 to 1 |
| Definition | Returns the Pearson correlation coefficient of two expressions. |
| Example | example |
| Notes | The Pearson correlation measures the linear relationship between two variables. Results range from -1 to +1 inclusive, where 1 denotes an exact positive linear relationship, 0 denotes no linear relationship between the variance and −1 is an exact negative relationship. The square of a CORR result is equivalent to the R-Squared value for a linear trend line model. See Trend Line Model Terms. Use with table-scoped LOD expressions: You can use CORR to visualise correlation in a disaggregated scatter using a table-scoped level of detail expression. For example: {CORR(Sales, Profit)}With a level of detail expression, the correlation is run over all rows. If you used a formula like |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | COUNT(expression) |
| Definition | Returns the number of items. Null values are not counted. |
| Syntax | COUNTD(expression) |
| Definition | Returns the number of distinct items in a group. Null values are not counted. |
| Syntax | COVAR(expression1, expression2) |
| Definition | Returns the sample covariance of two expressions. |
| Notes | Covariance quantifies how two variables change together. A positive covariance indicates that the variables tend to move in the same direction, as when larger values of one variable tend to correspond to larger values of the other variable, on average. Sample covariance uses the number of non-null data points n-1 to normalise the covariance calculation, rather than n, which is used by the population covariance (available with the If The value of |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | COVARP(expression 1, expression2) |
| Definition | Returns the population covariance of two expressions. |
| Notes | Covariance quantifies how two variables change together. A positive covariance indicates that the variables tend to move in the same direction, as when larger values of one variable tend to correspond to larger values of the other variable, on average. Population covariance is sample covariance multiplied by (n-1)/n, where n is the total number of non-null data points. Population covariance is the appropriate choice when there is data available for all items of interest as opposed to when there is only a random subset of items, in which case sample covariance (with the If |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MEDIAN(expression) |
| Definition | Returns the median of an expression across all records. Null values are ignored. |
| Notes | MEDIAN can only be used with numeric fields. |
| Database limitations |
For other data source types, you can extract your data into an extract file to use this function. See Extract Your Data. |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | PERCENTILE(expression, number) |
| Definition | Returns the percentile value from the given expression corresponding to the specified <number>. The <number> must be between 0 and 1 (inclusive) and must be a numeric constant. |
| Example | PERCENTILE([Score], 0.9) |
| Database limitations | This function is available for the following data sources: Non-legacy Microsoft Excel and Text File connections, Extracts and extract-only data source types (for example, Google Analytics, OData or Salesforce), Sybase IQ 15.1 and later data sources, Oracle 10 and later data sources, Cloudera Hive and Hortonworks Hadoop Hive data sources, EXASolution 4.2 and later data sources. For other data source types, you can extract your data into an extract file to use this function. See Extract Your Data. |
| Syntax | STDEV(expression) |
| Definition | Returns the statistical standard deviation of all values in the given expression based on a sample of the population. |
| Syntax | STDEVP(expression) |
| Definition | Returns the statistical standard deviation of all values in the given expression based on a biased population. |
| Syntax | SUM(expression) |
| Definition | Returns the sum of all values in the expression. Null values are ignored. |
| Notes | SUM can only be used with numeric fields. |
| Syntax | VAR(expression) |
| Definition | Returns the statistical variance of all values in the given expression based on a sample of the population. |
| Syntax | VARP(expression) |
| Definition | Returns the statistical variance of all values in the given expression on the entire population. |
| Syntax | ABS(number) |
| Output | Number (positive) |
| Definition | Returns the absolute value of the given <number>. |
| Example | ABS(-7) = 7 The second example returns the absolute value for all the numbers contained in the Budget Variance field. |
| Notes | See also SIGN. |
| Syntax | ACOS(number) |
| Output | Number (angle in radians) |
| Definition | Returns the arccosine (angle) of the given <number>. |
| Example | ACOS(-1) = 3.14159265358979 |
| Notes | The inverse function, COS, takes the angle in radians as the argument and returns the cosine. |
| Syntax | <expr1> AND <expr2> |
| Definition | Performs a logical conjunction on two expressions. (If both sides are true, the logical test returns true.) |
| Output | Boolean |
| Example | IF [Season] = "Spring" AND "[Season] = "Fall" "If both (Season = Spring) and (Season = Fall) are true simultaneously, then return It's the apocalypse and footwear doesn't matter." |
| Notes | Often used with IF and IIF. See also NOT and OR. If both expressions are If you create a calculation in which the result of an Note: The |
| Syntax | AREA(Spatial Polygon, 'units') |
| Output | Number |
| Definition | Returns the total surface area of a <spatial polygon>. |
| Example | AREA([Geometry], 'feet') |
| Notes | Supported unit names (must be in quotation marks in the calculation, such as
|
| Syntax | ASCII(string) |
| Output | Number |
| Definition | Returns the ASCII code for the first character of a <string>. |
| Example | ASCII('A') = 65 |
| Notes | This is the inverse of the CHAR function. |
| Syntax | ASIN(number) |
| Output | Number (angle in radians) |
| Definition | Returns the arcsine (angle) of a given <number>. |
| Example | ASIN(1) = 1.5707963267949 |
| Notes | The inverse function, SIN, takes the angle in radians as the argument and returns the sine. |
| Syntax | ATAN(number) |
| Output | Number (angle in radians) |
| Definition | Returns the arctangent (angle) of a given <number>. |
| Example | ATAN(180) = 1.5652408283942 |
| Notes | The inverse function, |
| Syntax | ATAN2(y number, x number) |
| Output | Number (angle in radians) |
| Definition | Returns the arctangent (angle) between two numbers (<y number> and <x number>). The result is in radians. |
| Example | ATAN2(2, 1) = 1.10714871779409 |
| Notes | See also ATAN, TAN and COT. |
| Syntax | ATTR(expression) |
| Definition | Returns the value of the <expression> if it has a single value for all rows. Otherwise returns an asterisk. Null values are ignored. |
| Syntax | AVG(expression) |
| Definition | Returns the average of all the values in the <expression>. Null values are ignored. |
| Notes | AVG can only be used with numeric fields. |
| Syntax | BUFFER(Spatial Point, distance, 'units') |
| Output | Geometry |
| Definition | Returns a polygon shape centred over a <spatial point>, with a radius determined by the <distance> and <unit> values. |
| Example | BUFFER([Spatial Point Geometry], 25, 'mi') BUFFER(MAKEPOINT(47.59, -122.32), 3, 'km') |
| Notes | Supported unit names (must be in quotation marks in the calculation, such as
|
| Syntax | CASE <expression>
|
| Output | Depends on data type of the <then> values. |
| Definition | Evaluates the |
| Example | "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes | Used with WHEN, THEN, ELSE and END.
|
| Syntax | CEILING(number) |
| Output | Integer |
| Definition | Rounds a <number> to the nearest integer of equal or greater value. |
| Example | CEILING(2.1) = 3 |
| Notes | See also FLOOR and ROUND. |
| Database limitations |
|
| Syntax | CHAR(number) |
| Output | String |
| Definition | Returns the character encoded by the ASCII code <number>. |
| Example | CHAR(65) = 'A' |
| Notes | This is the inverse of the ASCII function. |
| Syntax | COLLECT(spatial) |
| Definition | An aggregate calculation that combines the values in the argument field. Null values are ignored. |
| Notes | COLLECT can only be used with spatial fields. |
| Syntax | CONTAINS(string, substring) |
| Output | Boolean |
| Definition | Returns true if the given <string> contains the specified <substring>. |
| Example | CONTAINS("Calculation", "alcu") = true |
| Notes | See also the logical function IN as well as supported RegEx in the additional functions documentation. |
| Syntax | CORR(expression1, expression2) |
| Output | Number from -1 to 1 |
| Definition | Returns the Pearson correlation coefficient of two expressions. |
| Example | example |
| Notes | The Pearson correlation measures the linear relationship between two variables. Results range from -1 to +1 inclusive, where 1 denotes an exact positive linear relationship, 0 denotes no linear relationship between the variance and −1 is an exact negative relationship. The square of a CORR result is equivalent to the R-Squared value for a linear trend line model. See Trend Line Model Terms. Use with table-scoped LOD expressions: You can use CORR to visualise correlation in a disaggregated scatter using a table-scoped level of detail expression. For example: {CORR(Sales, Profit)}With a level of detail expression, the correlation is run over all rows. If you used a formula like |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | COS(number)The number argument is the angle in radians. |
| Output | Number |
| Definition | Returns the cosine of an angle. |
| Example | COS(PI( ) /4) = 0.707106781186548 |
| Notes | The inverse function, See also |
| Syntax | COT(number)The number argument is the angle in radians. |
| Output | Number |
| Definition | Returns the cotangent of an angle. |
| Example | COT(PI( ) /4) = 1 |
| Notes | See also ATAN, TAN and PI. |
| Syntax | COUNT(expression) |
| Definition | Returns the number of items. Null values are not counted. |
| Syntax | COUNTD(expression) |
| Definition | Returns the number of distinct items in a group. Null values are not counted. |
| Syntax | COVAR(expression1, expression2) |
| Definition | Returns the sample covariance of two expressions. |
| Notes | Covariance quantifies how two variables change together. A positive covariance indicates that the variables tend to move in the same direction, as when larger values of one variable tend to correspond to larger values of the other variable, on average. Sample covariance uses the number of non-null data points n-1 to normalise the covariance calculation, rather than n, which is used by the population covariance (available with the If The value of |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | COVARP(expression 1, expression2) |
| Definition | Returns the population covariance of two expressions. |
| Notes | Covariance quantifies how two variables change together. A positive covariance indicates that the variables tend to move in the same direction, as when larger values of one variable tend to correspond to larger values of the other variable, on average. Population covariance is sample covariance multiplied by (n-1)/n, where n is the total number of non-null data points. Population covariance is the appropriate choice when there is data available for all items of interest as opposed to when there is only a random subset of items, in which case sample covariance (with the If |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | DATE(expression) |
| Output | Date |
| Definition | Returns a date given a number, string or date <expression>. |
| Example | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018")DATE(#2018-09-22 14:52#) |
| Notes | Unlike
|
| Syntax | DATEADD(date_part, interval, date) |
| Output | Date |
| Definition | Returns the specified date with the specified number <interval> added to the specified ><date_part of that date. For example, adding three months or 12 days to a starting date. |
| Example | Push out all due dates by one week DATEADD('week', 1, [due date])Add 280 days to the date February 20, 2021 DATEADD('day', 280, #2/20/21#) = #November 27, 2021# |
| Notes | Supports ISO 8601 dates. |
| Syntax | DATEDIFF(date_part, date1, date2, [start_of_week]) |
| Output | Integer |
| Definition | Returns the difference between date1 and date2 expressed in units of date_part. For example, subtracting the dates someone entered and left a band to see how long they were in the band. |
| Example | Number of days between 25th March 1986 and 20th February 2021 DATEDIFF('day', #3/25/1986#, #2/20/2021#) = 12,751How many months someone was in a band DATEDIFF('month', [date joined band], [date left band]) |
| Notes | Supports ISO 8601 dates. |
| Syntax | DATENAME(date_part, date, [start_of_week]) |
| Output | String |
| Definition | Returns <date_part> of date as a string. |
| Example | DATENAME('year', #3/25/1986#) = "1986"DATENAME('month', #1986-03-25#) = "March" |
| Notes | Supports ISO 8601 dates. A very similar calculation is DATEPART, which returns the value of the specified date part as a continuous integer. By changing the attributes of the calculation’s result (dimension or measure, continuous or discrete) and the date formatting, the results of An inverse function is |
| Syntax | DATEPARSE(date_format, date_string) |
| Output | Date |
| Definition | The <date_format> argument describes how the <date_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 | DATEPARSE('yyyy-MM-dd', "1986-03-25") = #March 25, 1986# |
| Notes |
Inverse functions, which take dates apart and return the value of their parts, are |
| Database limitations |
|
| Syntax | DATEPART(date_part, date, [start_of_week]) |
| Output | Integer |
| Definition | Returns <date_part> of date as an integer. |
| Example | DATEPART('year', #1986-03-25#) = 1986DATEPART('month', #1986-03-25#) = 3 |
| Notes | Supports ISO 8601 dates. A very similar calculation is An inverse function is |
| Syntax | DATETIME(expression) |
| Output | Datetime |
| Definition | Returns a datetime given a number, string or date expression. |
| Example | DATETIME("April 15, 2005 07:59:00") = April 15, 2005 07:59:00 |
| Syntax | DATETRUNC(date_part, date, [start_of_week]) |
| Output | Date |
| Definition | Truncates the <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. |
| Example | DATETRUNC('day', #9/22/2018#) = #9/22/2018#DATETRUNC('iso-week', #9/22/2018#) = #9/17/2018#(the Monday of the week containing 22/09/2018) DATETRUNC(quarter, #9/22/2018#) = #7/1/2018# (the first day of the quarter containing 22/09/2018) Note: For week and iso-week, the |
| Notes | Supports ISO 8601 dates. You shouldn't use For example, |
| Syntax | DAY(date) |
| Output | Integer |
| Definition | Returns the day of the given <date> as an integer. |
| Example | Day(#September 22, 2018#) = 22 |
| Notes | See also WEEK, MONTH, Quarter, YEAR and the ISO equivalents |
| Syntax | DEGREES(number)The number argument is the angle in radians. |
| Output | Number (degrees) |
| Definition | Converts an angle in radians to degrees. |
| Example | DEGREES(PI( )/4) = 45.0 |
| Notes | The inverse function, See also |
| Syntax | DISTANCE(<SpatialPoint1>, <SpatialPoint2>, 'units') |
| Output | Number |
| Definition | Returns the distance measurement between two points in the specified units. |
| Example | DISTANCE([Origin Point],[Destination Point], 'km') |
| Notes | Supported unit names (must be in quotation marks in the calculation):
|
| Database limitations | This function can only be created with a live connection but will continue to work if the data source is converted to an extract. |
| Syntax | DIV(integer1, integer2) |
| Output | Integer |
| Definition | Returns the integer part of a division operation, in which <integer1> is divided by <integer2>. |
| Example | DIV(11,2) = 5 |
| Syntax | CASE <expression>
|
| Definition | An optional piece of an IF or CASE expression used to specify a default value to return if none of the tested expressions are true. |
| Example | IF [Season] = "Summer" THEN 'Sandals' CASE [Season] |
| Notes | Used with CASE, WHEN, IF, ELSEIF, THEN and END
|
| Syntax | [ELSEIF <test2> THEN <then2>] |
| Definition | An optional piece of an IF expression used to specify additional conditions beyond the initial IF. |
| Example | IF [Season] = "Summer" THEN 'Sandals' |
| Notes | Used with IF, THEN, ELSE and END
Unlike |
| Definition | Used to close an IF or CASE expression. |
| Example | IF [Season] = "Summer" THEN 'Sandals' "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither of the expressions are true, return Sneakers." CASE [Season] "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes |
| Syntax | ENDSWITH(string, substring) |
| Output | Boolean |
| Definition | Returns true if the given <string> ends with the specified <substring>. Trailing white spaces are ignored. |
| Example | ENDSWITH("Tableau", "leau") = true |
| Notes | See also the supported RegEx in the additional functions documentation. |
| Syntax | EXP(number) |
| Output | Number |
| Definition | Returns e raised to the power of the given <number>. |
| Example | EXP(2) = 7.389 |
| Notes | See also LN. |
| Syntax | FIND(string, substring, [start]) |
| Output | Number |
| Definition | Returns the index position of If the optional numeric argument |
| Example | FIND("Calculation", "alcu") = 2FIND("Calculation", "Computer") = 0FIND("Calculation", "a", 3) = 7FIND("Calculation", "a", 2) = 2FIND("Calculation", "a", 8) = 0 |
| Notes | See also the supported RegEx in the additional functions documentation. |
| Syntax | FINDNTH(string, substring, occurrence) |
| Output | Number |
| Definition | Returns the position of the nth occurrence of <substring> within the specified <string>, where n is defined by the <occurence> argument. |
| Example | FINDNTH("Calculation", "a", 2) = 7 |
| Notes |
See also the supported RegEx in the additional functions documentation. |
| Syntax | FLOAT(expression) |
| Output | Floating point number (decimal) |
| Definition | Casts its argument as a floating point number. |
| Example | FLOAT(3) = 3.000 |
| Notes | See also INT, which returns an integer. |
| Syntax | FLOOR(number) |
| Output | Integer |
| Definition | Rounds a <number> to the nearest integer of equal or lesser value. |
| Example | FLOOR(7.9) = 7 |
| Notes | See also CEILING and ROUND. |
| Database limitations |
|
| Syntax | FULLNAME( ) |
| Output | String |
| Definition | Returns the full name for the current user. |
| Example | FULLNAME( ) This returns the full name of the signed-in user, such as "Hamlin Myrer". [Manager] = FULLNAME( ) If manager "Hamlin Myrer" is signed in, this example returns TRUE only if the Manager field in the view contains "Hamlin Myrer". |
| Notes | This function checks:
User filters When used as a filter, a calculated field such as |
| Syntax | HEXBINX(number, number) |
| Output | Number |
| Definition | Maps an x, y coordinate to the x-coordinate of the nearest hexagonal bin. The bins have side length 1, so the inputs may need to be scaled appropriately. |
| Example | HEXBINX([Longitude]*2.5, [Latitude]*2.5) |
| Notes | HEXBINX and HEXBINY are binning and plotting functions for hexagonal bins. Hexagonal bins are an efficient and elegant option for visualising data in an x/y plane such as a map. Because the bins are hexagonal, each bin closely approximates a circle and minimises variation in the distance from the data point to the centre of the bin. This makes the clustering both more accurate and informative. |
| Syntax | HEXBINY(number, number) |
| Output | Number |
| Definition | Maps an x, y coordinate to the y-coordinate of the nearest hexagonal bin. The bins have side length 1, so the inputs may need to be scaled appropriately. |
| Example | HEXBINY([Longitude]*2.5, [Latitude]*2.5) |
| Notes | See also HEXBINX. |
| Syntax | IF <test1> THEN <then1> |
| Output | Depends on data type of the <then> values. |
| Definition | Tests a series of expressions and returns the |
| Example | IF [Season] = "Summer" THEN 'Sandals' "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither of the expressions are true, return Sneakers." |
| Notes |
| Syntax | IFNULL(expr1, expr2) |
| Output | Depends on the data type of the <expr> values. |
| Definition | Returns |
| Example | IFNULL([Assigned Room], "TBD") "If the Assigned Room field isn't null, return its value. If the Assigned room field is null, return TBD instead." |
| Notes | Compare with ISNULL. See also ZN. |
| Syntax | IIF(<test>, <then>, <else>, [<unknown>]) |
| Output | Depends on the data type of the values in the expression. |
| Definition | Checks whether a condition is met (<test>) and returns <then> if the test is true, <else> if the test is false and an optional value for <unknown> if the test is null. If the optional unknown isn't specified, IIF returns null. |
| Example | IIF([Season] = 'Summer', 'Sandals', 'Other footwear') "If Season = Summer, then return Sandals. If not, return Other footwear" IIF([Season] = 'Summer', 'Sandals', "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither are true, return Sneakers." IIF('Season' = 'Summer', 'Sandals', "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If none of the expressions are true, return Sneakers." |
| Notes |
That is to say, in the calculation below, the result will be Red, not Orange, because the expression stops being evaluated as soon as A=A is evaluated as true:
|
| Syntax | <expr1> IN <expr2> |
| Output | Boolean (true or false) |
| Definition | Returns TRUE if any value in <expr1> matches any value in <expr2>. |
| Example | SUM([Cost]) IN (1000, 15, 200) "Is the value of the Cost field 1000, 15 or 200?" [Field] IN [Set] "Is the value of the field present in the set?" |
| Notes | The values in See also WHEN. |
| Syntax | INT(expression) |
| Output | Integer |
| Definition | Casts its argument as an integer. For expressions, this function truncates results to the closest integer toward zero. |
| Example | INT(8/3) = 2 INT(-9.7) = -9 |
| Notes | When a string is converted to an integer it is first converted to a float and then rounded. See also |
| Syntax | INTERSECTS (<geometry1>, <geometry2>) |
| Output | Boolean |
| Definition | Returns true or false indicating whether two geometries overlap in space. |
| Notes | Supported combinations: point/polygon, line/polygon and polygon/polygon. |
| Syntax | ISDATE(string) |
| Output | Boolean |
| Definition | Returns true if a given <string> is a valid date. |
| Example | ISDATE(09/22/2018) = true ISDATE(22SEP18) = false |
| Notes | The required argument must be a string. ISDATE cannot be used for a field with a date data type – the calculation will return an error. |
| Syntax | ISFULLNAME("User Full Name") |
| Output | Boolean |
| Definition | Returns |
| Example | ISFULLNAME("Hamlin Myrer") |
| Notes | The This function checks:
|
| Syntax | ISMEMBEROF("Group Name") |
| Output | Boolean or null |
| Definition | Returns |
| Example | ISMEMBEROF('Superstars')ISMEMBEROF('domain.lan\Sales') |
| Notes | The If the user is signed in to Tableau Cloud or Tableau Server, group membership is determined by Tableau groups. The function will return TRUE if the given string is "All Users" The |
| Syntax | ISNULL(expression) |
| Output | Boolean (true or false) |
| Definition | Returns true if the |
| Example | ISNULL([Assigned Room]) "Is the Assigned Room field null?" |
| Notes | Compare with IFNULL. See also ZN. |
| Syntax | ISOQUARTER(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based quarter of a given <date> as an integer. |
| Example | ISOQUARTER(#1986-03-25#) = 1 |
| Notes | See also ISOWEEK, ISOWEEKDAY, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOWEEK(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based week of a given <date> as an integer. |
| Example | ISOWEEK(#1986-03-25#) = 13 |
| Notes | See also ISOWEEKDAY, ISOQUARTER, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOWEEKDAY(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based weekday of a given <date> as an integer. |
| Example | ISOWEEKDAY(#1986-03-25#) = 2 |
| Notes | See also ISOWEEK, ISOQUARTER, ISOYEAR and the non-ISO equivalents |
| Syntax | ISOYEAR(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based year of a given date as an integer. |
| Example | ISOYEAR(#1986-03-25#) = 1,986 |
| Notes | See also ISOWEEK, ISOWEEKDAY, ISOQUARTER and the non-ISO equivalents. |
| Syntax | ISUSERNAME("username") |
| Output | Boolean |
| Definition | Returns TRUE if the current user's username matches the specified <username> or FALSE if it does not match. |
| Example | ISUSERNAME("hmyrer") |
| Notes | The This function checks:
|
| Syntax | LEFT(string, number) |
| Output | String |
| Definition | Returns the left-most <number> of characters in the string. |
| Example | LEFT("Matador", 4) = "Mata" |
| Notes | See also MID and RIGHT. |
| Syntax | LEN(string) |
| Output | Number |
| Definition | Returns the length of the <string>. |
| Example | LEN("Matador") = 7 |
| Notes | Not to be confused with the spatial function LENGTH. |
| Syntax | LENGTH(geometry, 'units') |
| Output | Number |
| Definition | Returns the geodetic path length of the line string or strings in the <geometry> using the given <units>. |
| Example | LENGTH([Spatial], 'metres') |
| Notes | The result is Not to be confused with the string function |
| Syntax | LN(number) |
| Output | Number The output is |
| Definition | Returns the natural logarithm of a <number>. |
| Example | LN(50) = 3.912023005 |
| Notes | See also EXP and LOG. |
| Syntax | LOG(number, [base])If the optional base argument isn't present, base 10 is used. |
| Output | Number |
| Definition | Returns the logarithm of a <number> for the given <base>. |
| Example | LOG(16,4) = 2 |
| Notes | See also POWER LN. |
| Syntax | LOWER(string) |
| Output | String |
| Definition | Returns the provided <string> in all lowercase characters. |
| Example | LOWER("ProductVersion") = "productversion" |
| Notes | See also UPPER and PROPER. |
| Syntax | LTRIM(string) |
| Output | String |
| Definition | Returns the provided <string> with any leading spaces removed. |
| Example | LTRIM(" Matador ") = "Matador " |
| Notes | See also RTRIM. |
| Syntax | MAKEDATE(year, month, day) |
| Output | Date |
| Definition | Returns a date value constructed from the specified <year>, <month> and <day>. |
| Example | MAKEDATE(1986,3,25) = #1986-03-25# |
| Notes | Note: Incorrectly entered values will be adjusted into a date, such as Available for Tableau Data Extracts. Check for availability in other data sources.
|
| Syntax | MAKEDATETIME(date, time) |
| Output | Datetime |
| Definition | 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. |
| Example | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
| Notes | This function is available only for MySQL-compatible connections (which for Tableau are MySQL and Amazon Aurora).
|
| Syntax | MAKELINE(SpatialPoint1, SpatialPoint2) |
| Output | Geometry (line) |
| Definition | Generates a line mark between two points |
| Example | MAKELINE(MAKEPOINT(47.59, -122.32), MAKEPOINT(48.5, -123.1)) |
| Notes | Useful for building origin-destination maps. |
| Syntax | MAKEPOINT(latitude, longitude, [SRID]) |
| Output | Geometry (point) |
| Definition | Converts data from If the optional |
| Example | MAKEPOINT(48.5, -123.1) MAKEPOINT([AirportLatitude], [AirportLongitude]) MAKEPOINT([Xcoord],[Ycoord], 3493) |
| Notes |
SRID is a spatial reference identifier that uses ESPG reference system codes to specify coordinate systems. If SRID is not specified, WGS84 is assumed and parameters are treated as latitude/longitude in degrees. You can use |
| Syntax | MAKETIME(hour, minute, second) |
| Output | Datetime |
| Definition | Returns a date value constructed from the specified <hour>, <minute> and <second>. |
| Example | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
| Notes | Because Tableau does not support a time data type, only datetime, the output is a datetime. The date portion of the field will be 1/1/1899. Similar function to |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MEDIAN(expression) |
| Definition | Returns the median of an expression across all records. Null values are ignored. |
| Notes | MEDIAN can only be used with numeric fields. |
| Database limitations |
For other data source types, you can extract your data into an extract file to use this function. See Extract Your Data. |
| Syntax | (MID(string, start, [length]) |
| Output | String |
| Definition | Returns a string starting at the specified If the optional numeric argument |
| Example | MID("Calculation", 2) = "alculation"MID("Calculation", 2, 5) ="alcul" |
| Notes | See also the supported RegEx in the additional functions documentation. |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MODEL_PERCENTILE(
|
| Definition | Returns the probability (between 0 and 1) of the expected value being less than or equal to the observed mark, defined by the target expression and other predictors. This is the Posterior Predictive Distribution Function, also known as the Cumulative Distribution Function (CDF). |
| Example | MODEL_PERCENTILE( SUM([Sales]),COUNT([Orders])) |
| Syntax | MODEL_QUANTILE(
|
| Definition | Returns a target numeric value within the probable range defined by the target expression and other predictors, at a specified quantile. This is the Posterior Predictive Quantile. |
| Example | MODEL_QUANTILE(0.5, SUM([Sales]), COUNT([Orders])) |
| Syntax | MONTH(date) |
| Output | Integer |
| Definition | Returns the month of the given <date> as an integer. |
| Example | MONTH(#1986-03-25#) = 3 |
| Notes | See also DAY, WEEK, Quarter, YEAR and the ISO equivalents |
| Syntax | NOT <expression> |
| Output | Boolean (true or false) |
| Definition | Performs logical negation on an expression. |
| Example | IF NOT [Season] = "Summer" "If Season doesn't equal Summer, then return Don't wear sandals. If not, return Wear sandals." |
| Notes | Often used with IF and IIF. See also The Tableau functions in this reference are organised alphabetically. Click a letter to jump to that location in the list. You can also use Ctrl+F (Command-F on a Mac) to open a search box to look for a specific function. and OR. |
| Syntax | NOW() |
| Output | Datetime |
| Definition | Returns the current local system date and time. |
| Example | NOW() = 1986-03-25 1:08:21 PM |
| Notes |
See also If the data source is a live connection, the system date and time could be in another time zone. For more information on how to address this, see the Knowledge Base. |
| Syntax | <expr1> OR <expr2> |
| Output | Boolean (true or false) |
| Definition | Performs a logical disjunction on two expressions. |
| Example | IF [Season] = "Spring" OR [Season] = "Fall" "If either (Season = Spring) or (Season = Fall) is true, then return Sneakers." |
| Notes | Often used with IF and IIF. See also The Tableau functions in this reference are organised alphabetically. Click a letter to jump to that location in the list. You can also use Ctrl+F (Command-F on a Mac) to open a search box to look for a specific function. and NOT. If either expression is If you create a calculation which displays the result of an Note: The |
| Syntax | OUTLINE(<spatial polygon>) |
| Output | Geometry |
| Definition | Converts a polygon geometry into linestrings. |
| Notes | Useful for creating a separate layer for an outline that can be styled differently than the fill. Supports polygons within multipolygons. |
| Syntax | PERCENTILE(expression, number) |
| Definition | Returns the percentile value from the given <expression> corresponding to the specified <number>. The <number> must be between 0 and 1 (inclusive) and must be a numeric constant. |
| Example | PERCENTILE([Score], 0.9) |
| Database limitations | This function is available for the following data sources: Non-legacy Microsoft Excel and Text File connections, Extracts and extract-only data source types (for example, Google Analytics, OData or Salesforce), Sybase IQ 15.1 and later data sources, Oracle 10 and later data sources, Cloudera Hive and Hortonworks Hadoop Hive data sources, EXASolution 4.2 and later data sources. For other data source types, you can extract your data into an extract file to use this function. See Extract Your Data. |
| Syntax | PI() |
| Output | Number |
| Definition | Returns the numeric constant pi: 3.14159... |
| Example | PI() = 3.14159 |
| Notes | Useful for trig functions that take their input in radians. |
| Syntax | POWER(number, power) |
| Output | Number |
| Definition | Raises the <number> to the specified <power>. |
| Example | POWER(5,3) = 125 |
| Notes | You can also use the ^ symbol, such as 5^3 = POWER(5,3) = 125 |
| Syntax | PROPER(string) |
| Output | String |
| Definition | Returns the provided |
| Example | PROPER("PRODUCT name") = "Product Name"PROPER("darcy-mae") = "Darcy-Mae" |
| Notes | Spaces and non-alphanumeric characters such as punctuation are treated as separators. |
| Syntax | QUARTER(date) |
| Output | Integer |
| Definition | Returns the quarter of the given <date> as an integer. |
| Example | QUARTER(#1986-03-25#) = 1 |
| Notes | See also DAY, WEEK, MONTH, YEAR and the ISO equivalents |
| Syntax | RADIANS(number) |
| Output | Number (angle in radians) |
| Definition | Converts the given <number> from degrees to radians. |
| Example | RADIANS(180) = 3.14159 |
| Notes | The inverse function, DEGREES, takes an angle in radians and returns the angle in degrees. |
| Syntax | REPLACE(string, substring, replacement |
| Output | String |
| Definition | Searches <string> for <substring> and replaces it with <replacement>. If <substring> is not found, the string is not changed. |
| Example | REPLACE("Version 3.8", "3.8", "4x") = "Version 4x" |
| Notes | See also REGEXP_REPLACE in the additional functions documentation. |
| Syntax | RIGHT(string, number) |
| Output | String |
| Definition | Returns the right-most <number> of characters in the string. |
| Example | RIGHT("Calculation", 4) = "tion" |
| Notes | See also LEFT and MID. |
| Syntax | ROUND(number, [decimals]) |
| Output | Number |
| Definition | Rounds the The optional |
| Example | ROUND(1/3, 2) = 0.33 |
| Notes | Some databases, such as SQL Server, allow specification of a negative length, where -1 rounds number to the tens place, -2 rounds to the hundreds place and so on. This is not true of all databases. For example, it is not true of Excel or Access.
|
| Syntax | RTRIM(string) |
| Output | String |
| Definition | Returns the provided <string> with any trailing spaces removed. |
| Example | RTRIM(" Calculation ") = " Calculation" |
| Notes | See also LTRIM and TRIM. |
| Syntax | SHAPETYPE(<geometry>) |
| Output | String |
| Definition | Returns a string describing the structure of the spatial geometry, such as Empty, Point, MultiPoint, LineString, MultiLinestring, Polygon, MultiPolygon, Mixed and unsupported |
| Example | SHAPETYPE(MAKEPOINT(48.5, -123.1)) = "Point" |
| Syntax | SIGN(number) |
| Output | -1, 0 or 1 |
| Definition | Returns the sign of a <number>: The possible return values are -1 if the number is negative, 0 if the number is zero or 1 if the number is positive. |
| Example | SIGN(AVG(Profit)) = -1 |
| Notes | See also ABS. |
| Syntax | SIN(number) |
| Output | Number |
| Definition | Returns the sine of an angle in radians. |
| Example | SIN(0) = 1.0 |
| Notes | The inverse function, See also |
| Syntax | SPACE(number) |
| Output | String (specifically, just spaces) |
| Definition | Returns a string that is composed of the specified number of repeated spaces. |
| Example | SPACE(2) = " " |
| Syntax | SPLIT(string, delimiter, token number) |
| Output | String |
| Definition | Returns a substring from a <string>, using a <delimiter> character to divide the string into a sequence of <tokens>. |
| Example | SPLIT ("a-b-c-d", "-", 2) = "b"SPLIT ("a|b|c|d", "|", -2) = "c" |
| Notes | The string is interpreted as an alternating sequence of delimiters and tokens. So for the string
See also supported RegEX in the additional functions documentation. |
| Database limitations | The split and custom split commands are available for the following data sources types: Tableau data extracts, Microsoft Excel, Text File, PDF File, Salesforce, OData, Microsoft Azure Market Place, Google Analytics, Vertica, Oracle, MySQL, PostgreSQL, Teradata, Amazon Redshift, Aster Data, Google Big Query, Cloudera Hadoop Hive, Hortonworks Hive and Microsoft SQL Server. Some data sources impose limits on splitting strings. See SPLIT function limitations later in this topic. |
| Syntax | SQRT(number) |
| Output | Number |
| Definition | Returns the square root of a <number>. |
| Example | SQRT(25) = 5 |
| Notes | See also SQUARE. |
| Syntax | SQUARE(number) |
| Output | Number |
| Definition | Returns the square of a <number>. |
| Example | SQUARE(5) = 25 |
| Notes | See also SQRT and POWER. |
| Syntax | STARTSWITH(string, substring) |
| Output | Boolean |
| Definition | Returns true if string starts with substring. Leading white spaces are ignored. |
| Example | STARTSWITH("Matador, "Ma") = TRUE |
| Notes | See also CONTAINS, as well as supported RegEX in the additional functions documentation. |
| Syntax | STDEV(expression) |
| Definition | Returns the statistical standard deviation of all values in the given <expression> based on a sample of the population. |
| Syntax | STDEVP(expression) |
| Definition | Returns the statistical standard deviation of all values in the given <expression> based on a biased population. |
| Syntax | STR(expression) |
| Output | String |
| Definition | Casts its argument as a string. |
| Example | STR([ID]) |
| Syntax | SUM(expression) |
| Definition | Returns the sum of all values in the <expression>. Null values are ignored. |
| Notes | SUM can only be used with numeric fields. |
| Syntax | TAN(number)The |
| Output | Number |
| Definition | Returns the tangent of an angle. |
| Example | TAN(PI ( )/4) = 1.0 |
| Notes | See also ATAN, ATAN2, COT and PI. To convert an angle from degrees to radians, use RADIANS. |
| Syntax | IF <test1> THEN <then1>
|
| Definition | A required part of an IF, ELSEIF or CASE expression, used to define what result to return if a specific value or test is true. |
| Example | IF [Season] = "Summer" THEN 'Sandals' "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither of the expressions are true, return Sneakers." CASE [Season] "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes |
| Syntax | TODAY() |
| Output | Date |
| Definition | Returns the current local system date. |
| Example | TODAY() = 1986-03-25 |
| Notes |
See also If the data source is a live connection, the system date could be in another time zone. For more information on how to address this, see the Knowledge Base. |
| Syntax | TRIM(string) |
| Output | String |
| Definition | Returns the provided <string> with leading and trailing spaces removed. |
| Example | TRIM(" Calculation ") = "Calculation" |
| Notes | See also LTRIM and RTRIM. |
| Syntax | UPPER(string) |
| Output | String |
| Definition | Returns the provided <string> in all uppercase characters. |
| Example | UPPER("Calculation") = "CALCULATION" |
| Notes | See also PROPER and LOWER. |
| Syntax | USERDOMAIN( ) |
| Output | String |
| Definition | Returns the domain for the current user. |
| Notes | This function checks:
|
| Syntax | USERNAME( ) |
| Output | String |
| Definition | Returns the username for the current user. |
| Example | USERNAME( ) This returns the username of the signed-in user, such as "hmyrer". [Manager] = USERNAME( ) If manager "hmyrer" is signed in, this example returns TRUE only if the Manager field in the view contains "hmyrer". |
| Notes | This function checks:
User filters When used as a filter, a calculated field such as |
| Syntax | VAR(expression) |
| Definition | Returns the statistical variance of all values in the given expression based on a sample of the population. |
| Syntax | VARP(expression) |
| Definition | Returns the statistical variance of all values in the given expression on the entire population. |
| Syntax | WEEK(date) |
| Output | Integer |
| Definition | Returns the week of the given <date> as an integer. |
| Example | WEEK(#1986-03-25#) = 13 |
| Notes | See also DAY, MONTH, Quarter, YEAR and the ISO equivalents |
| Syntax | CASE <expression> |
| Definition | A required part of a CASE expression. Finds the first <value> that matches <expression> and returns the corresponding <then>. |
| Example | CASE [Season] "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes | Used with CASE, THEN, ELSE and END.
CASE <expression> The values that |
| Syntax | YEAR(date) |
| Output | Integer |
| Definition | Returns the year of the given <date> as an integer. |
| Example | YEAR(#1986-03-25#) = 1,986 |
| Notes | See also DAY, WEEK, MONTH, Quarter and the ISO equivalents |
| Syntax | ZN(expression) |
| Output | Depends on the data type of the <expression>, or 0. |
| Definition | Returns <expression> if it isn't null; otherwise returns zero. |
| Example | ZN([Test Grade]) "If the test grade isn't null, return its value. If the test grade is null, return 0." |
| Notes |
See also ISNULL. |
| Syntax | ABS(number) |
| Output | Number (positive) |
| Definition | Returns the absolute value of the given <number>. |
| Example | ABS(-7) = 7 The second example returns the absolute value for all the numbers contained in the Budget Variance field. |
| Notes | See also SIGN. |
| Syntax | ACOS(number) |
| Output | Number (angle in radians) |
| Definition | Returns the arccosine (angle) of the given <number>. |
| Example | ACOS(-1) = 3.14159265358979 |
| Notes | The inverse function, COS, takes the angle in radians as the argument and returns the cosine. |
| Syntax | ASIN(number) |
| Output | Number (angle in radians) |
| Definition | Returns the arcsine (angle) of a given <number>. |
| Example | ASIN(1) = 1.5707963267949 |
| Notes | The inverse function, SIN, takes the angle in radians as the argument and returns the sine. |
| Syntax | ATAN(number) |
| Output | Number (angle in radians) |
| Definition | Returns the arctangent (angle) of a given <number>. |
| Example | ATAN(180) = 1.5652408283942 |
| Notes | The inverse function, |
| Syntax | ATAN2(y number, x number) |
| Output | Number (angle in radians) |
| Definition | Returns the arctangent (angle) between two numbers (x and y). The result is in radians. |
| Example | ATAN2(2, 1) = 1.10714871779409 |
| Notes | See also ATAN, TAN and COT. |
| Syntax | CEILING(number) |
| Output | Integer |
| Definition | Rounds a <number> to the nearest integer of equal or greater value. |
| Example | CEILING(2.1) = 3 |
| Notes | See also FLOOR and ROUND. |
| Database limitations |
|
| Syntax | COS(number)The number argument is the angle in radians. |
| Output | Number |
| Definition | Returns the cosine of an angle. |
| Example | COS(PI( ) /4) = 0.707106781186548 |
| Notes | The inverse function, See also |
| Syntax | COT(number)The number argument is the angle in radians. |
| Output | Number |
| Definition | Returns the cotangent of an angle. |
| Example | COT(PI( ) /4) = 1 |
| Notes | See also ATAN, TAN and PI. To convert an angle from degrees to radians, use RADIANS. |
| Syntax | DEGREES(number)The number argument is the angle in radians. |
| Output | Number (degrees) |
| Definition | Converts an angle in radians to degrees. |
| Example | DEGREES(PI( )/4) = 45.0 |
| Notes | The inverse function, See also |
| Syntax | DIV(integer1, integer2) |
| Output | Integer |
| Definition | Returns the integer part of a division operation, in which <integer1> is divided by <integer2>. |
| Example | DIV(11,2) = 5 |
| Syntax | EXP(number) |
| Output | Number |
| Definition | Returns e raised to the power of the given <number>. |
| Example | EXP(2) = 7.389 |
| Notes | See also LN. |
| Syntax | FLOOR(number) |
| Output | Integer |
| Definition | Rounds a number to the nearest <number> of equal or lesser value. |
| Example | FLOOR(7.9) = 7 |
| Notes | See also CEILING and ROUND. |
| Database limitations |
|
| Syntax | HEXBINX(number, number) |
| Output | Number |
| Definition | Maps an x, y coordinate to the x-coordinate of the nearest hexagonal bin. The bins have side length 1, so the inputs may need to be scaled appropriately. |
| Example | HEXBINX([Longitude]*2.5, [Latitude]*2.5) |
| Notes | HEXBINX and HEXBINY are binning and plotting functions for hexagonal bins. Hexagonal bins are an efficient and elegant option for visualising data in an x/y plane such as a map. Because the bins are hexagonal, each bin closely approximates a circle and minimises variation in the distance from the data point to the centre of the bin. This makes the clustering both more accurate and informative. |
| Syntax | HEXBINY(number, number) |
| Output | Number |
| Definition | Maps an x, y coordinate to the y-coordinate of the nearest hexagonal bin. The bins have side length 1, so the inputs may need to be scaled appropriately. |
| Example | HEXBINY([Longitude]*2.5, [Latitude]*2.5) |
| Notes | See also HEXBINX. |
| Syntax | LN(number) |
| Output | Number The output is |
| Definition | Returns the natural logarithm of a <number>. |
| Example | LN(50) = 3.912023005 |
| Notes | See also EXP and LOG. |
| Syntax | LOG(number, [base])If the optional base argument isn't present, base 10 is used. |
| Output | Number |
| Definition | Returns the logarithm of a number for the given base. |
| Example | LOG(16,4) = 2 |
| Notes | See also POWER LN. |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | PI() |
| Output | Number |
| Definition | Returns the numeric constant pi: 3.14159... |
| Example | PI() = 3.14159 |
| Notes | Useful for trig functions that take their input in radians. See also RADIANS. |
| Syntax | POWER(number, power) |
| Output | Number |
| Definition | Raises the <number> to the specified <power>. |
| Example | POWER(5,3) = 125 |
| Notes | You can also use the ^ symbol, such as 5^3 = POWER(5,3) = 125 |
| Syntax | RADIANS(number) |
| Output | Number (angle in radians) |
| Definition | Converts the given <number> from degrees to radians. |
| Example | RADIANS(180) = 3.14159 |
| Notes | The inverse function, DEGREES, takes an angle in radians and returns the angle in degrees. |
| Syntax | ROUND(number, [decimals]) |
| Output | Number |
| Definition | Rounds The optional |
| Example | ROUND(1/3, 2) = 0.33 |
| Notes | Some databases, such as SQL Server, allow specification of a negative length, where -1 rounds number to 10s, -2 rounds to 100s and so on. This is not true of all databases. For example, it is not true of Excel or Access.
|
| Syntax | SIGN(number) |
| Output | -1, 0 or 1 |
| Definition | Returns the sign of a <number>: The possible return values are -1 if the number is negative, 0 if the number is zero or 1 if the number is positive. |
| Example | SIGN(AVG(Profit)) = -1 |
| Notes | See also ABS. |
| Syntax | SIN(number)The number argument is the angle in radians. |
| Output | Number |
| Definition | Returns the sine of an angle. |
| Example | SIN(0) = 1.0 |
| Notes | The inverse function, See also |
| Syntax | SQRT(number) |
| Output | Number |
| Definition | Returns the square root of a <number>. |
| Example | SQRT(25) = 5 |
| Notes | See also SQUARE. |
| Syntax | SQUARE(number) |
| Output | Number |
| Definition | Returns the square of a <number>. |
| Example | SQUARE(5) = 25 |
| Notes | See also SQRT and POWER. |
| Syntax | TAN(number)The number argument is the angle in radians. |
| Output | Number |
| Definition | Returns the tangent of an angle. |
| Example | TAN(PI ( )/4) = 1.0 |
| Notes | See also ATAN, ATAN2, COT and PI. To convert an angle from degrees to radians, use RADIANS. |
| Syntax | ZN(expression) |
| Output | Any, or o |
| Definition | Returns the Use this function to replace null values with zeros. |
| Example | ZN(Grade) = 0 |
| Notes | This is a very useful function when using fields that may contain nulls in a calculation. Wrapping the field with ZN can prevent errors caused by calculating with nulls. |
| Syntax | ASCII(string) |
| Output | Number |
| Definition | Returns the ASCII code for the first character of a <string>. |
| Example | ASCII('A') = 65 |
| Notes | This is the inverse of the CHAR function. |
| Syntax | CHAR(number) |
| Output | String |
| Definition | Returns the character encoded by the ASCII code <number>. |
| Example | CHAR(65) = 'A' |
| Notes | This is the inverse of the ASCII function. |
| Syntax | CONTAINS(string, substring) |
| Output | Boolean |
| Definition | Returns true if the given string contains the specified substring. |
| Example | CONTAINS("Calculation", "alcu") = true |
| Notes | See also the logical function Depending on the data source, CONTAINS may be case sensitive. That is, for some data sources, |
| Syntax | ENDSWITH(string, substring) |
| Output | Boolean |
| Definition | Returns true if the given string ends with the specified substring. Trailing white spaces are ignored. |
| Example | ENDSWITH("Tableau", "leau") = true |
| Notes | See also the supported RegEx in the additional functions documentation. |
| Syntax | FIND(string, substring, [start]) |
| Output | Number |
| Definition | Returns the index position of substring in string, or 0 if the substring isn't found. The first character in the string is position 1. If the optional numeric argument |
| Example | FIND("Calculation", "alcu") = 2FIND("Calculation", "Computer") = 0FIND("Calculation", "a", 3) = 7FIND("Calculation", "a", 2) = 2FIND("Calculation", "a", 8) = 0 |
| Notes | See also the supported RegEx in the additional functions documentation. |
| Syntax | FINDNTH(string, substring, occurrence) |
| Output | Number |
| Definition | Returns the position of the nth occurrence of substring within the specified string, where n is defined by the occurrence argument. |
| Example | FINDNTH("Calculation", "a", 2) = 7 |
| Notes |
See also the supported RegEx in the additional functions documentation. |
| Syntax | LEFT(string, number) |
| Output | String |
| Definition | Returns the left-most <number> of characters in the string. |
| Example | LEFT("Matador", 4) = "Mata" |
| Notes | See also MID and RIGHT. |
| Syntax | LEN(string) |
| Output | Number |
| Definition | Returns the length of the string. |
| Example | LEN("Matador") = 7 |
| Notes | Not to be confused with the spatial function LENGTH. |
| Syntax | LOWER(string) |
| Output | String |
| Definition | Returns the provided <string> in all lowercase characters. |
| Example | LOWER("ProductVersion") = "productversion" |
| Notes | See also UPPER and PROPER. |
| Syntax | LTRIM(string) |
| Output | String |
| Definition | Returns the provided <string> with any leading spaces removed. |
| Example | LTRIM(" Matador ") = "Matador " |
| Notes | See also RTRIM. |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | (MID(string, start, [length]) |
| Output | String |
| Definition | Returns a string starting at the specified If the optional numeric argument |
| Example | MID("Calculation", 2) = "alculation"MID("Calculation", 2, 5) ="alcul" |
| Notes | See also the supported RegEx in the additional functions documentation. |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | PROPER(string) |
| Output | String |
| Definition | Returns the provided |
| Example | PROPER("PRODUCT name") = "Product Name"PROPER("darcy-mae") = "Darcy-Mae" |
| Notes | Spaces and non-alphanumeric characters such as punctuation are treated as separators. |
| Database limitations | PROPER is only available for some flat files and in extracts. If you need to use PROPER in a data source that doesn't otherwise support it, consider using an extract. |
| Syntax | REPLACE(string, substring, replacement |
| Output | String |
| Definition | Searches <string> for <substring> and replaces it with <replacement>. If <substring> is not found, the string is not changed. |
| Example | REPLACE("Version 3.8", "3.8", "4x") = "Version 4x" |
| Notes | See also REGEXP_REPLACE in the additional functions documentation. |
| Syntax | RIGHT(string, number) |
| Output | String |
| Definition | Returns the right-most <number> of characters in the string. |
| Example | RIGHT("Calculation", 4) = "tion" |
| Notes | See also LEFT and MID. |
| Syntax | RTRIM(string) |
| Output | String |
| Definition | Returns the provided <string> with any trailing spaces removed. |
| Example | RTRIM(" Calculation ") = " Calculation" |
| Notes | See also LTRIM and TRIM. |
| Syntax | SPACE(number) |
| Output | String (specifically, just spaces) |
| Definition | Returns a string that is composed of the specified number of repeated spaces. |
| Example | SPACE(2) = " " |
| Syntax | SPLIT(string, delimiter, token number) |
| Output | String |
| Definition | Returns a substring from a string, using a delimiter character to divide the string into a sequence of tokens. |
| Example | SPLIT ("a-b-c-d", "-", 2) = "b"SPLIT ("a|b|c|d", "|", -2) = "c" |
| Notes | The string is interpreted as an alternating sequence of delimiters and tokens. So for the string
See also supported RegEX in the additional functions documentation. |
| Database limitations | The split and custom split commands are available for the following data sources types: Tableau data extracts, Microsoft Excel, Text File, PDF File, Salesforce, OData, Microsoft Azure Market Place, Google Analytics, Vertica, Oracle, MySQL, PostgreSQL, Teradata, Amazon Redshift, Aster Data, Google Big Query, Cloudera Hadoop Hive, Hortonworks Hive and Microsoft SQL Server. Some data sources impose limits on splitting strings. See SPLIT function limitations later in this topic. |
| Syntax | STARTSWITH(string, substring) |
| Output | Boolean |
| Definition | Returns true if string starts with substring. Leading white spaces are ignored. |
| Example | STARTSWITH("Matador, "Ma") = TRUE |
| Notes | See also CONTAINS, as well as supported RegEX in the additional functions documentation. |
| Syntax | TRIM(string) |
| Output | String |
| Definition | Returns the provided <string> with leading and trailing spaces removed. |
| Example | TRIM(" Calculation ") = "Calculation" |
| Notes | See also LTRIM and RTRIM. |
| Syntax | UPPER(string) |
| Output | String |
| Definition | Returns the provided <string> in all uppercase characters. |
| Example | UPPER("Calculation") = "CALCULATION" |
| Notes | See also PROPER and LOWER. |
| Syntax | DATE(expression) |
| Output | Date |
| Definition | Returns a date given a number, string or date <expression>. |
| Example | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018")DATE(#2018-09-22 14:52#) |
| Notes | Unlike
|
| Syntax | DATEADD(date_part, interval, date) |
| Output | Date |
| Definition | Returns the <date> with the specified number <interval> added to the specified <date_part> of that date. For example, adding three months or 12 days to a starting date. |
| Example | Push out all due dates by one week DATEADD('week', 1, [due date])Add 280 days to the date February 20, 2021 DATEADD('day', 280, #2/20/21#) = #November 27, 2021# |
| Notes | Supports ISO 8601 dates. |
| Syntax | DATEDIFF(date_part, date1, date2, [start_of_week]) |
| Output | Integer |
| Definition | Returns the difference between <date1> and <date2> expressed in units of <date_part>. For example, subtracting the dates someone entered and left a band to see how long they were in the band. |
| Example | Number of days between 25th March 1986 and 20th February 2021 DATEDIFF('day', #3/25/1986#, #2/20/2021#) = 12,751How many months someone was in a band DATEDIFF('month', [date joined band], [date left band]) |
| Notes | Supports ISO 8601 dates. |
| Syntax | DATENAME(date_part, date, [start_of_week]) |
| Output | String |
| Definition | Returns <date_part> of <date> as a string. |
| Example | DATENAME('year', #3/25/1986#) = "1986"DATENAME('month', #1986-03-25#) = "March" |
| Notes | Supports ISO 8601 dates. A very similar calculation is DATEPART, which returns the value of the specified date part as a continuous integer. By changing the attributes of the calculation’s result (dimension or measure, continuous or discrete) and the date formatting, the results of An inverse function is DATEPARSE, which takes a string value and formats it as a date. |
| Syntax | DATEPARSE(date_format, date_string) |
| Output | Date |
| Definition | The <date_format> argument describes how the <date_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 and formatting details, see Convert a Field to a Date Field. |
| Example | DATEPARSE('yyyy-MM-dd', "1986-03-25") = #March 25, 1986# |
| Notes |
Inverse functions, which take dates apart and return the value of their parts, are |
| Database limitations |
|
| Syntax | DATEPART(date_part, date, [start_of_week]) |
| Output | Integer |
| Definition | Returns <date_part> of <date> as an integer. |
| Example | DATEPART('year', #1986-03-25#) = 1986DATEPART('month', #1986-03-25#) = 3 |
| Notes | Supports ISO 8601 dates. A very similar calculation is An inverse function is |
| Syntax | DATETRUNC(date_part, date, [start_of_week]) |
| Output | Date |
| Definition | Truncates the <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. |
| Example | DATETRUNC('day', #9/22/2018#) = #9/22/2018#DATETRUNC('iso-week', #9/22/2018#) = #9/17/2018#(the Monday of the week containing 22/09/2018) DATETRUNC(quarter, #9/22/2018#) = #7/1/2018# (the first day of the quarter containing 22/09/2018) Note: For week and iso-week, the |
| Notes | Supports ISO 8601 dates. You shouldn't use For example, |
| Syntax | DAY(date) |
| Output | Integer |
| Definition | Returns the day of the given <date> as an integer. |
| Example | Day(#September 22, 2018#) = 22 |
| Notes | See also WEEK, MONTH, QUARTER, YEAR and the ISO equivalents. |
| Syntax | ISDATE(string) |
| Output | Boolean |
| Definition | Returns true if a given <string> is a valid date. |
| Example | ISDATE(09/22/2018) = true ISDATE(22SEP18) = false |
| Notes | The required argument must be a string. ISDATE cannot be used for a field with a date data type – the calculation will return an error. |
| Syntax | ISOQUARTER(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based quarter of a given <date> as an integer. |
| Example | ISOQUARTER(#1986-03-25#) = 1 |
| Notes | See also ISOWEEK, ISOWEEKDAY, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOWEEK(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based week of a given <date> as an integer. |
| Example | ISOWEEK(#1986-03-25#) = 13 |
| Notes | See also ISOWEEKDAY, ISOQUARTER, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOWEEKDAY(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based weekday of a given <date> as an integer. |
| Example | ISOWEEKDAY(#1986-03-25#) = 2 |
| Notes | See also ISOWEEK, ISOQUARTER, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOYEAR(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based year of a given <date> as an integer. |
| Example | ISOYEAR(#1986-03-25#) = 1,986 |
| Notes | See also ISOWEEK, ISOWEEKDAY, ISOQUARTER and the non-ISO equivalents. |
| Syntax | MAKEDATE(year, month, day) |
| Output | Date |
| Definition | Returns a date value constructed from the specified <year>, <month> and <day>. |
| Example | MAKEDATE(1986,3,25) = #1986-03-25# |
| Notes | Note: Incorrectly entered values will be adjusted into a date, such as Available for Tableau Data Extracts. Check for availability in other data sources.
|
| Syntax | MAKEDATETIME(date, time) |
| Output | Datetime |
| Definition | 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. |
| Example | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
| Notes | This function is available only for MySQL-compatible connections (which for Tableau are MySQL and Amazon Aurora).
|
| Syntax | MAKETIME(hour, minute, second) |
| Output | Datetime |
| Definition | Returns a date value constructed from the specified <hour>, <minute> and <second>. |
| Example | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
| Notes | Because Tableau does not support a time data type, only datetime, the output is a datetime. The date portion of the field will be 1/1/1899. Similar function to |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MONTH(date) |
| Output | Integer |
| Definition | Returns the month of the given <date> as an integer. |
| Example | MONTH(#1986-03-25#) = 3 |
| Notes | See also DAY, WEEK, QUARTER, YEAR and the ISO equivalents |
| Syntax | NOW() |
| Output | Datetime |
| Definition | Returns the current local system date and time. |
| Example | NOW() = 1986-03-25 1:08:21 PM |
| Notes |
See also If the data source is a live connection, the system date and time could be in another time zone. For more information on how to address this, see the Knowledge Base. |
| Syntax | QUARTER(date) |
| Output | Integer |
| Definition | Returns the quarter of the given <date> as an integer. |
| Example | QUARTER(#1986-03-25#) = 1 |
| Notes | See also DAY, WEEK, MONTH, YEAR and the ISO equivalents |
| Syntax | TODAY() |
| Output | Date |
| Definition | Returns the current local system date. |
| Example | TODAY() = 1986-03-25 |
| Notes |
See also NOW, a similar calculation that returns a datetime instead of a date. If the data source is a live connection, the system date could be in another time zone. For more information on how to address this, see the Knowledge Base. |
| Syntax | WEEK(date) |
| Output | Integer |
| Definition | Returns the week of the given <date> as an integer. |
| Example | WEEK(#1986-03-25#) = 13 |
| Notes | See also DAY, MONTH, QUARTER, YEAR and the ISO equivalents |
| Syntax | YEAR(date) |
| Output | Integer |
| Definition | Returns the year of the given <date> as an integer. |
| Example | YEAR(#1986-03-25#) = 1,986 |
| Notes | See also DAY, WEEK, MONTH, QUARTER and the ISO equivalents |
| Syntax | <expr1> AND <expr2> |
| Definition | Performs a logical conjunction on two expressions. (If both sides are true, the logical test returns true.) |
| Output | Boolean (true or false) |
| Example | IF [Season] = "Spring" AND "[Season] = "Fall" “If both (Season = Spring) and (Season = Autumn) are true simultaneously, then return ‘It's the apocalypse and footwear doesn't matter’.” |
| Notes | Often used with IF and IIF. See also NOT and OR. If both expressions are If you create a calculation in which the result of an Note: The |
| Syntax | CASE <expression>
|
| Output | Depends on data type of the <then> values. |
| Definition | Evaluates the |
| Example | "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes | Used with WHEN, THEN, ELSE and END.
|
| Syntax | CASE <expression>
|
| Definition | An optional piece of an IF or CASE expression used to specify a default value to return if none of the tested expressions are true. |
| Example | IF [Season] = "Summer" THEN 'Sandals' CASE [Season] |
| Notes | Used with CASE, WHEN, IF, ELSEIF, THEN and END
|
| Syntax | [ELSEIF <test2> THEN <then2>] |
| Definition | An optional piece of an IF expression used to specify additional conditions beyond the initial IF. |
| Example | IF [Season] = "Summer" THEN 'Sandals' |
| Notes | Used with IF, THEN, ELSE and END
Unlike |
| Definition | Used to close an IF or CASE expression. |
| Example | IF [Season] = "Summer" THEN 'Sandals' "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither of the expressions are true, return Sneakers." CASE [Season] "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes |
| Syntax | IF <test1> THEN <then1> |
| Output | Depends on data type of the <then> values. |
| Definition | Tests a series of expressions and returns the |
| Example | IF [Season] = "Summer" THEN 'Sandals' "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither of the expressions are true, return Sneakers." |
| Notes |
| Syntax | IFNULL(expr1, expr2) |
| Output | Depends on the data type of the <expr> values. |
| Definition | Returns |
| Example | IFNULL([Assigned Room], "TBD") "If the Assigned Room field isn't null, return its value. If the Assigned room field is null, return TBD instead." |
| Notes | Compare with ISNULL. See also ZN. |
| Syntax | IIF(<test>, <then>, <else>, [<unknown>]) |
| Output | Depends on the data type of the values in the expression. |
| Definition | Checks whether a condition is met (<test>) and returns <then> if the test is true, <else> if the test is false and an optional value for <unknown> if the test is null. If the optional unknown isn't specified, IIF returns null. |
| Example | IIF([Season] = 'Summer', 'Sandals', 'Other footwear') "If Season = Summer, then return Sandals. If not, return Other footwear" IIF([Season] = 'Summer', 'Sandals', "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither are true, return Sneakers." IIF('Season' = 'Summer', 'Sandals', "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If none of the expressions are true, return Sneakers." |
| Notes |
That is to say, in the calculation below, the result will be Red, not Orange, because the expression stops being evaluated as soon as A=A is evaluated as true:
|
| Syntax | <expr1> IN <expr2> |
| Output | Boolean (true or false) |
| Definition | Returns TRUE if any value in <expr1> matches any value in <expr2>. |
| Example | SUM([Cost]) IN (1000, 15, 200) "Is the value of the Cost field 1000, 15 or 200?" [Field] IN [Set] "Is the value of the field present in the set?" |
| Notes | The values in See also WHEN. |
| Syntax | ISDATE(string) |
| Output | Boolean (true or false) |
| Definition | Returns true if a <string> is a valid date. The input expression must be a string (text) field. |
| Example | ISDATE("2018-09-22")"Is the string 2018-09-22 a properly formatted date?" |
| Notes | What is considered a valid date depends on the locale of the system evaluating the calculation. For example: In the USA:
In the UK:
|
| Syntax | ISNULL(expression) |
| Output | Boolean (true or false) |
| Definition | Returns true if the |
| Example | ISNULL([Assigned Room]) "Is the Assigned Room field null?" |
| Notes | Compare with IFNULL. See also ZN. |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | NOT <expression> |
| Output | Boolean (true or false) |
| Definition | Performs logical negation on an expression. |
| Example | IF NOT [Season] = "Summer" "If Season doesn't equal Summer, then return Don't wear sandals. If not, return Wear sandals." |
| Notes |
| Syntax | <expr1> OR <expr2> |
| Output | Boolean (true or false) |
| Definition | Performs a logical disjunction on two expressions. |
| Example | IF [Season] = "Spring" OR [Season] = "Fall" "If either (Season = Spring) or (Season = Fall) is true, then return Sneakers." |
| Notes | Often used with IF and IIF. See also DATE and NOT. If either expression is If you create a calculation that displays the result of an Note: The |
| Syntax | IF <test1> THEN <then1>
|
| Definition | A required part of an IF, ELSEIF or CASE expression, used to define what result to return if a specific value or test is true. |
| Example | IF [Season] = "Summer" THEN 'Sandals' "If Season = Summer, then return Sandals. If not, look at the next expression. If Season = Winter, then return Boots. If neither of the expressions are true, return Sneakers." CASE [Season] "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes |
| Syntax | CASE <expression>
|
| Definition | A required part of a CASE expression. Finds the first <value> that matches <expression> and returns the corresponding <then>. |
| Example | CASE [Season] "Look at the Season field. If the value is Summer, then return Sandals. If the value is Winter, then return Boots. If none of the options in the calculation match what is in the Season field, return Sneakers." |
| Notes | Used with CASE, THEN, ELSE and END.
CASE <expression> The values that |
| Syntax | ZN(expression) |
| Output | Depends on the data type of the <expression>, or 0. |
| Definition | Returns <expression> if it isn't null; otherwise returns zero. |
| Example | ZN([Test Grade]) "If the test grade isn't null, return its value. If the test grade is null, return 0." |
| Notes |
See also ISNULL. |
| Syntax | ATTR(expression) |
| Definition | Returns the value of the expression if it has a single value for all rows. Otherwise returns an asterisk. Null values are ignored. |
| Syntax | AVG(expression) |
| Definition | Returns the average of all the values in the expression. Null values are ignored. |
| Notes | AVG can only be used with numeric fields. |
| Syntax | COLLECT(spatial) |
| Definition | An aggregate calculation that combines the values in the argument field. Null values are ignored. |
| Notes | COLLECT can only be used with spatial fields. |
| Syntax | CORR(expression1, expression2) |
| Output | Number from -1 to 1 |
| Definition | Returns the Pearson correlation coefficient of two expressions. |
| Example | example |
| Notes | The Pearson correlation measures the linear relationship between two variables. Results range from -1 to +1 inclusive, where 1 denotes an exact positive linear relationship, 0 denotes no linear relationship between the variance and −1 is an exact negative relationship. The square of a CORR result is equivalent to the R-Squared value for a linear trend line model. See Trend Line Model Terms. Use with table-scoped LOD expressions: You can use CORR to visualise correlation in a disaggregated scatter using a table-scoped level of detail expression. For example: {CORR(Sales, Profit)}With a level of detail expression, the correlation is run over all rows. If you used a formula like |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | COUNT(expression) |
| Definition | Returns the number of items. Null values are not counted. |
| Syntax | COUNTD(expression) |
| Definition | Returns the number of distinct items in a group. Null values are not counted. |
| Syntax | COVAR(expression1, expression2) |
| Definition | Returns the sample covariance of two expressions. |
| Notes | Covariance quantifies how two variables change together. A positive covariance indicates that the variables tend to move in the same direction, as when larger values of one variable tend to correspond to larger values of the other variable, on average. Sample covariance uses the number of non-null data points n-1 to normalise the covariance calculation, rather than n, which is used by the population covariance (available with the If The value of |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | COVARP(expression 1, expression2) |
| Definition | Returns the population covariance of two expressions. |
| Notes | Covariance quantifies how two variables change together. A positive covariance indicates that the variables tend to move in the same direction, as when larger values of one variable tend to correspond to larger values of the other variable, on average. Population covariance is sample covariance multiplied by (n-1)/n, where n is the total number of non-null data points. Population covariance is the appropriate choice when there is data available for all items of interest as opposed to when there is only a random subset of items, in which case sample covariance (with the If |
| Database limitations |
For other data sources, consider either extracting the data or using |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MEDIAN(expression) |
| Definition | Returns the median of an expression across all records. Null values are ignored. |
| Notes | MEDIAN can only be used with numeric fields. |
| Database limitations |
For other data source types, you can extract your data into an extract file to use this function. See Extract Your Data. |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | PERCENTILE(expression, number) |
| Definition | Returns the percentile value from the given expression corresponding to the specified <number>. The <number> must be between 0 and 1 (inclusive) and must be a numeric constant. |
| Example | PERCENTILE([Score], 0.9) |
| Database limitations | This function is available for the following data sources: Non-legacy Microsoft Excel and Text File connections, Extracts and extract-only data source types (for example, Google Analytics, OData or Salesforce), Sybase IQ 15.1 and later data sources, Oracle 10 and later data sources, Cloudera Hive and Hortonworks Hadoop Hive data sources, EXASolution 4.2 and later data sources. For other data source types, you can extract your data into an extract file to use this function. See Extract Your Data. |
| Syntax | STDEV(expression) |
| Definition | Returns the statistical standard deviation of all values in the given expression based on a sample of the population. |
| Syntax | STDEVP(expression) |
| Definition | Returns the statistical standard deviation of all values in the given expression based on a biased population. |
| Syntax | SUM(expression) |
| Definition | Returns the sum of all values in the expression. Null values are ignored. |
| Notes | SUM can only be used with numeric fields. |
| Syntax | VAR(expression) |
| Definition | Returns the statistical variance of all values in the given expression based on a sample of the population. |
| Syntax | VARP(expression) |
| Definition | Returns the statistical variance of all values in the given expression on the entire population. |
| Syntax | FULLNAME( ) |
| Output | String |
| Definition | Returns the full name for the current user. |
| Example | FULLNAME( ) This returns the full name of the signed-in user, such as "Hamlin Myrer". [Manager] = FULLNAME( ) If manager "Hamlin Myrer" is signed in, this example returns TRUE only if the Manager field in the view contains "Hamlin Myrer". |
| Notes | This function checks:
User filters When used as a filter, a calculated field such as |
| Syntax | ISFULLNAME("User Full Name") |
| Output | Boolean |
| Definition | Returns |
| Example | ISFULLNAME("Hamlin Myrer") |
| Notes | The This function checks:
|
| Syntax | ISMEMBEROF("Group Name") |
| Output | Boolean or null |
| Definition | Returns |
| Example | ISMEMBEROF('Superstars')ISMEMBEROF('domain.lan\Sales') |
| Notes | The If the user is signed in to Tableau Cloud or Tableau Server, group membership is determined by Tableau groups. The function will return TRUE if the given string is "All Users" The If a change is made to a user's group membership, the change in the data that is based on the group membership is reflected in a workbook or view with a new session. The existing session will reflect stale data. |
| Syntax | ISUSERNAME("username") |
| Output | Boolean |
| Definition | Returns TRUE if the current user's username matches the specified username or FALSE if it does not match. |
| Example | ISUSERNAME("hmyrer") |
| Notes | The This function checks:
|
| Syntax | USERDOMAIN( ) |
| Output | String |
| Definition | Returns the domain for the current user. |
| Notes | This function checks:
|
| Syntax | USERNAME( ) |
| Output | String |
| Definition | Returns the username for the current user. |
| Example | USERNAME( ) This returns the username of the signed-in user, such as "hmyrer". [Manager] = USERNAME( ) If manager "hmyrer" is signed in, this example returns TRUE only if the Manager field in the view contains "hmyrer". |
| Notes | This function checks:
User filters When used as a filter, a calculated field such as |
| Syntax | USERATTRIBUTE('attribute_name') |
| Output | String or null |
| Definition | If Returns null if |
| Example | Suppose ‘Region’ is the user attribute included in the JWT or SAML response and passed to Tableau. As the workbook author, you can set up your visualisation to filter data based on a specified region. In that filter, you can reference the following calculation. [Region] = USERATTRIBUTE("Region")When User2 from the West region views the embedded visualisation, Tableau shows the appropriate data for the West region only. |
| Notes | You can use the USERATTRIBUTEINCLUDES function if you expect <'attribute_name'> to return multiple values. |
| Syntax | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
| Output | Boolean |
| Definition | Returns
Returns |
| Example | Suppose ‘Region’ is the user attribute included in the JWT or SAML response and passed to Tableau. As the workbook author, you can set up your visualisation to filter data based on a specified region. In that filter, you can reference the following calculation. USERATTRIBUTEINCLUDES('Region', [Region])If User2 from the West region accesses the embedded visualisation, Tableau checks if the Region user attribute matches one of [Region] field values. When true, the visualisation shows the appropriate data. When User3 from the North region accesses the same visualisation, she’s unable to see any data because there’s no match with [Region] field values. |
| Syntax | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| Output | Boolean |
| Definition | Returns a Boolean result from a given SQL expression. |
| Example | RAWSQL_BOOL("%1 > %2", [Sales], [Profit])In the example, %1 is equal to [Sales] and %2 is equal to [Profit]. |
| Syntax | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| Output | Boolean |
| Definition | Returns a Boolean result from a given aggregate SQL expression. |
| Example | RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) In the example, %1 is equal to [Sales] and %2 is equal to [Profit]. |
| Syntax | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| Output | Date |
| Definition | Returns a date result from a given SQL expression. |
| Example | RAWSQL_DATE("%1", [Order Date])In this example, %1 is equal to [Order Date]. |
| Syntax | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| Output | Date |
| Definition | Returns a date result from a given aggregate SQL expression |
| Example | RAWSQLAGG_DATE("MAX(%1)", [Order Date])In this example, %1 is equal to [Order Date]. |
| Syntax | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| Output | Datetime |
| Definition | Returns a datetime result from a given SQL expression. |
| Example | RAWSQL_DATETIME("%1", [Order Date])In this example, %1 is equal to [Order Date]. |
| Syntax | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| Output | Datetime |
| Definition | Returns a datetime result from a given aggregate SQL expression. |
| Example | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])In this example, %1 is equal to [Order Date]. |
| Syntax | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| Output | Integer |
| Definition | Returns an integer result from a given SQL expression. |
| Example | RAWSQL_INT("500 + %1", [Sales])In this example, %1 is equal to [Sales]. |
| Syntax | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| Output | Integer |
| Definition | Returns an integer result from a given aggregate SQL expression. |
| Example | RAWSQLAGG_INT("500 + SUM(%1)", [Sales])In this example, %1 is equal to [Sales]. |
| Syntax | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| Output | Numeric |
| Definition | Returns a numeric result from a given SQL expression. |
| Example | RAWSQL_REAL("-123.98 * %1", [Sales])In this example, %1 is equal to [Sales] |
| Syntax | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| Output | Numeric |
| Definition | Returns a numeric result from a given aggregate SQL expression. |
| Example | RAWSQLAGG_REAL("SUM( %1)", [Sales])In this example, %1 is equal to [Sales]. |
| Syntax | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| Output | Spatial |
| Definition | Returns a spatial result from a given SQL expression. |
| Example | RAWSQL_SPATIAL("%1", [Geometry])In this example, %1 is equal to [Geometry]. |
| Note | There is no RAWSQLAGG version of this function. |
| Syntax | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| Output | String |
| Definition | Returns a string from a given SQL expression. |
| Example | RAWSQL_STR("%1", [Customer Name])In this example, %1 is equal to [Customer Name]. |
| Syntax | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| Output | String |
| Definition | Returns a string from a given aggregate SQL expression. |
| Example | RAWSQLAGG_STR("AVG(%1)", [Discount])In this example, %1 is equal to [Discount]. |
| Syntax | AREA(Spatial Polygon, 'units') |
| Output | Number |
| Definition | Returns the total surface area of a <spatial polygon>. |
| Example | AREA([Geometry], 'feet') |
| Notes | Supported unit names (must be in quotation marks in the calculation, such as
|
| Syntax | BUFFER(Spatial point, distance, 'units')
|
| Output | Geometry |
| Definition | For spatial points, returns a polygon shape centred over a For linestrings, computes the polygons formed by including all points within the radius distance from the linestring. For polygons, it calculates a polygon that is either an inset (negative distance) or outset (positive distance) of each given polygon. |
| Example | BUFFER([Spatial Point Geometry], 25, 'mi') BUFFER(MAKEPOINT(47.59, -122.32), 3, 'km') BUFFER(MAKELINE(MAKEPOINT(0, 20),MAKEPOINT (30, 30)),20,'km')) |
| Notes | Supported unit names (must be in quotation marks in the calculation, such as
|
| Syntax | DIFFERENCE(Spatial, Spatial) |
| Output | Spatial Polygon |
| Definition | Computes the portions of regions remaining when all regions in the second argument are carved out of the first argument in areas that overlap. Discards regions from the second argument in areas that don't overlap. |
| Example | DIFFERENCE(Spatial Polygon1, Spatial Polygon2) |
| Notes | Supports spatial polygons and multipolygons, not spatial points or lines. |
| Syntax | DISTANCE(SpatialPoint1, SpatialPoint2, 'units') |
| Output | Number |
| Definition | Returns the distance measurement between two points in the specified <unit>. |
| Example | DISTANCE([Origin Point],[Destination Point], 'km') |
| Notes | Supported unit names (must be in quotation marks in the calculation, such as
|
| Database limitations | This function can only be created with a live connection but will continue to work if the data source is converted to an extract. |
| Syntax | INTERSECTION (spatial, spatial) |
| Output | Polygon |
| Definition | Computes and returns the portions of regions in the second argument that overlap regions in the first argument. |
| Example | INTERSECTION (Spatial Polygon1, Spatial Polygon2) |
| Notes | Supports spatial polygons and multipolygons, not spatial points or lines. |
| Syntax | INTERSECTS (geometry1, geometry2) |
| Output | Boolean |
| Definition | Returns true or false indicating whether two geometries overlap in space. |
| Notes | Supported combinations: point/polygon, line/polygon and polygon/polygon. |
| Syntax | LENGTH(geometry, 'units') |
| Output | Number |
| Definition | Returns the geodetic path length of the line string or strings in the <geometry> using the given <units>. |
| Example | LENGTH([Spatial], 'metres') |
| Notes | The result is <NaN> if the geometry argument has no linestrings, though other elements are permitted. |
| Syntax | MAKELINE(SpatialPoint1, SpatialPoint2) |
| Output | Geometry (line) |
| Definition | Generates a line mark between two points |
| Example | MAKELINE(MAKEPOINT(47.59, -122.32), MAKEPOINT(48.5, -123.1)) |
| Notes | Useful for building origin-destination maps. |
| Syntax | MAKEPOINT(latitude, longitude, [SRID]) |
| Output | Geometry (point) |
| Definition | Converts data from If the optional |
| Example | MAKEPOINT(48.5, -123.1) MAKEPOINT([AirportLatitude], [AirportLongitude]) MAKEPOINT([Xcoord],[Ycoord], 3493) |
| Notes |
You can use |
| Syntax | NO_CUTOUTS (spatial) |
| Output | Corrected spatial polygon |
| Definition | Returns a corrected spatial polygon if a flat-earth interpretation requires polygon inversions; otherwise, returns the original. |
| Notes | Spatial file formats like Keyhole Markup Language (.kml) require polygon boundaries to follow a specific coordinate direction. If a data set draws boundaries in reverse, Tableau interprets the exterior space as the shape. |
| Syntax | OUTLINE(spatial polygon) |
| Output | Geometry |
| Definition | Converts a polygon geometry into linestrings. |
| Notes | Useful for creating a separate layer for an outline that can be styled differently than the fill. Supports polygons within multipolygons. |
| Syntax | PARSE_WKT (String) |
| Output | Spatial (Geography) |
| Definition | Converts a text string field containing well-known text (WKT) representations of geographic entities (such as points, linestrings or polygons) into a spatial value. |
| Notes | Coordinates are assumed to use WGS-84 latitude and longitude. For more information about WKT, see Well-Known Text Representation of Geometry. |
| Syntax | SHAPETYPE(geometry) |
| Output | String |
| Definition | Returns a string describing the structure of the spatial <geometry>, such as Empty, Point, MultiPoint, LineString, MultiLinestring, Polygon, MultiPolygon, Mixed and unsupported. |
| Example | SHAPETYPE(MAKEPOINT(48.5, -123.1)) = "Point" |
| Syntax | SYMDIFFERENCE(spatial, spatial) |
| Output | Geometry |
| Definition | Computes any portions of regions from the second argument that overlap regions in the first argument and discards from both. Returns the remaining portions of regions from both arguments. |
| Example |
|
| Syntax | UNION(spatial 1, [spatial 2]) |
| Output | Geometry |
| Definition | Combines spatial geometries by dissolving adjacent or overlapping boundaries into a single spatial geometry. |
| Notes | When used with one argument ( When used with two arguments ( For points and linestrings, |
| Syntax | VALIDATE(spatial geometry) |
| Output | Geometry |
| Definition | Confirms topological correctness of the geometry in your spatial value. If the value cannot be used for analysis due to problems such as a polygon’s perimeter intersecting itself, then the result will be a null. If the geometry is correct, the result will be the original geometry. |
| Example |
|
| Syntax | REGEXP_REPLACE(string, pattern, replacement) |
| Output | String |
| Definition | Returns a copy of the given string where the regular expression pattern is replaced by the replacement string. |
| Example | REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123' |
| Notes | This function is available for Text File, Hadoop Hive, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Snowflake and Oracle data sources. For Tableau data extracts, the pattern and the replacement must be constants. |
| Syntax | REGEXP_MATCH(string, pattern) |
| Output | Boolean |
| Definition | Returns true if a substring of the specified string matches the regular expression pattern. |
| Example | REGEXP_MATCH('-([1234].[The.Market])-','\[\s*(\w*\.)(\w*\s*\])')=true |
| Notes | This function is available for Text File, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Impala 2.3.0 (through Cloudera Hadoop data sources), Snowflake and Oracle data sources. For Tableau data extracts, the pattern must be a constant. |
| Syntax | REGEXP_EXTRACT(string, pattern) |
| Output | String |
| Definition | Returns the portion of the string that matches the regular expression pattern. |
| Example | REGEXP_EXTRACT('abc 123', '[a-z]+\s+(\d+)') = '123' |
| Notes | This function is available for Text File, Hadoop Hive, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Snowflake and Oracle data sources. For Tableau data extracts, the pattern must be a constant. |
| Syntax | REGEXP_EXTRACT_NTH(string, pattern, index) |
| Output | String |
| Definition | Returns the portion of the string that matches the regular expression pattern. The substring is matched to the nth capturing group, where n is the given index. If index is 0, the entire string is returned. |
| Example | REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\s+(\d+)', 2) = '123' |
| Notes | This function is available for Text File, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above) and Oracle data sources. For Tableau data extracts, the pattern must be a constant. |
| Selection tool | Rectangle | Radial | Lasso | Drive Time |
|---|---|---|---|---|
| Shape | Rectangle | Circle | Freeform path | Drive-time polygon |
| Basis | Visual boundary | Straight-line distance | Visual boundary | Travel time and routing |
| Network required | No | No | No | Yes |
| Extends past view | No | Yes | No | Yes |
| Fields excluded by default | Reasons for exclusion |
|---|---|
All unvisualised measures when there are more than 1,000 measures in the data source. All unvisualised dimensions when there are more than 1,000 dimensions in the data source. | Computing explanations for more than 1000 unvisualised measures or dimensions can take longer to compute, sometimes several minutes. These fields are excluded by default for initial analysis, but you can choose to include them for further analysis. In this situation, you might see an alert asking if you want Explain Data to consider more fields. Click the alert link to get more information. Click Explain All to run an analysis that includes more fields. |
| Fields that use geometry, latitude or longitude | Geometry, latitude or longitude by themselves can never be explanations. It is highly likely that an explanation that calls out the latitude or the longitude as an explanation is due to a spurious correlation and not a probable explanation. |
| Dimensions with high cardinality (dimensions with > 500 members) | High cardinality dimensions take longer to compute. Dimensions with more than 500 unique values will not be considered for analysis. |
| Groups, bins or sets | Not currently supported. |
| Table calculations | Table calculations cannot be analysed when table calculations are at a different level of detail than the view. |
| Unvisualised measures that can't be averaged | Unvisualised measures that can't be averaged include measures that are calculated fields where the calculation expression includes aggregations (display as AGG() fields when added to the sheet). |
| Discrete measures and continuous dimensions | Not currently supported. |
| Hidden fields | Not available. |
| Calculated fields with errors | No values present to analyse. |
| Number of records | Time to retrieve |
|---|---|
100,000 | 1.7 minutes |
250,000 | 4 minutes |
500,000 | 8.5 minutes |
Sales
| Product Catalogue
|
| Product ID | Product Name | Product ID | Sale Amount | Transaction Date |
| 1 | 10 Inch Tablet | 1 | 100 | 10/1/2012 |
| 1 | 10 Inch Tablet | 1 | 2000 | 10/2/2012 |
| 2 | Smart Phone | 2 | 50 | 9/30/2012 |
| 3 | Desk Lamp | 3 | 10 | 8/21/2012 |
| Location | Hyperforce Region | Pod (Pod Name) | IP Address and Range after Hyperforce Migration (Alternatively, search for the Hyperforce region in https://ip-ranges.salesforce.com/ip-ranges.json) | |
|---|---|---|---|---|
| Asia Pacific | Australia | ap-southeast-2 | prod-apsoutheast-a | 141.163.192.0/23 |
| India | ap-south-2 | prod-in-a | 141.163.216.0/24 | |
Indonesia | ap-southeast-3 | prod-apsoutheast-c | 141.163.212.0/24 | |
Japan | ap-northeast-1 | prod-apnortheast-a | 141.163.208.0/23 | |
Singapore | ap-southeast-1 | prod-apsoutheast-b | 141.163.196.0/23 | |
| South Korea | ap-northeast-2 | prod-kr-a | 141.163.200.0/23 | |
| Canada | Quebec | ca-central-1 | prod-ca-a | 155.226.152.0/23 |
| Europe | Germany | eu-central-1 | dub01 (DUB01) | 145.224.208.0/23 |
eu-west-1a (EW1A) | ||||
| Switzerland | eu-central-2 | prod-ch-a | 145.224.198.0/24 | |
| UK | eu-west-2 | prod-uk-a | 145.224.200.0/23 | |
| United States - West | Oregon | us-west-2 | 10ax (10AX) | 155.226.128.0/21 |
10ay (10AY) | ||||
10az (10AZ) | ||||
uw2b (UW2B) | ||||
prod-uswest-c | ||||
| United States - East | Virginia | us-east-1 | prod-useast-a | 155.226.144.0/22 |
prod-useast-b | ||||
us-east-1 (useast-1) | ||||
prod-useast-c | ||||
| Location | Hyperforce Region | Pod (Pod Name) | IP Address before Hyperforce Migration | |
|---|---|---|---|---|
| Asia Pacific | Australia | ap-southeast-2 | prod-apsoutheast-a | 3.25.37.32/28 |
Japan | ap-northeast-1 | prod-apnortheast-a | 18.176.203.96/28 | |
| Canada | Quebec | ca-central-1 | prod-ca-a | 3.98.24.208/28 |
| Europe | Germany Note: Formerly Ireland region prior to the Hyperforce migration. | eu-central-1 | dub01 (DUB01) | 34.246.74.86 52.215.158.213 |
eu-west-1a (EW1A) | 34.246.62.141 34.246.62.203 | |||
| UK | eu-west-2 | prod-uk-a | 18.134.84.240/28 | |
| United States - West | Oregon | us-west-2 | 10ax (10AX) | 34.208.207.197 52.39.159.250 |
10ay (10AY) | 34.218.129.202 52.40.235.24 | |||
10az (10AZ) | 34.218.83.207 52.37.252.60 | |||
us-west-2b (UW2B) | 34.214.85.34 34.214.85.244 | |||
| United States - East | Virginia | us-east-1 | prod-useast-a | 3.219.176.16/28 |
prod-useast-b | 3.219.176.16/28 | |||
us-east-1 (useast-1) | 50.17.26.34 52.206.162.101 | |||
| Location | Hyperforce Region | Pod (Pod Name) | IP Address and Range/VPCE ID | |
|---|---|---|---|---|
| Asia Pacific | Australia | ap-southeast-2 | prod-apsoutheast-a | 141.163.192.0/23 |
| India | ap-south-2 | prod-in-a | 141.163.216.0/24 vpce-02e14aeeeccOa2eef | |
Indonesia | ap-southeast-3 | prod-apsoutheast-c | 141.163.212.0/24 | |
Japan | ap-northeast-1 | prod-apnortheast-a | 141.163.208.0/23 | |
Singapore | ap-southeast-1 | prod-apsoutheast-b | 141.163.196.0/23 | |
| South Korea | ap-northeast-2 | prod-kr-a | 141.163.200.0/23 vpce-053ebbbe86f5411ca | |
| Canada | Quebec | ca-central-1 | prod-ca-a | 155.226.152.0/23 |
| Europe | Germany | eu-central-1 | dub01 (DUB01) | 145.224.208.0/23 vpce-091ff41bc3686e6e8 |
eu-west-1a (EW1A) | ||||
| Switzerland | eu-central-2 | prod-ch-a | 145.224.198.0/24 vpce-0fbf9d552ffbb6be2 | |
| UK | eu-west-2 | prod-uk-a | 145.224.200.0/23 | |
| United States - West | Oregon | us-west-2 | 10ax (10AX) | 155.226.128.0/21 vpce-090a7c76e361d5013 |
10ay (10AY) | ||||
10az (10AZ) | ||||
uw2b (UW2B) | ||||
prod-uswest-c | ||||
| United States - East | Virginia | us-east-1 | prod-useast-a | 155.226.144.0/22 vpce-0ea40e596e16259d1 |
prod-useast-b | ||||
us-east-1 (useast-1) | ||||
prod-useast-c | ||||
| Not easily accessible - Too many marks | More accessible - Aggregated view |
|---|---|
![]() | ![]() |
|
|
| Not easily accessible - Too little text | More accessible - Adding descriptive text to provide context |
|---|---|
![]() | ![]() |
|
|
| Not easily accessible - Too little text | More accessible - More descriptive text |
|---|---|
![]() | ![]() |
|
|
| Not easily accessible - Using only colour to differentiate marks | More accessible - Using colour and shape to differentiate marks |
|---|---|
![]() | ![]() |
|
|
| Published separately | Embedded in workbook |
|---|---|
Publishing data sources is a step toward centralising data management. You can create policies geared toward minimising data source proliferation and helping people find the right data for the work they do. | Each embedded data source has a separate connection to the data. Each has the potential to show something different than the other at any given time (and data source proliferation is common). |
Meant to be shared; becomes available for other Tableau users to connect to. | Data is available only inside the workbook; it is not available for other Tableau Desktop users to connect to. |
Without content management and self-service guidelines, seeing a long list of data sources to connect to can be confusing to users who rely on the data to do their work, and is more difficult to manage on the server. | Users create their own connections, and they know exactly what data they’re getting. |
Someone who changes a shared data source might be uncertain or unaware of the effects that those changes have on connected workbooks. | Changing the data requires opening the workbook, where you can see the result of the change. |
Even if effects of data source changes on connected workbooks are planned, updating those connected workbooks is cumbersome. | Same as above; however, if multiple workbooks use similar data and need to be updated, it might be worth connecting to a published data source instead. |
Extracts can be refreshed on a schedule. You set up one refresh schedule for the extract, and all workbooks that connect to it always show the most current data. | Embedded extracts that aren’t refreshed can be useful for showing snapshots in time. If you want to keep the data fresh, each workbook must have its own refresh schedule. |
Generally helps you to optimise performance on the server or site. | Performance might be affected when the server contains multiple workbooks that connect to the same original data, and each workbook has its own refresh schedule. |
| Data Story Type | Description |
Change Over Time | What it does: Uses a chronology to illustrate a trend. Discussions it starts: Why did this happen, or why does it keep happening? What can we do prevent or make this happen? |
Drill Down | What it does: Sets context so that your audience better understands what's going on in a particular category. Discussions it starts: Why is this person, place or thing different? How does the performance of this person, place, or thing compare? |
Zoom Out | What it does: Describes how something your audience cares about relates to the bigger picture. Discussion it starts: How does something you care about compare to the bigger picture? What effect does one area have on the bigger picture? |
Contrast | What it does: Shows how two or more subjects differ. Discussions it starts: Why are these items different? How can we make A perform like B? Which area should we focus on and which area is doing fine? |
Intersections | What it does: Highlights important shifts when one category overtakes another. Discussions it starts: What causes these shifts? Are these shifts good or bad? How do these shifts affect other aspects of our plan? |
Factors | What it does: Explains a subject by dividing it into types or categories. Discussions it starts: Is there a particular category we should focus on more? How much do these items affect the metric we care about? |
Outliers | What it does: Shows anomalies or where things are exceptionally different. Discussions it starts: Why is this item different? |
| Before | After |
|---|---|
![]() | ![]() |
| Original data source | Second data source |
![]() | ![]() |
| Creates Vertical Bars | Creates Horizontal Bars |
![]() | ![]() |
| Not supported. Table X has two incoming relationships that are both from tables downstream from Base Table A | Supported. Tables S and T both have multiple incoming relationships, but each one is from a different base table. | Supported. Although it may visually look like there's a cycle, the incoming relationships for both Table S and Table T can be traced back to different base tables. |
![]() | ![]() | ![]() |
| Creates Simple Scatter Plot | Creates Matrix of Scatter Plots |
![]() | ![]() |
![]() | ![]() |
| Less accessible – low contrast | More accessible – higher contrast |
![]() | ![]() |
| Less accessible – too many marks | More accessible – aggregated view |
|---|---|
![]()
| ![]() |
| Less accessible – too many marks | More accessible – aggregated and grouped view |
|---|---|
![]() | ![]() |
| Less accessible – unnecessary marks | More accessible – unnecessary marks removed |
|---|---|
![]() | ![]() |
| Not easily accessible | More accessible – Colour Blind palette and shapes |
|---|---|
![]() | ![]() |
| Less accessible – too many marks | More accessible – less marks in the view |
|---|---|
![]() | ![]() |
One-to-one
Example: Every car has its own number plate and a number plate is specific to an individual car. Car-to-number plate is one-to-one. Note that even if a car is unregistered or a registration number hasn’t yet been assigned to a car, that discrepancy is described by the referential integrity. A car can only have one number plate and a number plate can only be assigned to one car, so the cardinality remains one-to-one. |
![]() |
One-to-many or Many-to-one
Examples: Many employees have the same manager. Employees-to-manager is many-to-one. Manager-to-employee is one-to-many. |
![]()
|
Many-to-many
Examples: An actor is in many films and a film has many actors. Actor-to-film is many-to-many. Multiple books can be purchased in the same transaction and a book can be purchased multiple times. ISBN-to-OrderID is many-to-many. |
![]() |
| Low Intensity (50%) | High Intensity (80%) |
![]() | ![]() |
Change over time
Related topics
|
Showing a change over time for a measure is one of the fundamental categories of visualisations. There are many options for exploring change over time, including line charts, slope charts and highlight tables. To show change over time, you need to know the value you expect to change, and how to work with Date fields in Tableau. What kind of question does this chart answer?
|
Correlation
Related topics
|
Sometimes you have two variables and are looking for the relationship between them. For example, you may be looking for the relationship between classroom size and school graduation rate, or how much lung capacity relates to endurance. (But remember, correlation does not always equal causation.) Correlation can be shown with scatter plots or highlight tables, and you can use Tableau's analytics objects to show the strength of the correlation. What types of question can this chart answer?
|
Magnitude
Related topics
|
Magnitude shows the relative size or value of two or more discrete items. If you are comparing sales for different regions, you are looking at magnitude. Magnitude charts include bar charts, packed bubble charts, and line charts. What types of question can this chart answer?
|
Deviation
Related topics
|
Deviation charts show how far a value varies from some baseline, such as the average or median. If you wanted to know which items had unusually high or low profit margins, you would use a deviation chart. You can use bullet charts, bar charts, and combination charts to show deviation. You can also find the statistical significance of the deviation using a Z-score. What types of question can this chart answer?
|
Distribution
Related topics
|
When you are trying to find the frequency of events within a population, you are looking at the distribution. If you are showing the number of respondents to a survey by age, or the frequency of incoming calls by day, a distribution chart might be the best choice. Distribution charts include histograms, population pyramids, Pareto charts and box plots. What types of question can this chart answer?
|
Ranking
Related topics
|
Sometimes you not only want to depict the magnitude of some value, but also the relative ranking of all the members of your dimension. Showing the top ten sales people or demonstrating the under-performing states use a ranking chart. Ranking charts are usually bar charts that integrate rank calculations, top n sets, or key progress indicators. What types of question can this chart answer?
|
Part-to-Whole
Related topics
|
Part-to-Whole charts show how much of a whole an individual part takes up. For example, if you are showing how much each region contributes to overall sales, or how expensive each different shipping mode is for an individual product, you would use a part to whole chart. Part-to-Whole charts can be pie charts, area charts, stacked bar charts, or treemaps. What types of question can this chart answer?
|
Spatial
Related topics
|
Spatial charts can precise locations and geographical patterns in your data. Showing the airport terminals with the most foot traffic or a map of all sales across the country are examples of spatial maps. Spatial maps include filled maps, point distribution maps, symbol maps, and density maps. What types of question can this chart answer?
|
Flow
Related topics
|
Flow charts can be maps that convey movement over time, such as Sankey diagrams. Flow maps include path over time and path between origin and destination charts. What types of question can this chart answer?
|
| All Dimensions | Sub-Category | Region |
|---|---|---|
![]() | ![]() | ![]() |
| The 5 marks are combined and the rest of the marks are added to an "Other" category. | All marks associated with any of the three sub-categories are combined and everything else is added to an "Other" category. | All marks associated with the four regions are combined and everything else is added to an "Other" category. |
| Tableau Desktop version | Web version |
|
|
| Tableau Desktop version | Web version |
|
|
| Tableau Desktop version | Web version |
|
|
| Tableau Desktop version | Web version |
|
|
| Tableau Desktop version | Web version |
|
|
| Tableau Desktop version | Web version |
|
|
| Limit | Default | Error message | Checked when |
| Data sources per composed data source | 500 | Too many data sources in this composed data source. | You open or use a composed data source, including loading a workbook using the data source. |
| Total dependencies | 100 | Publishing a data source with more than 100 PDS dependencies isn’t supported. | You publish a composed data source. |
| Nesting depth | 20 | Publishing a data source with more than 20 nested layers isn’t supported. | You publish a composed data source. |
![]() | ![]() |
| Predict_Sales_City | Predict_Sales_State | Predict_Sales_Region |
MODEL_QUANTILE(0.5,sum([Sales]), | MODEL_QUANTILE(0.5,sum([Sales]), | MODEL_QUANTILE(0.5,sum([Sales]), |
Snowflake uses Okta as the default identity provider (IdP) that provides access tokens and authenticates identities. You’ll need to configure settings in Snowflake and Okta for OAuth and single sign-on (SSO) capabilities. In Okta, you’ll define Okta as an OAuth authentication server and identify Snowflake as an OAuth resource. Follow the steps in this Snowflake help topic: Configuring an Identity Provider for Snowflake. | ![]() |
| ![]() |
| Example story | Story breakdown |
| The first two sentences use average and range functions to write about the average, maximum and minimum values across the period you’re analysing. |
| The third sentence is about overall performance of the measure over the period. For example, a sentence can be about whether sales increased, decreased or trended differently during a specific period. |
| The fourth sentence uses progression analysis. This sentence writes about the largest increase and decrease based on the measure during the period using both a percentage basis and an absolute basis. |
| This sentence is a Correlation insight. This type of analytic insight writes about notable correlations between different series in your data. |
| This sentence is a Segment insight. This type of analytic insight writes about noteworthy increases and decreases over time. |
| This sentence is a Trend line insight. This type of insight writes about how well trends fit your data with a certain percentage of confidence, and trend lines allow you to make predictions based on historic trends. |
| Example story | Story breakdown |
| The first sentence calculates the total value of your measure. |
| The second sentence writes about the dimension drivers. In this example, the dimension drivers are the products that contributed the most to total sales. |
| The third and fourth sentences analyse the distribution of the data. This analyses the averages, medians, concentration of data (if any exist), and how the data is skewed. This helps identify how balanced these grouped variables are compared to one another. |
| This sentence uses Clustering to write about measures that can be grouped. This helps identify whether there are distinct groups that stand out in the data. |
| The final sentence writes about notable outliers. |
| Example story | Story breakdown |
| The first two sentences are powered by regression analytics. Regression shows how one measure affects another. Notice that in the first sentence, the story has identified a relationship between profit and sales. |
| The third sentence is derived from clustering. Clustering analytics tries to identify key groups or clusters across all the variables in the data. |
| The fourth sentence is written about outliers – values that fall significantly above or below the average. |
| The remaining sentences for scatter plot stories use range and average analysis to write insights. |
| Example story | Story breakdown |
| The first sentence calculates the total value of your measure. |
| The second sentence writes about drivers. In this example, the drivers are segments that contributed the most to total sales. |
| The final sentence analyses the distribution of the data. |
| November | December |
|---|---|
![]() | ![]() |
| Orders | Vendors |
|---|---|
![]() | ![]() |
| For Tableau Desktop | For Tableau Prep Builder | For Tableau Server, Tableau Prep Conductor, Tableau Prep Flow Authoring |
|---|---|---|
|
|
|
| For Tableau Desktop | For Tableau Prep Builder | For Tableau Server |
|---|---|---|
|
|
|
| For Tableau Desktop | For Tableau Prep Builder | For Tableau Server, Tableau Prep Conductor, Tableau Prep Flow Authoring |
|---|---|---|
|
|
To enable your connector for Prep, you also need to add your taco to the following locations:
|
| Discrete date part | Continuous date truncation |
![]() | ![]() |
| Mode | Who Can Access |
|---|---|
Viewing mode | Tableau Viewers, Explorers and Creators who have the Run Explain Data permission capability can run and explore Explain Data explanations in viewing mode. |
Editing mode
| Tableau Creators can run Explain Data when editing a view in Tableau Desktop, Tableau Cloud or Tableau Server. Explorers who have the Run Explain Data permission capability and editing permissions can run Explain Data when editing a workbook in Tableau Cloud or Tableau Server. Creators and Explorers who have editing permissions can open new worksheets for further analysis. They can also use Explain Data Settings to control who can use Explain Data and what they can see. |
![]() | A. Day of month B. Month C. Year D. Hour, minute, second, millisecond, period |
![]() | A. Format B. String |
| Date Part | Symbol | Example Output |
|---|---|---|
| Year | yy y, yyyy Y | 26 2026 2026 (used for Week of Year-based calendars) |
| Quarter of year | Q QQQ QQQQ | 2 02 Q2 2nd quarter |
| Month | M MM MMM MMMM | 9 09 Sep September |
| Week of year | w, ww | 47 |
| Day of week | E, EE, EEE EEEE EEEEE | Mon Monday M |
| Day of month | d dd | 1, 15 01, 15 |
| Day of year (1–365) | D | 23, 143 |
Hour (1–12) | h hh | 8 08 |
| Hour (0–23) | H HH | 8 08 |
| Minute | m mm | 8 08 |
| Second in a minute | s ss | 5 05 |
| Fractional second | S SS SSS SSSS | 2 23 235 2350 |
| Milliseconds in day | A | 34532 |
| Period (am/pm marker) | a, aa, aaa | AM, am, PM |
| Time Zone | z, zz, zzz zzzz Z, ZZ, ZZZ ZZZZ | PDT Pacific Daylight Time -0800 PST-08:00 |
| Action | Result |
| Convert Discount from a measure to a dimension... | Sales values are no longer aggregated according to discount rate, resulting in a line chart instead of a scatter plot. |
| Convert Discount from continuous to discrete... | Tableau shows headers at the bottom of the view, instead of a continuous axis. |
| Workbooks | Data sources |
|---|---|
|
|
| Reason | Scenarios |
|---|---|
| You don’t have the correct permissions. |
|
| You can’t access the complete data. |
|
| The password for the workbook’s data source is not embedded or is no longer valid. |
|
| The data isn’t at the correct level of granularity. |
|
| The date dimension is not supported. |
|
| Min | The minimum value of the field. |
| Max | The maximum value of the field. |
| Diff | The difference between the minimum and maximum values of the field. |
| CntD | The number of distinct values (rows) in the data. |
| Version 9.x palette name | Version 9.x HEX Values |
|---|---|
Tableau 10 Now called Tableau Classic 10.
| <color-palette name="Classic 10" type="regular"> |
Tableau 10 Medium Now called Tableau Classic Medium.
| <color-palette name="Classic 10 Medium" type="regular">
|
Tableau 10 Light
| <color-palette name="Classic 10 Light" type="regular">
|
Tableau 20 Now called Tableau Classic 20.
| <color-palette name="Classic 20" type="regular">
<color>#9edae5</color>
<color>#17becf</color>
<color>#dbdb8d</color>
<color>#bcbd22</color>
<color>#c7c7c7</color>
<color>#7f7f7f</color>
<color>#f7b6d2</color>
<color>#e377c2</color>
<color>#c49c94</color>
<color>#8c564b</color>
<color>#c5b0d5</color>
<color>#9467bd</color>
<color>#ff9896</color>
<color>#d62728</color>
<color>#98df8a</color>
<color>#2ca02c</color>
<color>#ffbb78</color>
<color>#ff7f0e</color>
<color>#aec7e8</color>
<color>#1f77b4</color>
|
Grey 5
Replaced with Seattle Greys. | <color-palette name="Classic Gray 5" type="regular">
<color>#cfcfcf</color>
<color>#8f8782</color>
<color>#414451</color>
<color>#a5acaf</color>
<color>#60636a</color>
|
Colour Blind 10
Updated as Colour Blind. | <color-palette name="Classic Color Blind" type="regular">
|
Traffic Light
Updated asTraffic Light. | <color-palette name="Classic Traffic Light" type="regular">
|
Purple-Grey 6
Discontinued. | <color-palette name="Classic Purple-Gray 6" type="regular">
|
Purple-Grey 12
Updated as Purple-Pink-Grey. | <color-palette name="Classic Purple-Gray 12" type="regular">
|
Green-Orange 6
Discontinued. | <color-palette name="Classic Green-Orange 6" type="regular">
|
Green-Orange 12
Updated as Green-Orange-Teal. | <color-palette name="Classic Green-Orange 12" type="regular">
|
Blue-Red 6
Discontinued. | <color-palette name="Classic Blue-Red 6" type="regular">
|
Blue-Red 12
Updated as Blue-Red-Brown. | <color-palette name="Classic Blue-Red 12" type="regular">
|
Cyclic
Updated as Hue Circle. | <color-palette name="Classic Cyclic" type="regular"> |
Green
Updated. | <color-palette name="Classic Green" type="ordered-sequential">
|
Grey
Updated. | <color-palette name="Classic Gray" type="ordered-sequential">
|
Blue
Updated. | <color-palette name="Classic Blue" type="ordered-sequential">
|
Red
Updated. | <color-palette name="Classic Red" type="ordered-sequential">
|
Orange
Updated. | <color-palette name="Classic Orange" type="ordered-sequential">
|
Area Red
Discontinued. | <color-palette name="Classic Area Red" type="ordered-sequential">
|
Area Green
Discontinued. | <color-palette name="Classic Area Green" type="ordered-sequential">
|
Area Brown
Discontinued. | <color-palette name="Classic Area-Brown" type="ordered-sequential">
|
Red-Green Diverging
Updated. | <color-palette name="Classic Red-Green" type="ordered-diverging">
|
Red-Blue Diverging
Updated. | <color-palette name="Classic Red-Blue" type="ordered-diverging">
|
Red-Black Diverging
Updated. | <color-palette name="Classic Red-Black" type="ordered-diverging">
|
Area Red-Green Diverging
Discontinued. | <color-palette name="Classic Area Red-Green" type="ordered-diverging"> |
Orange-Blue Diverging
Updated. | <color-palette name="Classic Orange-Blue" type="ordered-diverging">
|
Green-Blue Diverging
Updated. | <color-palette name="Classic Green-Blue" type="ordered-diverging">
|
Red-White-Green Diverging
Updated. | <color-palette name="Classic Red-White-Green" type="ordered-diverging">
|
Red-White-Black Diverging
Updated. | <color-palette name="Classic Red-White-Black" type="ordered-diverging">
|
Orange-White-Blue Diverging
Updated. | <color-palette name="Classic Orange-White-Blue" type="ordered-diverging">
|
Red-White-Black Light
Discontinued. | <color-palette name="Classic Red-White-Black Light" type="ordered-diverging">
|
Orange-White-Blue Light Diverging
Discontinued. | <color-palette name="Classic Orange-White-Blue Light" type="ordered-diverging">
|
Red-White-Green Light Diverging
Discontinued. | <color-palette name="Classic Red-White-Green Light" type="ordered-diverging">
|
Red-Green Light Diverging
Discontinued. | <color-palette name="Classic Red-Green Light" type="ordered-diverging">
|
| If the smallest iframe dimension is... | This device layout appears... |
|---|---|
| 500 pixels or less | Phone |
| Between 501 and 800 pixels | Tablet |
| Greater than 800 pixels | Desktop |
| Latitude | Longitude |
| 32.2000 | -101.5000 |
| 38.5800 | -92.5800 |
| 41.2000 | -89.6800 |
| 39.2800 | -87.4000 |
| 41.7800 | -87.7800 |
| 39.5000 | -90.0800 |
| Columns shelf: | Longitude (continuous dimension, longitude geographic role assigned) |
| Rows shelf: | Latitude (continuous dimension, latitude geographic role assigned) |
| Mark type: | Automatic |
| Storm Name | Date | Latitude | Longitude | Basin | Wind Speed (kt) |
| PAKHAR | 3/26/12 12:00:00 | 9.5000 | 115.700 | West Pacific | 0 |
| PAKHAR | 3/26/12 06:00:00 | 9.5000 | 115.400 | West Pacific | 0 |
| PAKHAR | 3/26/12 12:00:00 | 9.5000 | 115.100 | West Pacific | 0 |
| PAKHAR | 3/26/12 18:00:00 | 9.4000 | 114.800 | West Pacific | 0 |
| PAKHAR | 3/27/12 12:00:00 | 9.4000 | 114.500 | West Pacific | 0 |
| PAKHAR | 3/27/12 06:00:00 | 9.4000 | 114.300 | West Pacific | 35 |
| Columns shelf: | Longitude (continuous measure, longitude geographic role assigned) |
| Rows shelf: | Latitude (continuous measure, latitude geographic role assigned) |
| Detail: | Dimension (unique ID for each path) |
| Path: | Date field or order field to define order to connect the data points |
| Mark type: | Line |
| Line | Line Group (Path ID) | Order of Points | Station | Latitude | Longitude | Traffic |
| 1 | 1 | 1 | La Défense (Grande Arche) | 48.891934 | 2.237883 | 14,275,382 |
| 1 | 1 | 2 | Esplanade de la Défense | 48.887843 | 2.250442 | 9,843,051 |
| 1 | 1 | 3 | Pont de Neuilly | 48.884509 | 2.259892 | 6,902,931 |
| 10 BOUCLE | 10 | 1 | Boulogne-Jean-Jaurès | 48.842222 | 2.238836 | 3,847,782 |
| 10 BOUCLE | 10 | 2 | Porte d'Auteuil | 48.848074 | 2.258648 | 687,237 |
| 10 BOUCLE | 10 | 3 | Michel-Ange-Auteuil | 48.847740 | 2.264297 | 2,222,709 |
| Columns shelf: | Longitude (continuous measure, longitude geographic role assigned) |
| Rows shelf: | Latitude (continuous measure, latitude geographic role assigned) |
| Detail: | Path ID field (discrete dimension) |
| Path: | Order field (continuous dimension) |
| Mark type: | Line |
| Origin-Destination | Station | Path ID | Latitude | Longitude |
| Origin | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
| Destination | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
| Origin | BT-01 | BT-01_BT-03 | 47.61841 | -122.35101 |
| Destination | BT-03 | BT-01_BT-03 | 47.61576 | -122.34843 |
| Origin | BT-01 | BT-01_BT-04 | 47.61841 | -122.35101 |
| Destination | BT-04 | BT-01_BT-04 | 47.61613 | -122.34108 |
| Origin | BT-01 | BT-01_BT-05 | 47.61841 | -122.35101 |
| Destination | BT-05 | BT-01_BT-05 | 47.61303 | -122.34410 |
| Origin-Destination | Location Name | Path ID | Latitude | Longitude |
| Origin | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
| Destination | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
| Origin | BT-01 | BT-01_BT-03 | 47.61841 | -122.35101 |
| Destination | BT-03 | BT-01_BT-03 | 47.61576 | -122.34843 |
| Columns shelf: | Longitude (continuous dimension, longitude geographic role assigned) |
| Rows shelf: | Latitude (continuous dimension, latitude geographic role assigned) |
| Detail: | Path ID field (discrete dimension) |
| Mark type: | Line |
| Earthquake Date Time | ID | Magnitude | Magnitude^10 | Latitude | Longitude |
| 1/1/73 | centennial19730101114235 | 6.00000 | 17,488,747.04 | -35.570 | -15.427 |
| 02/01/1973 | pde19730102005320300_66 | 5.50000 | 25,329,516.21 | -9.854 | 117.427 |
| 03/01/1973 | pde19730103022942800_33 | 4.80000 | 6,492,506.21 | 1.548 | 126.305 |
| 04/01/1973 | pde19730104003142000_33 | 4.50000 | 3,405,062.89 | 41.305 | -29.272 |
| 05/01/1973 | pde19730105003948200_36 | 4.70000 | 5,259,913.22 | 0.683 | -80.018 |
| 06/01/1973 | pde19730106061852300_83 | 4.90000 | 7,979,226.63 | -22.354 | -69.310 |
| Columns shelf: | Longitude (continuous measure, longitude geographic role assigned) |
| Rows shelf: | Latitude (continuous measure, latitude geographic role assigned) |
| Detail: | One or more dimension fields |
| Size: | A measure field (aggregated) |
| Mark type: | Automatic |
| State | County | Obesity Percent - 2012 |
| Alabama | Autauga County | 30.9000 |
| Alabama | Baldwin County | 26.7000 |
| Alabama | Barbour County | 40.8000 |
| Alabama | Bibb County | 40.1000 |
| Alabama | Blount County | 32.4000 |
| Alabama | Bullock County | 44.5000 |
| Columns shelf: | Longitude (continuous measure, longitude geographic role assigned) |
| Rows shelf: | Latitude (continuous measure, latitude geographic role assigned) |
| Detail: | One or more geographic units (dimensions with geographic roles assigned) |
| Colour: | Measure or dimension |
| Mark type: | Automatic or Map |
| Forecast mark type | Prediction intervals displayed using |
| Line | Bands |
| Shape, square, circle, bar or pie | Whiskers |
Actian Matrix* Alibaba AnalyticDB for MySQL‡ Alibaba Data Lake Analytics‡ Alibaba MaxCompute‡ Amazon Athena‡ Amazon Aurora for MySQL‡ Amazon EMR Hadoop Hive‡ Amazon Redshift‡ Apache Drill‡ Aster Database* Azure Data Lake Storage Gen2‡ Box‡ Cloudera Hadoop‡ Databricks‡ Datorama by Salesforce‡ Denodo‡ Dremio by Dremio‡ Dropbox‡ Esri Connector‡ Exasol‡ | Google BigQuery**‡ Google BigQuery JDBC**‡ Google Cloud SQL‡ Google Drive‡ Impala‡ Kognito* Kyvos‡ Hortonworks Hadoop Hive IBM BigInsights IBM DB2‡ IBM PDA (Netezza)* Kyvos‡ MariaDB‡ MarkLogic* Microsoft Azure SQL Database‡ Microsoft Azure Synapse Analytics‡ Microsoft SQL Server‡ MonetDB* MongoDB BI Connector‡ MySQL‡ | OData‡ OneDrive‡ Oracle‡ Pivotal Greenplum Database‡ PostgreSQL‡ Progress OpenEdge* Presto‡ Qubole Presto‡ SAP HANA (for virtual connections only)‡ SAP Sybase ASE* SAP Sybase IQ* Salesforce‡ SharePoint Lists‡ SingleStore (formerly MemSQL)‡ Snowflake‡ Spark SQL‡ Teradata***‡ Vertica‡ |
Alibaba AnalyticsDB for MySQL‡ Alibaba Data Lake Analytics‡ Amazon Athena‡ Amazon Aurora for MySQL‡ Amazon EMR Hadoop Hive‡ Amazon Redshift‡ Apache Drill‡ Azure Data Lake Storage Gen2‡ Azure Synapse Analytics (SQL Server compatible) Box‡ Cloudera Hadoop‡ Databricks‡ Datorama by Salesforce‡ Denodo‡ Dremio by Dremio‡ | Dropbox*‡ Esri Connector‡ Exasol‡ Google BigQuery*‡ Google Cloud SQL (MySQL compatible)‡§ Google Drive‡ Hortonworks Hadoop Hive Impala‡ Kyvos‡ MariaDB‡ Microsoft Azure SQL Database‡ Microsoft Azure Synapse Analytics‡ Microsoft SQL Server‡ MongoDB BI Connector‡ MySQL‡ | OData‡ OneDrive*‡ Oracle‡ Pivotal Greenplum Database‡ PostgreSQL‡ Presto‡ Qubole Presto‡ Salesforce‡ SAP HANA (for virtual connections only)‡ SharePoint Lists‡ SingleStore (formerly MemSQL)‡ Snowflake‡ Spark SQL‡ Teradata**‡ Vertica‡ |
Google Drive OData |
| Feature | Status for Cube Data Sources |
| Actions | With Microsoft Analysis Services connections, drill-down actions defined in the cube are not available in Tableau. Cube data sources do not accept actions from relational or other cube data sources. For example, suppose you have a workbook with a view that uses a MySQL data source, a second view that uses cube data source A, and a third view that uses cube data source B. Actions in the view using the MySQL data source won't affect the views using the cube data sources, and actions in the view for one cube data source won’t affect the other. But actions in the views using the cube data sources will affect the view using the MySQL data source. |
| Advanced analytics features | Level of detail expressions, trend lines, forecasting, and clustering are not supported for cube data sources. |
| Aggregate calculation functions | Cube data sources are pre-aggregated and thus do not support aggregation functions, such as SUM(), AVG(), and CNT().It may be possible to use Table Calculations to perform aggregation operations on the cell-level results from the cube in Tableau. |
| Aliases | Aliases for cube databases are created by the cube's designer and can be activated in Tableau by selecting the data source from the Data menu and then choosing Alias File. Talk to your database administrator to find out whether your database has aliases available. Aliases are not supported by Microsoft Analysis Services databases. By default, the alias for every member of every dimension is initially defined to be the original member name. |
| Bins | For cube data sources, the Create Bin command is not available for measures. You can, however, write a calculation that takes cube cell results and bins them. For example:
|
| Cube KPI data type | When connected to Microsoft Analysis Services, any KPI calculations defined in the cube are not available. However, you can write your own KPI calculations in Tableau. You can also use Tableau parameters to create highly flexible what-if KPI analysis. For more information, see Visualise Key Progress Indicators. |
| Cube lag functions | For cube data sources, you cannot use cube lag functions in the Tableau calculation editor. You can use Tableau Table Calculations to calculate certain percentages and totals instead. For more information, see Transform Values with Table Calculations. Alternatively, you can use an MDX Lag function directly in Tableau using a calculated member. For example:
|
| Custom multidimensional expression (MDX) statements | When connected to a cube, you cannot make a connection to a custom MDX statement. All sub-cube definitions need to be created on the server by implementing necessary cube perspectives, partitions, dimensions or cell security. |
| Data blending | Cube data sources can only be used as the primary data source for blending data in Tableau. They cannot be used as secondary data sources. For details, see Troubleshoot Data Blending. |
| Date dimensions | For cube data sources, date dimensions are typically organised into hierarchies that contain levels such as year, quarter, and month. In addition, some multidimensional data sources have time intelligence enabled, which makes it possible to look at data levels different ways, such as Months by Year, Months by Quarter, Weekends, etc. These levels are represented as attributes of the hierarchy. For details, see Dates and Times. |
| Data source filters | Data source filters are not available for cube data sources. All field values must be defined in the cube prior to analysis in Tableau. |
| Extracts | You cannot create extracts from most cube data sources. Cube and relational data sources have incompatible data structures, which makes extracting data from a cube and storing it in a relational data source, such as the data engine, impossible in most cases. Starting in 10.4, you can create SAP BW extracts without the need for a special product key from Tableau. For information about support for and limitations of SAP BW extracts, see SAP NetWeaver Business Warehouse. |
| Filters | When you display a filter for a cube dimension, all levels of the hierarchy for that dimension are included in the filter. For example:
You can use cube attributes as filters, to show just a single level instead of a hierarchy. In the Data pane, attributes appear in the Dimensions section and are indicated by this icon: Slicing filters behave differently with a cube data source than with a relational data source. See Create Slicing Filters for details. Some dimension filter card options are not available. For example, single value (drop-down), multiple values (custom list), etc. Instead, dimensional filters shown in the view retain their hierarchical look and feel, and cannot be changed into specific list types. You can create a Tableau set containing certain values from the hierarchy and then use the set as a filter in the view with the expected filter options (right-click the set in the Data pane, and then click Show Filter). |
| Groups | You cannot create groups when working with a cube data source. Any concept of groupings should be pre-defined in the cube as dimensional attributes or cube sets. However, you can write multidimensional expressions (MDX) directly in Tableau using a calculated member to create a group. For example:
|
| Hierarchies | For cube data sources, hierarchies must be defined in the cube prior to analysis. |
| Parameters | For cube data sources, you cannot use parameter values to filter dimensions in an MDX calculation. |
| Publishing | Workbooks using cube data source can be published to Tableau Server, but do not support pass-through connections. This means that you cannot make a connection from Tableau Server using such a data source. It also means you cannot create a workbook using the data source in Tableau Server. For details, see Cube Data Sources in the Tableau Server help. Publishing a cube data source to Tableau Server gives you the ability to store the data source on the server. However, to use the data source, you must download the data source to Tableau Desktop and use it locally. Workbooks that use cube data source cannot be published to Tableau Cloud. |
| Sets | Cube data sources support hierarchical sets, which filter data to the selected members and all of their descendants. For details, see Examples of sets. |
| Tableau string functions | With cube data sources, dimensions are not available in the calculation editor. However, you can write MDX inside Tableau using a calculated member to manipulate dimensional values. For example:
|
| Type conversions | For cube data sources, some type conversion functions are not available in the calculation editor. As a rule, data type conversions should be defined in the cube prior to analysis. In particular, changing the data type of a cube dimension to a date in Tableau sometimes gives incorrect information. This feature is supported for some cube dimensions, depending on how the dates are formatted in the cube. You can write Multidimensional Expressions (MDX) directly in Tableau using a calculated member to change the data type of a cube dimension to a date. For example:
|
| Symbol | Description |
| (:) | Time separator. In some locales, a different character is used to represent the time separator. The time separator separates hours, minutes and seconds when time values are formatted. The actual character used as the time separator in formatted output is determined by your system settings. |
| (/) | Date separator. In some locales, a different character is used to represent the date separator. The date separator separates the day, month and year when date values are formatted. The actual character used as the date separator in formatted output is determined by your system settings. |
| c | Display the date as ddddd and display the time asttttt, in that order. Display only date information if there’s no fractional part to the date serial number; display only time information if there’s no integer portion. |
| d | Display the day as a number without a leading zero (1–31). |
| dd | Display the day as a number with a leading zero (01–31). |
| ddd | Display the day as an abbreviation (Sun, Sat). |
| dddd | Display the day as a full name (Sunday, Saturday). |
| ddddd | Display the date as a complete date (including day, month and year), formatted according to your system's short date format setting. The default short date format is m/d/yy. |
| dddddd | Display a date serial number as a complete date (including day, month and year) formatted according to the long date setting recognised by your system. The default long date format is mmmm dd, yyyy. |
| aaaa | The same as dddd, only it's the localised version of the string. |
| w | Display the day of the week as a number (1 for Sunday through 7 for Saturday). |
| ww | Display the week of the year as a number (1–54). |
| M | Display the month as a number without a leading zero (1 12). If m immediately follows h or hh, the minute rather than the month is displayed. |
| MM | Display the month as a number with a leading zero (01–12). If m immediately follows h or hh, the minute rather than the month is displayed. |
| MMM | Display the month as an abbreviation (Jan–Dec). |
| MMMM | Display the month as a full month name (January–December). |
| MMMMM | Display the month as a single letter abbreviation (J–D) |
| oooo | The same as MMMM, but localised. |
| q | Display the quarter of the year as a number (1–4). |
| y | Display the day of the year as a number (1–366). |
| yy | Display the year as a 2-digit number (00–99). |
| yyyy | Display the year as a 4-digit number (100–9999). |
| h | Display the hour as a number without leading zeros (0–23). |
| Hh | Display the hour as a number with leading zeros (00–23). |
| N | Display the minute as a number without leading zeros (0 59). |
| Nn | Display the minute as a number with leading zeros (00 59). |
| S | Display the second as a number without leading zeros (0 59). |
| Ss | Display the second as a number with leading zeros (00 59). |
| 000 | Display milliseconds. Use a period character as a separator before specifying milliseconds. |
| t t t t t | Display a time as a complete time (including hour, minute and second), formatted using the time separator defined by the time format recognised by your system. A leading zero is displayed if the leading zero option is selected and the time is before 10:00 A.M. or P.M. The default time format is h:mm:ss. |
| AM/PM | Use the 12-hour clock and display an uppercase AM with any hour before noon; display an uppercase PM with any hour between noon and 11:59 P.M. |
| am/pm | Use the 12-hour clock and display a lowercase AM with any hour before noon; display a lowercase PM with any hour between noon and 11:59 P.M. |
| A/P | Use the 12-hour clock and display an uppercase A with any hour before noon; display an uppercase P with any hour between noon and 11:59 P.M. |
| a/p | Use the 12-hour clock and display a lowercase A with any hour before noon; display a lowercase P with any hour between noon and 11:59 P.M. |
| AMPM | Use the 12-hour clock and display the AM string literal as defined by your system with any hour before noon; display the PM string literal as defined by your system with any hour between noon and 11:59 P.M. AMPM can be either uppercase or lowercase, but the case of the string displayed matches the string as defined by your system settings. The default format is AM/PM. |
| Symbol | Description |
| g | Short era name (such as H for the Heisei era). |
| gg | Era name (such as 平成). |
| ggg | Long era name (for Japanese, this is the same as the regular era name). |
| e | Era-based year, such as 1 for the first year of an era. |
| ee | Era-based year, such as 01 for the first year of an era. If there’s only one digit, then the era-based year will have a zero added to the front. |
| Date Part | Symbol | Example Output |
|---|---|---|
| Year | yy y, yyyy Y | 26 2026 2026 (used for Week of Year-based calendars) |
| Quarter of year | Q QQQ QQQQ | 2 02 Q2 2nd quarter |
| Month | M MM MMM MMMM | 9 09 Sep September |
| Week of year | w, ww | 47 |
| Day of week | E, EE, EEE EEEE EEEEE | Mon Monday M |
| Day of month | d dd | 1, 15 01, 15 |
| Day of year (1–365) | D | 23, 143 |
Hour (1–12) | h hh | 8 08 |
| Hour (0–23) | H HH | 8 08 |
| Minute | m mm | 8 08 |
| Second in a minute | s ss | 5 05 |
| Fractional second | S SS SSS SSSS | 2 23 235 2350 |
| Milliseconds in day | A | 34532 |
| Period (am/pm marker) | a, aa, aaa | AM, am, PM |
| Time Zone | z, zz, zzz zzzz Z, ZZ, ZZZ ZZZZ | PDT Pacific Daylight Time -0800 PST-08:00 |
| Unit of time | Notes |
|---|---|
| Era | n/a |
| Year | All symbols are supported in .hyper extracts except for "U". Notes:
|
| Month | All symbols are supported in .hyper extracts except for "I". Notes:
|
| Week | All symbols are supported in .hyper extracts except for "W". Notes:
|
| Day | Notes:
|
| Hour | Only "h" and "H" symbols are supported in .hyper extracts. Notes:
|
| Minute | Note: In contrast to ICU, .hyper extracts don't allow negative values for this field. Negative values will cause an error. |
| Second | Notes:
|
| Quarter | Note: In contrast to ICU, .hyper extracts only allow values 1–4. All other values cause an error. |
| Weekday | Notes:
|
| Period | n/a |
| Normal | Light | Dark |
![]() | ![]() | ![]() |
| Streets | Outdoors | Satellite |
![]() | ![]() | ![]() |
| Layer Name | Description | present in map style |
|---|---|---|
| Base | Shows the base map including water and land areas. | All |
| Land Cover | Shades wilderness areas and parks to give the map more depth. | All except Satellite |
| Terrain | Displays a relief of vertical elevation changes. | All except Satellite |
| Coastlines | Displays coastlines. | Light, Dark, Normal |
| Streets, Highways/Motorways, Routes | Marks dual-carriageways and motorways as well as small city streets. This layer includes the motorway and street names as well. | All |
| Light Country/Region Borders | Shows a light grey outline of country/region borders and names. | Light, Dark, Normal |
| Light Country/Region Names | Shows country and region names in a light grey. | Light, Dark, Normal |
| Country/Region Borders | Highlights country and region borders in a darker grey. | All |
| Country/Region Names | Highlights country and region names in a darker grey. | All |
| Light State/Province Borders | Shows a light grey outline of state borders and names. | Light, Dark, Normal |
| Light State/Province Names | Shows state and province names in a light grey. | Light, Dark, Normal |
| State/Province Borders | Highlights state and province borders in a darker grey. | All |
| State/Province Names | Highlights state and province names in a darker grey. | All |
| County Borders | Highlights second-level administration borders and US county borders. | Light, Dark, Normal |
| County Names | Highlights second-level administration names and US county names. | Light, Dark, Normal |
| Postcode Boundaries | Marks zip code and postcodes boundaries for US and select countries. You must zoom in to see this layer. | Light, Dark, Normal |
| Postcode Labels | Shows labels of zip code and postcodes boundaries for US and select countries. You must zoom in to see this layer. | Light, Dark, Normal |
| Area Code Boundaries | Marks US area code boundaries. You must zoom in to see this layer. | Light, Dark, Normal |
| Area Code Labels | Shows labels for the US area codes. You must zoom in to see this layer. | Light, Dark, Normal |
| US Metro Boundaries (CBSA) | Marks US Metropolitan Statistical Areas and Micropolitan area boundaries. | Light, Dark, Normal |
| US Metro Labels (CBSA) | Shows labels for the US Metropolitan Statistical Areas and Micropolitan areas. | Light, Dark, Normal |
| Water Labels | Shows labels for bodies of water. | All |
| Cities | Shows labels for cities. | All |
| Points of Interest | Displays labels for points of interest such as schools, parks, cemeteries, businesses and important buildings. This layer is dependent on the zoom level. | All |
| Neighbourhoods | Shows labels for neighbourhoods in cities. You must zoom in to see this layer. | All |
| Subway/Underground and Train Stations | Displays the names of subway/underground and train stations. You must zoom in to see this layer. | All except Satellite |
| Building Footprints | Shows the outline of buildings, where available. You must zoom in to see this layer. | Satellite, Streets, Outdoors |
| House Numbers | Displays the house numbers of buildings, with and without building footprints. You must zoom in to see this layer. | Streets, Outdoors |
| Contour Lines | Displays lines indicating vertical elevation change in metres. This layer is dependent on zoom level. | Outdoors |
| Aggregation | Description | Result for measure that contains 1, 2, 2, 3 |
|---|---|---|
| Attribute | Returns the value of the given expression if it only has a single value for all rows in the group, otherwise it displays an asterisk (*) character. Null values are ignored. This aggregation is useful when aggregating a dimension. To set a measure in the view to this aggregation, right-click (control-click on Mac) the measure and choose Attribute. The field then changes to show the text ATTR:
| * |
| Dimension | Returns all unique values in a measure or dimension. | 3 values (1, 2, 3) |
| Sum | Returns the sum of the numbers in a measure. Null values are ignored. | 1 value (8) |
| Average | Returns the arithmetic mean of the numbers in a measure. Null values are ignored. | 1 value (2) |
| Count (Distinct) | Returns the number of unique values in a measure or dimension. When applied to a dimension, Tableau creates a new temporary column that is a measure because the result of a count is a number. You can count numbers, dates, booleans and strings. Null values are ignored in all cases. This aggregation isn’t available for the following types of workbooks:
If you’re connected to a workbook that uses of one of these types, Count (Distinct) is unavailable and Tableau shows the message "Requires extract". To use this aggregation, extract your data. See Extract Your Data. | 1 value (3) |
| Minimum | Returns the smallest number in a measure or continuous dimension. Null values are ignored. | 1 value (1) |
| Maximum | Returns the largest number in a measure or in the given expression based on a sample population. Null values are ignored. Returns a Null if there are fewer than 2 members in the sample that aren’t Null. Use this function if your data represents a sample of the population. | 1 value (3) |
| Std. Dev (Pop.) | Returns the standard deviation of all values in the given expression based on a biased population. Assumes that its arguments consist of the entire population. Use this function for large sample sizes. | 1 value (0.7071) |
| Variance | Returns the variance of all values in the given expression based on a sample. Null values are ignored. Returns a Null if there are fewer than 2 members in the sample that are not Null. Use this function if your data represents a sample of the population. | 1 value (0.6667) |
| Variance (Pop.) | Returns the variance of all values in the given expression based on a biased population. Assumes that its arguments consist of the entire population. Use this function for large sample sizes. | 1 value (0.5000) |
| Disaggregate | Returns all records in the underlying data source. To disaggregate all measures in the view, select Aggregate Measures from the Analysis menu (to clear the check mark). Tableau allows you to view data in disaggregated form (relational databases only). When data are disaggregated, you can view the individual rows of your data source. For example, after discovering that the sum of sales for rubber bands is $14,600, you might want to see the distribution of individual sales transactions. To answer this question, you must create a view that shows individual rows of data. That is, you must disaggregate the data (see How to Disaggregate Data). Another way to look at disaggregated data is to view the underlying data for all or part of a view. For more details, see View Underlying Data. | 4 values (1, 2, 2, 3) |
| Capability | Data Blending | Custom Geocoding |
| Plot your own locations on a map view | Yes | Yes |
| Use any data | Yes | No, text files only |
| Add new geographic roles | No | Yes |
| Add to an existing geographic role | No | Yes |
| Create new geographic hierarchies | No | Yes |
| Can be reused for other workbooks | No | Yes |
| Data Source | Support |
| Amazon EMR Hadoop Hive | Supported for Hive 0.13 and later. |
| Aster Database | Supported for version 4.5 and later. |
| Cloudera Hadoop | Supported for Hive 0.13 and later. |
| Cloudera Impala | Supported for Impala 1.2.2 and later. |
| Cubes (multidimensional data sources) | Not supported. |
| DataStax Enterprise | Not supported. |
| Firebird | Supported for version 2.0 and later. |
| Generic ODBC | Limited. Depends on the specific data source. |
| Google Big Query | Supported for standard SQL, not supported for legacy SQL. |
| Hortonworks Hadoop Hive | Supported for Hive 0.13 and later. On version 1.1 of HIVE level of detail expressions that produce cross joins are not reliable. Cross join occur when there is no explicit field to join on. For example, for a level of detail expression |
| IBM DB2 | Supported for version 8.1 and later. |
| MarkLogic | Supported for version 7.0 and later. |
| Microsoft Access | Not supported. |
| Microsoft Jet-based connections (legacy connectors for Microsoft Excel, Microsoft Access, and text) | Not supported. |
| Microsoft SQL Server | SQL Server 2005 and later. |
| Mongo DB | Not supported. |
| IBM PDA (Netezza) | Supported version 7.0 and later. |
| Oracle | Supported version 9i and later. |
| Actian Matrix (ParAccel) | Supported version 3.1 and later. |
| Pivotal Greenplum | Supported for version 3.1 and later. |
| PostgreSQL | Supported version 7 and later. |
| SAP Sybase IQ | Supported version 15.1 and later. |
| Splunk | Not supported. |
| Vertica | Supported for version 6.1 and later. |
| Icon | Data type |
|---|---|
![]() | Text (string) values |
![]() | Date values |
![]() | Date & Time values |
![]() | Numerical values (integer or decimal) |
![]() | Boolean operators (relational only) |
| Geographic values (used with maps) | |
![]() | Image role (used with image link URLs) |
![]() | Cluster Group (used with Find Clusters in Data) |
| Syntax | DATE(expression) |
| Output | Date |
| Definition | Returns a date given a number, string or date <expression>. |
| Example | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018")DATE(#2018-09-22 14:52#) |
| Notes | Unlike
|
| Syntax | DATEADD(date_part, interval, date) |
| Output | Date |
| Definition | Returns the <date> with the specified number <interval> added to the specified <date_part> of that date. For example, adding three months or 12 days to a starting date. |
| Example | Push out all due dates by one week DATEADD('week', 1, [due date])Add 280 days to the date February 20, 2021 DATEADD('day', 280, #2/20/21#) = #November 27, 2021# |
| Notes | Supports ISO 8601 dates. |
| Syntax | DATEDIFF(date_part, date1, date2, [start_of_week]) |
| Output | Integer |
| Definition | Returns the difference between <date1> and <date2> expressed in units of <date_part>. For example, subtracting the dates someone entered and left a band to see how long they were in the band. |
| Example | Number of days between 25th March 1986 and 20th February 2021 DATEDIFF('day', #3/25/1986#, #2/20/2021#) = 12,751How many months someone was in a band DATEDIFF('month', [date joined band], [date left band]) |
| Notes | Supports ISO 8601 dates. |
| Syntax | DATENAME(date_part, date, [start_of_week]) |
| Output | String |
| Definition | Returns <date_part> of <date> as a string. |
| Example | DATENAME('year', #3/25/1986#) = "1986"DATENAME('month', #1986-03-25#) = "March" |
| Notes | Supports ISO 8601 dates. A very similar calculation is DATEPART, which returns the value of the specified date part as a continuous integer. By changing the attributes of the calculation’s result (dimension or measure, continuous or discrete) and the date formatting, the results of An inverse function is DATEPARSE, which takes a string value and formats it as a date. |
| Syntax | DATEPARSE(date_format, date_string) |
| Output | Date |
| Definition | The <date_format> argument describes how the <date_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 and formatting details, see Convert a Field to a Date Field. |
| Example | DATEPARSE('yyyy-MM-dd', "1986-03-25") = #March 25, 1986# |
| Notes |
Inverse functions, which take dates apart and return the value of their parts, are |
| Database limitations |
|
| Syntax | DATEPART(date_part, date, [start_of_week]) |
| Output | Integer |
| Definition | Returns <date_part> of <date> as an integer. |
| Example | DATEPART('year', #1986-03-25#) = 1986DATEPART('month', #1986-03-25#) = 3 |
| Notes | Supports ISO 8601 dates. A very similar calculation is An inverse function is |
| Syntax | DATETRUNC(date_part, date, [start_of_week]) |
| Output | Date |
| Definition | Truncates the <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. |
| Example | DATETRUNC('day', #9/22/2018#) = #9/22/2018#DATETRUNC('iso-week', #9/22/2018#) = #9/17/2018#(the Monday of the week containing 22/09/2018) DATETRUNC(quarter, #9/22/2018#) = #7/1/2018# (the first day of the quarter containing 22/09/2018) Note: For week and iso-week, the |
| Notes | Supports ISO 8601 dates. You shouldn't use For example, |
| Syntax | DAY(date) |
| Output | Integer |
| Definition | Returns the day of the given <date> as an integer. |
| Example | Day(#September 22, 2018#) = 22 |
| Notes | See also WEEK, MONTH, QUARTER, YEAR and the ISO equivalents. |
| Syntax | ISDATE(string) |
| Output | Boolean |
| Definition | Returns true if a given <string> is a valid date. |
| Example | ISDATE(09/22/2018) = true ISDATE(22SEP18) = false |
| Notes | The required argument must be a string. ISDATE cannot be used for a field with a date data type – the calculation will return an error. |
| Syntax | ISOQUARTER(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based quarter of a given <date> as an integer. |
| Example | ISOQUARTER(#1986-03-25#) = 1 |
| Notes | See also ISOWEEK, ISOWEEKDAY, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOWEEK(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based week of a given <date> as an integer. |
| Example | ISOWEEK(#1986-03-25#) = 13 |
| Notes | See also ISOWEEKDAY, ISOQUARTER, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOWEEKDAY(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based weekday of a given <date> as an integer. |
| Example | ISOWEEKDAY(#1986-03-25#) = 2 |
| Notes | See also ISOWEEK, ISOQUARTER, ISOYEAR and the non-ISO equivalents. |
| Syntax | ISOYEAR(date) |
| Output | Integer |
| Definition | Returns the ISO8601 week-based year of a given <date> as an integer. |
| Example | ISOYEAR(#1986-03-25#) = 1,986 |
| Notes | See also ISOWEEK, ISOWEEKDAY, ISOQUARTER and the non-ISO equivalents. |
| Syntax | MAKEDATE(year, month, day) |
| Output | Date |
| Definition | Returns a date value constructed from the specified <year>, <month> and <day>. |
| Example | MAKEDATE(1986,3,25) = #1986-03-25# |
| Notes | Note: Incorrectly entered values will be adjusted into a date, such as Available for Tableau Data Extracts. Check for availability in other data sources.
|
| Syntax | MAKEDATETIME(date, time) |
| Output | Datetime |
| Definition | 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. |
| Example | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
| Notes | This function is available only for MySQL-compatible connections (which for Tableau are MySQL and Amazon Aurora).
|
| Syntax | MAKETIME(hour, minute, second) |
| Output | Datetime |
| Definition | Returns a date value constructed from the specified <hour>, <minute> and <second>. |
| Example | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
| Notes | Because Tableau does not support a time data type, only datetime, the output is a datetime. The date portion of the field will be 1/1/1899. Similar function to |
| Syntax | MAX(expression) or MAX(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the maximum of the two arguments, which must be of the same data type.
|
| Example | MAX(4,7) = 7 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MIN(expression) or MIN(expr1, expr2) |
| Output | Same data type as the argument, or NULL if any part of the argument is null. |
| Definition | Returns the minimum of the two arguments, which must be of the same data type.
|
| Example | MIN(4,7) = 4 |
| Notes | For strings
For database data sources, the For dates For dates, the As an aggregation
As a comparison
See also |
| Syntax | MONTH(date) |
| Output | Integer |
| Definition | Returns the month of the given <date> as an integer. |
| Example | MONTH(#1986-03-25#) = 3 |
| Notes | See also DAY, WEEK, QUARTER, YEAR and the ISO equivalents |
| Syntax | NOW() |
| Output | Datetime |
| Definition | Returns the current local system date and time. |
| Example | NOW() = 1986-03-25 1:08:21 PM |
| Notes |
See also If the data source is a live connection, the system date and time could be in another time zone. For more information on how to address this, see the Knowledge Base. |
| Syntax | QUARTER(date) |
| Output | Integer |
| Definition | Returns the quarter of the given <date> as an integer. |
| Example | QUARTER(#1986-03-25#) = 1 |
| Notes | See also DAY, WEEK, MONTH, YEAR and the ISO equivalents |
| Syntax | TODAY() |
| Output | Date |
| Definition | Returns the current local system date. |
| Example | TODAY() = 1986-03-25 |
| Notes |
See also NOW, a similar calculation that returns a datetime instead of a date. If the data source is a live connection, the system date could be in another time zone. For more information on how to address this, see the Knowledge Base. |
| Syntax | WEEK(date) |
| Output | Integer |
| Definition | Returns the week of the given <date> as an integer. |
| Example | WEEK(#1986-03-25#) = 13 |
| Notes | See also DAY, MONTH, QUARTER, YEAR and the ISO equivalents |
| Syntax | YEAR(date) |
| Output | Integer |
| Definition | Returns the year of the given <date> as an integer. |
| Example | YEAR(#1986-03-25#) = 1,986 |
| Notes | See also DAY, WEEK, MONTH, QUARTER and the ISO equivalents |
| Format | Data Type | Value |
| 'March 25, 1986' | String | 'March 25, 1986' |
| #3/25/1986# | Date | #3/25/1986# |
| 25/03/1986 | Floating decimal | 0.00006042 |
| 25/03/1986 | Integer | 1,958 |
| March 25, 1986 | - | invalid |
| Variable | Meaning |
| t | Index of a period in a time series. |
| n | Time series length. |
| m | Number of periods in a season/cycle. |
| A(t) | Actual value of the time series at period t. |
| F(t) | Fitted or forecast value at period t. |
| Discrete Dimensions | ![]() |
| Continuous Dimensions* | ![]() |
| Discrete Measures | ![]() |
| Continuous Measures | ![]() |
| Continuous Quantity field | Discrete Quantity field | |
![]() | ![]() |
| Related | Joined |
Using the related data source:
| Using the joined data source:
Our numbers here look a bit off. |
Primary data source
| Secondary data source
|
| Object Parameter | Values | Description | Examples |
|---|---|---|---|
dataDetails | no | Hides the Data Details button in the toolbar, which lets users see details about the data used in that view. | <param name='dataDetails' value='no' /> |
showDataDetails | yes | If Tableau Catalogue is enabled, it shows the view with the Data Details pane open. | <param name='showDataDetails' value='yes' /> |
alerts | no | Hides the Alerts button in the toolbar, which lets users create data-driven alerts. | <param name='alerts' value='no'/> |
customViews | no | Hides the View button in the toolbar, which lets users save custom views. | <param name='customViews' value='no'/> |
device | desktop; tablet; phone | If a dashboard has layouts for mobile devices, displays a specific layout, regardless of screen size. If this parameter isn't set, Tableau Server or Tableau Cloud detects screen size and loads a corresponding layout. See Embed Dashboards for examples. | <param name='device' value='phone'/> |
filter | string | Filters the data displayed when the view opens. You can also filter using URL parameters. | <param name='filter' value='Team=Blue'/> |
host_url | string | Required. The server name as it appears in the URL. | <param name='host_url' value='http://myserver.exampleco.com/'>
|
linktarget | string | The target window name for external hyperlinks. | <param name="linktarget" value="_blank"/> |
load-order | number | When multiple views are embedded, determines the order in which they load on the page. Negative numbers are allowed. | <param name="load-order" value="2"/> |
mobile | yes | Displays touch-optimised quick filters for mobile devices. | <param
name='mobile' value='yes'/> |
name | string | Required object parameter, with this structure: [workbook name]/[sheet name]/[optional custom view name] Format optional custom view names like this: username@domain/[custom view name] | <param name='name' value='ExampleCoSales/Sales'/>
|
:original_view | yes | If the name parameter refers to a workbook or sheet URL (and does not explicitly refer to a custom view) including this parameter displays the view as the original view. | <param name='filter' value=':original_view=yes'/> |
path(Tableau Server only. Not applicable to Tableau Cloud.) | string | For trusted authentication only, cannot be used with the ticket parameter. Overrides value of the name parameter and is used as the URL. For more information, see Display the View with the Ticket in the Tableau Server Administrator help. | <param name='path' value='trusted/Etdpsm_Ew6rJY-9kRrALjauU/views/workbookQ4/SalesQ4'/>
|
showShareOptions | true; false | Controls whether the Share options are displayed in an embedded view. | <param name='showShareOptions' value='true' /> |
site_root | string | Required. The site name. The Default site value is null (value=''). If your server is multi-site and you want to use trusted authentication, see Display the View with the Ticket in the Tableau Server help. | <param name='site_root' value='/#/Sales'/>
|
subscriptions | no | Hides the Subscriptions button in the toolbar, which lets users set up email subscriptions to receive snapshots of views at regular intervals. |
|
tabs | yes; no | Displays or hides tabs. | <param name='tabs' value='yes'/> |
ticket(Tableau Server only. Not applicable to Tableau Cloud.) | string | For trusted authentication only, cannot be used with the path object parameter. Must be used with name object to construct the trusted ticket redemption URL. For more information, see Display the View with the Ticket in the Tableau Server help. | <param name='ticket' value='9D1ObyqDQmSIOyQpKdy4Sw==:dg62gCsSE0QRArXNTOp6mlJ5'/>
|
toolbar | yes; no; top | The toolbar is displayed on the bottom by default. The toolbar is placed above the view when you set this parameter to topand excluded from the embedded view when you set it to no. | <param name='toolbar' value='top'/> |
tooltip | yes; no | Tooltips are displayed by default If you set this parameter to no, however, tooltips are excluded from the embedded view. | <param name='tooltip' value='no'/> |
| URL Parameter | Values | Description | Examples |
|---|---|---|---|
:dataDetails | no | Hides the Data Details button in the toolbar, which lets users see details about the data used in that view. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:dataDetails=no |
:showDataDetails | yes | If Tableau Catalogue is enabled, it shows the view with the Data Details pane open. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:showDataDetails=yes |
:alerts | no | Hides the Alerts button in an embedded view. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:alerts=no |
:customViews | no | Remember my changes option. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:customViews=no |
:device | desktop; tablet; phone | If a dashboard has layouts for mobile devices, displays a specific layout, regardless of screen size. If this parameter isn't set, Tableau Server or Tableau Cloud detects screen size and loads a corresponding layout. See Embed Dashboards for examples. | http://tabserver/views/sales/sales_dashboard?:device=tablet |
:display_count(Tableau Public only) | yes | Shows the total number of pageviews when you click the Tableau logo at the lower left. | https://public.tableau.com/en-us/s/gallery/what-emoji-say-about-music?:display_count=yes |
:embed | yes | Required URL parameter. Hides the top navigation area, better blending of the view into your web page. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes |
:format | pdf; png | Displays a view as a PDF or .png file. | http://tabserver/views/Sales/Q2?:format=pdf |
:highdpi | false | Renders a view using standard DPI (dots per inch) for high-resolution displays and devices. | http://tableauserver/views/Sales/Q2?:highdpi=false |
:linktarget | string | The target window name for external hyperlinks. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:linktarget=_blank |
:openid_hd | string | Used when authenticating with OpenID Connect. Specifies the hosted domain to which a user belongs. For example, you might use this option if you do not want to render the domain selection pane. Used in conjunction with :openid_login_hint to specify the full user identifier. | http://tabserver/views/Sales/Q2?:openid_hd=example.com |
:openid_login_hint | string | Used when authenticating with OpenID Connect. Specifies the full user identifier (email address). Used in conjunction with :openid_hd to specify the hosted domain to which the user belongs. | http://tabserver/views/Sales/Q2?:openid_login_hint=tara@example.com |
:record_performance(Tableau Server only. Not applicable to Tableau Cloud.) | yes | Starts a performance recording for a view. Add this at the end of the URL, immediately before the session ID (:iid=<n>). For more information, see Create a Performance Recording in Tableau Server help. | http://tabserver/views/Sales2013/Regions?:recordperformance=yes |
:refresh | yes | Renders the view using the latest data from Tableau Server or Tableau Cloud. See Refresh Data or Pause Automatic Updates for details. Tip: To continually refresh a view, in the | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:refresh=yes |
:render | true; false; number | If client-side rendering is enabled (the default), setting this to false forces server-side rendering for the session. Setting this to true forces client-side rendering for the session.A number from 1 to 100 can be entered to set the complexity threshold above which views are rendered by the server. For more information, see About Client-Side Rendering in Tableau Server help. | http://tabserver/views/Date-Time/DateCalcs?:render=false |
:revert | all; filters; sorts; axes; shelves | Returns the item to its original state. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:revert=all |
:showAppBanner | false | Hides the “Open in Tableau Mobile” banner in mobile web browsers. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:showAppBanner=false |
:showAskData | false | Hides the Ask Data button in the toolbar in an embedded view. By default the Ask Data button displays. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:showAskData=false |
:showShareOptions | true; false | Controls whether the Share options are displayed in an embedded view. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:showShareOptions=true |
:showVizHome(Tableau Public only) | yes; no | Shows or hides the content navigation interface of Tableau Public. Set to no when embedding vizzes in other web pages. | https://public.tableau.com/en-us/s/gallery/what-emoji-say-about-music?:showVizHome=no |
:subscriptions | no | Hides the Subscribe button in an embedded view. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:subscriptions=no |
:tabs | yes; no | Displays or hides tabs. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:tabs=no |
:toolbar | yes; no; top | The toolbar is displayed by default on the bottom when this parameter is not set. When no the toolbar is excluded from the embedded view. When top, the toolbar is placed above the view. | http://tabserver/views/Date-Time/DateCalcs?:embed=yes&:toolbar=no |
:tooltip | yes; no | Tooltips are displayed by default in a view when this parameter is not set. If set to no, tooltips are excluded from the embedded view. | http://tabserver/views/workbookQ4/SalesQ4?:embed=yes&:tooltip=no |
| If the smallest iframe dimension is... | This device layout appears... |
|---|---|
| 500 pixels or less | Phone |
| Between 501 and 800 pixels | Tablet |
| Greater than 800 pixels | Desktop |
| Parameter | Values | Description | Example |
|---|---|---|---|
| src (required) | string | The URL of the metric on Tableau Server or Tableau Cloud. | https://mycompany/#/metrics/1 |
link-target (HTML) linkTarget (JavaScript) (optional) | string | The URL that viewers will be directed to if they click on the metric. If no target is specified, the embedded metric will link to the source URL. | http://example.com |