此参考中的 Tableau 函数按类别组织。单击类别可浏览其函数。或者,按 Ctrl+F(在 Mac 上按 Command-F)打开搜索框,您可以使用该搜索框在页面中搜索特定函数。
函数 | 语法 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ABS |
| 返回给定数字的绝对值。 示例:
第二个示例返回 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACOS |
| 返回给定数字的反余弦。结果以弧度表示。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASIN |
| 返回给定数字的反正弦。结果以弧度表示。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATAN | ATAN(number) | 返回给定数字的反正切。结果以弧度表示。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATAN2 |
| 返回两个给定数字(x 和 y)的反正切。结果以弧度表示。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CEILING |
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
COS |
| 返回角度的余弦。以弧度为单位指定角度。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
COT |
| 返回角度的余切。以弧度为单位指定角度。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DEGREES |
| 将以弧度表示的给定数字转换为度数。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DIV | DIV(整数 1, 整数 2) | 返回将整数 1 除以整数 2 的除法运算的整数部分。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXP |
| 返回 e 的给定数字次幂。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FLOOR |
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HEXBINX |
| 将 x、y 坐标映射到最接近的六边形数据桶的 x 坐标。数据桶的边长为 1,因此,可能需要相应地缩放输入。 HEXBINX 和 HEXBINY 是用于六边形数据桶的分桶和标绘函数。六边形数据桶是对 x/y 平面(例如地图)中的数据进行可视化的有效而简洁的选项。由于数据桶是六边形的,因此每个数据桶都非常近似于一个圆,并最大程度地减少了从数据点到数据桶中心的距离变化。这使得聚类分析更加准确并且能提供有用的信息。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HEXBINY |
| 将 x、y 坐标映射到最接近的六边形数据桶的 y 坐标。数据桶的边长为 1,因此,可能需要相应地缩放输入。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LN |
| 返回数字的自然对数。如果数字小于或等于 0,则返回 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LOG |
| 返回数字以给定底数为底的对数。如果省略了底数值,则使用底数 10。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAX |
| 返回两个参数(必须为相同类型)中的较大值。如果任一参数为 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MIN |
| 返回两个参数(必须为相同类型)中的较小值。如果任一参数为 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PI |
| 返回数字常量 pi:3.14159。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
POWER |
| 计算数字的指定次幂。 示例:
也可以使用 ^ 符号:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RADIANS |
| 将给定数字从度数转换为弧度。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ROUND |
| 将数字舍入为指定位数。 示例: 此示例将每个
某些数据库(例如 SQL Server)允许指定负 注意:由于 ROUND 可能会因数字的基础浮点表示而遇到问题 — 例如 9.405 四舍五入到 9.40 — 最好将数字格式化为所需的小数位数而不是四舍五入。将 9.405 格式化为两位小数将产生预期的 9.41。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SIGN |
| 返回数字的符号:可能的返回值为:在数字为负时为 -1,在数字为零时为 0,在数字为正时为 1。 示例: 如果 profit 字段的平均值为负值,则
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SIN |
| 返回角度的正弦。以弧度为单位指定角度。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQRT |
| 返回数字的平方根。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQUARE |
| 返回数字的平方。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TAN |
| 返回角度的正切。以弧度为单位指定角度。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ZN |
| 如果表达式不为 Null,则返回该表达式,否则返回零。使用此函数可使用零值而不是 Null 值。 示例:
|
函数 | 语法 | 定义 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASCII | ASCII(string) | 返回 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CHAR | CHAR(number) | 返回通过 ASCII 代码 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CONTAINS | CONTAINS(string, substring) | 如果给定字符串包含指定子字符串,则返回 true。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDSWITH | ENDSWITH(string, substring) | 如果给定字符串以指定子字符串结尾,则返回 true。会忽略尾随空格。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FIND | FIND(string, substring, [start]) | 返回 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FINDNTH | FINDNTH(string, substring, occurrence) | 返回指定字符串内的第 n 个子字符串的位置,其中 n 由 occurrence 参数定义。 注意: 所有数据源都不可使用 FINDNTH。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LEFT | LEFT(string, number) | 返回字符串最左侧一定数量的字符。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LEN | LEN(string) | 返回字符串长度。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LOWER | LOWER(string) | 返回 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LTRIM | LTRIM(string) | 返回移除了所有前导空格的字符串。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAX |
| 返回 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MID | (MID(string, start, [length]) | 返回从索引位置 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MIN | MIN(a, b) | 返回 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PROPER | PROPER(string) | 转换文本字符串,使每个单词的第一个字母大写,其余字母小写。空格和非字母数字字符(如标点符号)也可用作分隔符。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REPLACE | REPLACE(string, substring, replacement) | 在 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RIGHT | RIGHT(string, number) | 返回 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RTRIM | RTRIM(string) | 返回移除了所有尾随空格的 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SPACE | SPACE(number) | 返回由指定 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SPLIT(string, delimiter, token number) |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STARTSWITH | STARTSWITH(string, substring) | 如果 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TRIM | TRIM(string) | 返回移除了前导和尾随空格的字符串。 示例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UPPER | UPPER(string) | 返回字符串,其所有字符为大写。 示例:
|
Tableau 提供多种日期函数。许多示例将 #
符号用于日期表达式。有关此符号的说明,请参见文本表达式语法。此外,许多日期函数还使用 date_part
,它是一个常量字符串参数。您可以使用的有效 date_part
值为:
date_part | 值 |
---|---|
'year' | 四位数年份 |
'quarter' | 1-4 |
'month' | 1-12 或 "January"、"February" 等 |
'dayofyear' | 一年中的第几天;1 月 1 日为 1、2 月 1 日为 32,依此类推 |
'day' | 1-31 |
'weekday' | 1-7 或 "Sunday"、"Monday" 等 |
'week' | 1-52 |
'hour' | 0-23 |
'minute' | 0-59 |
'second' | 0-60 |
注意:日期函数不考虑配置的会计年度开始。请参见会计日期
函数 | 语法 | 描述 |
DATEADD |
| 返回指定日期,该日期的指定 支持 ISO 8601 日期。 示例:
该表达式会向日期 |
DATEDIFF |
| 返回
支持 ISO 8601 日期。 示例:
第一个表达式返回 1,因为当 |
DATENAME |
| 以字符串的形式返回 支持 ISO 8601 日期。 示例:
|
DATEPARSE | DATEPARSE(date_format, [date_string]) | 返回 [date_string] 作为日期。 date_format 参数将描述 [字符串] 字段的排列方式。由于可通过各种方式对字符串字段进行排序,因此 date_format 必须完全匹配。有关完整解释,请参见将字段转换为日期字段。 示例:
注意:此函数可通过以下连接器获得:非旧版 Excel 和文本文件连接、Amazon EMR Hadoop Hive、Cloudera Hadoop、Google Sheets、Hortonworks Hadoop Hive、MapR Hadoop Hive、MySQL、Oracle、PostgreSQL 以及 Tableau 数据提取。有些格式可能并非适用于所有连接。 注意:Hive 变体不支持 DATEPARSE。仅支持 Denodo、Drill 和 Snowflake。 |
DATEPART |
| 以整数的形式返回
注意: 当 支持 ISO 8601 日期。 示例:
|
DATETRUNC |
| 按 date_part 指定的准确度截断指定日期。此函数返回新日期。例如,以月份级别截断处于月份中间的日期时,此函数返回当月的第一天。 支持 ISO 8601 日期。 示例:
|
DAY |
| 以整数的形式返回给定日期的天。 示例:
|
ISDATE |
| 如果给定字符串为有效日期,则返回 true。 示例:
|
MAKEDATE |
| 返回一个依据指定年份、月份和日期构造的日期值。 可用于 Tableau 数据提取。检查在其他数据源中的可用性。 示例:
|
MAKEDATETIME |
| 返回合并了 date 和 time 的 datetime。日期可以是 date、datetime 或 string 类型。时间必须是 datetime。 注意:此函数仅适用于与 MySQL 兼容的连接(对于 Tableau 为 MySQL 和 Amazon Aurora)。 示例:
|
MAKETIME |
| 返回一个依据指定小时、分钟和秒构造的日期值。 可用于 Tableau 数据提取。检查在其他数据源中的可用性。 示例:
|
MAX |
| 通常应用于数字,不过也适用于日期。返回 示例:
|
MIN |
| 通常应用于数字,不过也适用于日期。返回 示例:
|
MONTH |
| 以整数的形式返回给定日期的月份。 示例:
|
NOW |
| 返回当前本地系统日期和时间。 示例:
|
QUARTER | QUARTER ( ) | 以整数的形式返回给定日期的季度。 示例:
|
TODAY |
| 返回当前日期。 示例:
|
WEEK | WEEK( ) | 以整数的形式返回给定日期的周。 示例:
|
YEAR |
| 以整数的形式返回给定日期的年份。 示例:
|
ISOQUARTER | ISOQUARTER (date) | 以整数的形式返回给定日期的基于 ISO8601 周的季度。 示例:
|
ISOWEEK | ISOWEEK (date) | 以整数的形式返回给定日期基于 ISO8601 周的周。 示例:
|
ISOWEEKDAY | ISOWEEKDAY (date) | 以整数的形式返回给定日期基于 ISO8601 周的平日。 示例:
|
ISOYEAR | ISOYEAR (date) | 以整数的形式返回给定日期的基于 ISO8601 周的年。 示例:
|
函数 | 语法 | 描述 |
IN | <expr1> IN <expr2> | 如果
示例:
|
AND | IF <expr1> AND <expr2> THEN <then> END | 对两个表达式执行逻辑合取运算。 示例:
|
CASE | CASE <expression> WHEN <value1> THEN <return1> WHEN
<value2> THEN <return2> ... ELSE <default return> END | 执行逻辑测试并返回相应的值。CASE 函数可评估 CASE 也支持 WHEN IN 构造,例如
WHEN IN 中的值可以是集、文本值列表或合并字段。 其他注意事项
示例:
|
ELSE | IF <expr> THEN <then> ELSE <else> END | 测试一系列表达式,同时为第一个为 true 的 <expr> 返回 <then> 值。 示例:
|
ELSEIF | IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END | 测试一系列表达式,同时为第一个为 true 的 <expr> 返回 <then> 值。 示例:
|
END | IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END | 测试一系列表达式,同时为第一个为 true 的 <expr> 返回 <then> 值。必须放在表达式的结尾。 示例:
|
IF | IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END | 测试一系列表达式,同时为第一个为 true 的 <expr> 返回 <then> 值。 示例:
|
IFNULL | IFNULL(expr1, expr2) | 如果 <expr1> 不为 null,则返回该表达式,否则返回 <expr2>。 示例:
|
IIF | IIF(test, then, else, [unknown]) | 检查某个条件是否得到满足,如果为 TRUE 则返回一个值,如果为 FALSE 则返回另一个值,如果未知,则返回可选的第三个值或 NULL。 示例:
|
ISDATE | ISDATE(string) | 如果给定字符串为有效日期,则返回 true。 示例:
|
ISNULL | ISNULL(expression) | 如果表达式为 NULL(未包含有效数据),则返回 true。 示例:
|
MAX | MAX(expression) 或 Max(expr1, expr2) | 返回单一表达式所有记录中的最大值,或返回每条记录两个表达式中的最大值。 示例:
|
MIN | MIN(expression) 或 MIN(expr1, expr2) | 返回单一表达式所有记录中的最小值,或返回每条记录两个表达式中的最小值。 示例:
|
NOT | IF NOT <expr> THEN <then> END | 对一个表达式执行逻辑非运算。 示例:
|
或者 | IF <expr1> OR <expr2> THEN <then> END | 对两个表达式执行逻辑析取操作。 示例:
|
THEN | IF <expre> THEN <then> [ELSEIF ,expr2> THEN <then2>...] [ELSE <else>] END | 测试一系列表达式,同时为第一个为 true 的 <expr> 返回 <then> 值。 示例:
|
WHEN | CASE <expr> WHEN <Value1> THEN <return1> ... [ELSE <else>] END | 查找第一个与 <expr> 匹配的 <value>,并返回对应的 <return>。 示例:
|
ZN | ZN(expression) | 如果 <expression> 不为 null,则返回该表达式,否则返回零。 示例:
|
聚合和浮点算法:有些聚合的结果可能并非总是完全符合预期。例如,您可能发现 Sum 函数返回值 -1.42e-14 作为列数,而您知道求和结果应该正好为 0。出现这种情况的原因是电气电子工程师学会 (IEEE) 754 浮点标准要求数字以二进制格式存储,这意味着数字有时会以极高的精度级别舍入。您可以使用 ROUND 函数(请参见数字函数)或者通过将数字格式设置为显示较少小数位来消除这种潜在误差。
函数 | 语法 | 定义 |
ATTR |
| 如果它的所有行都有一个值,则返回该表达式的值。否则返回星号。会忽略 Null 值。 |
AVG |
| 返回表达式中所有值的平均值。AVG 只能用于数字字段。会忽略 Null 值。 |
COLLECT |
| 将参数字段中的值组合在一起的聚合计算。会忽略 Null 值。 注意:COLLECT 函数只能用于空间字段。 示例:
|
CORR |
| 返回两个表达式的皮尔森相关系数。 皮尔森相关系数衡量两个变量之间的线性关系。结果范围为 -1 至 +1(包括 -1 和 +1),其中 1 表示精确的正向线性关系,比如一个变量中的正向更改即表示另一个变量中对应量级的正向更改,0 表示方差之间没有线性关系,而 −1 表示精确的反向关系。 CORR 可用于以下数据源:
对于其他数据源,请考虑提取数据或使用 WINDOW_CORR。请参见表计算函数。 注意:CORR 结果的平方等于线性趋势线模型的 R 平方值。请参见趋势线模型术语。 示例: 您可以使用 CORR 在解聚散点图中呈现关联。实现此目的的方式是使用表范围详细级别表达式。例如:
借助详细级别表达式,关联将在所有行上运行。如果您使用像 请参见表范围。 |
COUNT |
| 返回组中的项目数。不对 Null 值计数。 |
COUNTD |
| 返回组中不同项目的数量。不对 Null 值计数。此函数在下列情况下不可用:在 Tableau Desktop 8.2 之前创建的使用 Microsoft Excel 或文本文件数据源的工作簿、使用旧版连接的工作簿和使用 Microsoft Access 数据源的工作簿。将数据提取到数据提取文件以使用此函数。请参见提取数据。 |
COVAR |
| 返回两个表达式的样本协方差。 协方差对两个变量的共同变化方式进行量化。正协方差指明两个变量趋向于向同一方向移动,平均来说,即一个变量的较大值趋向于与另一个变量的较大值对应。样本协方差使用非空数据点的数量 n - 1 来规范化协方差计算,而不是使用总体协方差(可用于 COVARP 函数)所使用的 n。当数据是用于估算较大总体的协方差的随机样本时,则样本协方差是合适的选择。 COVAR 可用于以下数据源:
对于其他数据源,请考虑提取数据或使用 WINDOW_COVAR。请参见表计算函数。 如果 expression1 和 expression2 相同 — 例如,COVAR([profit], [profit]) — 则 COVAR 将返回一个值,指明值分布的广泛程度。 注意:COVAR(X, X) 的值等于 VAR(X) 的值,也等于 STDEV(X)^2 的值。 示例: 以下公式返回“Sales”和“Profit”的样本协方差。
|
COVARP |
| 返回两个表达式的总体协方差。 协方差对两个变量的共同变化方式进行量化。正协方差指明两个变量趋向于向同一方向移动,平均来说,即一个变量的较大值趋向于与另一个变量的较大值对应。总体协方差等于样本协方差除以 (n-1)/n,其中 n 是非空数据点的总数。如果存在可用于所有相关项的数据,则总体协方差是合适的选择,与之相反,在只有随机项子集的情况下,样本协方差(及 COVAR 函数)较为适合。 COVARP 可用于以下数据源:
对于其他数据源,请考虑提取数据或使用 WINDOW_COVARP。请参见表计算函数。 如果 expression1 和 expression2 相同 — 例如,COVARP([profit], [profit]) — 则 COVARP 将返回一个值,指明值分布的广泛程度。 注意:COVARP(X, X) 的值等于 VARP(X) 的值,也等于 STDEVP(X)^2 的值。 示例: 以下公式返回“Sales”和“Profit”的总体协方差。
|
MAX |
| 返回表达式在所有记录中的最大值。如果表达式为字符串值,则此函数返回按字母顺序定义的最后一个值。 |
MEDIAN |
| 返回表达式在所有记录中的中位数。中位数只能用于数字字段。会忽略 Null 值。此函数不适用于在 Tableau Desktop 8.2 版之前创建或使用旧版连接的工作簿。它也不适用于使用以下任何数据源的连接:
对于其他数据源类型,可以将数据提取到数据提取文件以使用此函数。请参见提取数据。 |
MIN |
| 返回表达式在所有记录中的最小值。如果表达式为字符串值,则此函数返回按字母顺序定义的第一个值。 |
PERCENTILE |
| 从给定表达式返回与指定数字对应的百分位处的值。数字必须介于 0 到 1 之间(含 0 和 1),例如 0.66,并且必须是数值常量。 此函数可用于以下数据源。
对于其他数据源类型,可以将数据提取到数据提取文件以使用此函数。请参见提取数据。 |
STDEV |
| 基于群体样本返回给定表达式中所有值的统计标准差。 |
STDEVP |
| 基于有偏差群体返回给定表达式中所有值的统计标准差。 |
SUM |
| 返回表达式中所有值的总计。SUM 只能用于数字字段。会忽略 Null 值。 |
VAR |
| 基于群体样本返回给定表达式中所有值的统计方差。 |
VARP |
| 对整个群体返回给定表达式中所有值的统计方差。 |
函数 | 语法 | 描述 |
FULLNAME |
| 返回当前用户的全名。当用户已登录时,这是 Tableau Server 或 Tableau Cloud 全名;否则为 Tableau Desktop 用户的本地或网络全名。 示例:
如果经理 Dave Hallsten 已登录,则仅当视图中的“Manager”字段包含“Dave Hallsten”时,此示例才会返回 True。用作筛选器时,此计算字段可用于创建用户筛选器,该筛选器仅显示与登录到服务器的人员相关的数据。 |
ISFULLNAME |
| 如果当前用户的全名与指定的全名匹配,则返回 true;如果不匹配,则返回 false。当用户已登录时,此函数使用 Tableau Server 或 Tableau Cloud 全名;否则它使用 Tableau Desktop 用户的本地或网络全名。 示例:
如果 Dave Hallsten 为当前用户,则此示例返回 true,否则返回 false。 |
ISMEMBEROF |
| 如果当前使用 Tableau 的人员是与给定字符串匹配的组的成员,则返回 true。如果当前使用 Tableau 的人员已登录,则组成员身份由 Tableau Server 或 Tableau Cloud 上的组确定。如果该人员未登录,则此函数返回 NULL。 注意:如果给定字符串为“All Users”,则不管是登录到 Tableau Server 或 Tableau Cloud,函数都将返回“True”。 ISMEMBEROF() 函数也将接受 Active Directory 域。必须使用组名称在计算中声明 Active Directory 域。 示例:
|
ISUSERNAME |
| 如果当前用户的用户名与指定的用户名匹配,则返回 true;如果不匹配,则返回 false。当用户已登录时,此函数使用 Tableau Server 或 Tableau Cloud 用户名;否则它使用 Tableau Desktop 用户的本地或网络用户名。 示例:
如果 dhallsten 为当前用户,则此示例返回 true,否则返回 false。 注意:“All Users”将始终返回 true。 |
USERDOMAIN |
| 当当前用户已登录到 Tableau Server 时,返回该用户的域。如果 Tableau Desktop 用户在域上,则返回 Windows 域。否则,此函数返回一个空字符串。 示例:
|
USERNAME |
| 返回当前用户的用户名。当用户已登录时,这是 Tableau Server 或 Tableau Cloud 用户名;否则为 Tableau Desktop 用户的本地或网络用户名。 示例:
如果经理 dhallsten 已登录,则仅当视图中的“Manager”字段为“dhallsten”时,此函数才会返回 True。用作筛选器时,此计算字段可用于创建用户筛选器,该筛选器仅显示与登录到服务器的人员相关的数据。 |
FIRST( )
返回从当前行到分区中第一行的行数。例如,下面的视图显示每季度销售额。在 Date 分区中计算 FIRST() 时,第一行与第二行之间的偏移为 -1。
示例
当前行索引为 3 时,FIRST()
= -2
。
INDEX( )
返回分区中当前行的索引,不包含与值有关的任何排序。第一个行索引从 1 开始。例如,下表显示每季度销售额。当在 Date 分区中计算 INDEX() 时,各行的索引分别为 1、2、3、4 等。
示例
对于分区中的第三行,INDEX() = 3
。
LAST( )
返回从当前行到分区中最后一行的行数。例如,下表显示每季度销售额。在 Date 分区中计算 LAST() 时,最后一行与第二行之间的偏移为 5。
示例
当前行索引为 3(共 7 行)时,LAST() = 4
。
LOOKUP(expression, [offset])
返回目标行(指定为与当前行的相对偏移)中表达式的值。使用 FIRST() + n 和 LAST() - n 作为相对于分区中第一行/最后一行的目标偏移量定义的一部分。如果省略了 offset
,则可以在字段菜单上设置要比较的行。如果无法确定目标行,则此函数返回 NULL。
下面的视图显示每季度销售额。当在 Date 分区中计算 LOOKUP (SUM(Sales), 2)
时,每行都会显示接下来 2 个季度的销售额值。
示例
LOOKUP(SUM([Profit]),
FIRST()+2)
计算分区第三行中的 SUM(Profit)。
MODEL_EXTENSION_BOOL (模型名称, 参数, 表达式)
返回由部署在 TabPy 外部服务上的命名模型计算的表达式的布尔结果。
“模型名称”是您要使用的已部署分析模型的名称。
每个参数都是一个字符串,用于设置部署模型接受的输入值,并由分析模型定义。
使用表达式定义从 Tableau 发送到分析模型的值。请务必使用聚合函数(SUM、AVG 等)来聚合结果。
使用函数时,表达式的数据类型和顺序必须与输入参数的数据类型和顺序相匹配。
示例
MODEL_EXTENSION_BOOL ("isProfitable","inputSales", "inputCosts", SUM([Sales]), SUM([Costs]))
MODEL_EXTENSION_INT (模型名称, 参数, 表达式)
返回由部署在 TabPy 外部服务上的命名模型计算的表达式的整数结果。
“模型名称”是您要使用的已部署分析模型的名称。
每个参数都是一个字符串,用于设置部署模型接受的输入值,并由分析模型定义。
使用表达式定义从 Tableau 发送到分析模型的值。请务必使用聚合函数(SUM、AVG 等)来聚合结果。
使用函数时,表达式的数据类型和顺序必须与输入参数的数据类型和顺序相匹配。
示例
MODEL_EXTENSION_INT ("getPopulation", "inputCity", "inputState", MAX([City]), MAX ([State]))
MODEL_EXTENSION_REAL (模型名称, 参数, 表达式)
返回由部署在 TabPy 外部服务上的命名模型计算的表达式的实数结果。
“模型名称”是您要使用的已部署分析模型的名称。
每个参数都是一个字符串,用于设置部署模型接受的输入值,并由分析模型定义。
使用表达式定义从 Tableau 发送到分析模型的值。请务必使用聚合函数(SUM、AVG 等)来聚合结果。
使用函数时,表达式的数据类型和顺序必须与输入参数的数据类型和顺序相匹配。
示例
MODEL_EXTENSION_REAL ("profitRatio", "inputSales", "inputCosts", SUM([Sales]), SUM([Costs]))
MODEL_EXTENSION_STRING (模型名称, 参数, 表达式)
返回由部署在 TabPy 外部服务上的命名模型计算的表达式的字符串结果。
“模型名称”是您要使用的已部署分析模型的名称。
每个参数都是一个字符串,用于设置部署模型接受的输入值,并由分析模型定义。
使用表达式定义从 Tableau 发送到分析模型的值。请务必使用聚合函数(SUM、AVG 等)来聚合结果。
使用函数时,表达式的数据类型和顺序必须与输入参数的数据类型和顺序相匹配。
示例
MODEL_EXTENSION_STR ("mostPopulatedCity", "inputCountry", "inputYear", MAX ([Country]), MAX([Year]))
MODEL_PERCENTILE(target_expression, predictor_expression(s))
返回期望值小于或等于观察标记的概率(介于 0 和 1 之间),由目标表达式和其他预测因子定义。这是后验预测分布函数,也称为累积分布函数 (CDF)。
此函数是 MODEL_QUANTILEL 的逆函数。有关预测建模函数的信息,请参见预测建模函数在 Tableau 中的工作方式。
示例
以下公式返回销售额总和标记的分位数,根据订单计数进行调整。
MODEL_PERCENTILE(SUM([Sales]), COUNT([Orders]))
MODEL_QUANTILE(quantile, target_expression, predictor_expression(s))
以指定的分位数返回由目标表达式和其他预测因子定义的可能范围内的目标数值。这是后验预测分位数。
此函数是 MODEL_PERCENTILE 的逆函数。有关预测建模函数的信息,请参见预测建模函数在 Tableau 中的工作方式。
示例
以下公式返回中位数 (0.5) 预测销售额总和,根据订单数进行调整。
MODEL_QUANTILE(0.5, SUM([Sales]), COUNT([Orders]))
PREVIOUS_VALUE(expression)
返回此计算在上一行中的值。如果当前行是分区的第一行,则返回给定表达式。
示例
SUM([Profit]) * PREVIOUS_VALUE(1)
计算 SUM(Profit) 的运行产品。
RANK(expression, ['asc' | 'desc'])
返回分区中当前行的标准竞争排名。为相同的值分配相同的排名。使用可选的 'asc' | 'desc'
参数指定升序或降序顺序。默认为降序。
利用此函数,将对值集 (6, 9, 9, 14) 进行排名 (4, 2, 2, 1)。
在排名函数中,会忽略 Null。它们不进行编号,且不计入百分位排名计算的总记录数中。
有关不同排名选项的信息,请参见排名计算。
示例
下图显示对一组值执行各种排名函数(RANK、RANK_DENSE、RANK_MODIFIED、RANK_PERCENTILE 和 RANK_UNIQUE)的效果。数据集包含 14 名学生(StudentA 到 StudentN)的相关信息;“Age”列显示每个学生的当前年龄(所有学生都介于 17 岁和 20 岁之间)。其余的列会显示每个排名函数对年龄值集的影响,并始终假定函数的默认顺序(升序或降序)。
RANK_DENSE(expression, ['asc' | 'desc'])
返回分区中当前行的密集排名。为相同的值分配相同的排名,但不会向数字序列中插入间距。使用可选的 'asc' | 'desc'
参数指定升序或降序顺序。默认为降序。
利用此函数,将对值集 (6, 9, 9, 14) 进行排名 (3, 2, 2, 1)。
在排名函数中,会忽略 Null。它们不进行编号,且不计入百分位排名计算的总记录数中。
有关不同排名选项的信息,请参见排名计算。
RANK_MODIFIED(expression, ['asc' | 'desc'])
返回分区中当前行的调整后竞争排名。为相同的值分配相同的排名。使用可选的 'asc' | 'desc'
参数指定升序或降序顺序。默认为降序。
利用此函数,将对值集 (6, 9, 9, 14) 进行排名 (4, 3, 3, 1)。
在排名函数中,会忽略 Null。它们不进行编号,且不计入百分位排名计算的总记录数中。
有关不同排名选项的信息,请参见排名计算。
RANK_PERCENTILE(expression, ['asc' | 'desc'])
返回分区中当前行的百分位排名。使用可选的 'asc' | 'desc'
参数指定升序或降序顺序。默认为升序。
利用此函数,将对值集 (6, 9, 9, 14) 进行排名 (0, 0.67, 0.67, 1.00)。
在排名函数中,会忽略 Null。它们不进行编号,且不计入百分位排名计算的总记录数中。
有关不同排名选项的信息,请参见排名计算。
RANK_UNIQUE(expression, ['asc' | 'desc'])
返回分区中当前行的唯一排名。为相同的值分配相同的排名。使用可选的 'asc' | 'desc'
参数指定升序或降序顺序。默认为降序。
利用此函数,将对值集 (6, 9, 9, 14) 进行排名 (4, 2, 3, 1)。
在排名函数中,会忽略 Null。它们不进行编号,且不计入百分位排名计算的总记录数中。
有关不同排名选项的信息,请参见排名计算。
RUNNING_AVG(expression)
返回给定表达式从分区中第一行到当前行的运行平均值。
下面的视图显示每季度销售额。当在 Date 分区中计算 RUNNING_AVG(SUM([Sales])
时,结果为每个季度的销售额值的运行平均值。
示例
RUNNING_AVG(SUM([Profit]))
计算 SUM(Profit) 的运行平均值。
RUNNING_COUNT(expression)
返回给定表达式从分区中第一行到当前行的运行计数。
示例
RUNNING_COUNT(SUM([Profit]))
计算 SUM(Profit) 的运行计数。
RUNNING_MAX(expression)
返回给定表达式从分区中第一行到当前行的运行最大值。
示例
RUNNING_MAX(SUM([Profit]))
计算 SUM(Profit) 的运行最大值。
RUNNING_MIN(expression)
返回给定表达式从分区中第一行到当前行的运行最小值。
示例
RUNNING_MIN(SUM([Profit]))
计算 SUM(Profit) 的运行最小值。
RUNNING_SUM(expression)
返回给定表达式从分区中第一行到当前行的运行总计。
示例
RUNNING_SUM(SUM([Profit]))
计算 SUM(Profit) 的运行总计
SIZE()
返回分区中的行数。例如,下面的视图显示每季度销售额。在 Date 分区中有七行,因此 Date 分区的 Size() 为 7。
示例
当前分区包含五行时 SIZE() = 5
。
SCRIPT_BOOL
返回指定表达式的布尔结果。表达式直接传递给正在运行的分析扩展程序服务实例。
在 R 表达式中,使用 .argn(带前导句点)引用参数(.arg1、.arg2 等)。
在 Python 表达式中,使用 _argn(带前导下划线)。
示例
在此 R 示例中,.arg1 等于 SUM([Profit]):
SCRIPT_BOOL("is.finite(.arg1)", SUM([Profit]))
对于华盛顿州中的商店 ID,下一示例返回 True,否则返回 False。此示例可以是标题为 IsStoreInWA 的计算字段的定义。
SCRIPT_BOOL('grepl(".*_WA", .arg1, perl=TRUE)',ATTR([Store ID]))
Python 的命令将采用以下形式:
SCRIPT_BOOL("return map(lambda x : x > 0, _arg1)", SUM([Profit]))
SCRIPT_INT
返回指定表达式的整数结果。表达式直接传递给正在运行的分析扩展程序服务实例。
在 R 表达式中,使用 .argn(带前导句点)引用参数(.arg1、.arg2 等)
在 Python 表达式中,使用 _argn(带前导下划线)。
示例
在此 R 示例中,.arg1 等于 SUM([Profit]):
SCRIPT_INT("is.finite(.arg1)", SUM([Profit]))
在下一示例中,使用 k-means clustering 创建三个群集:
SCRIPT_INT('result <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4), 3);result$cluster;', SUM([Petal length]), SUM([Petal width]),SUM([Sepal length]),SUM([Sepal width]))
Python 的命令将采用以下形式:
SCRIPT_INT("return map(lambda x : int(x * 5), _arg1)", SUM([Profit]))
SCRIPT_REAL
返回指定表达式的实数结果。表达式直接传递给正在运行的分析扩展程序服务实例。在
在 R 表达式中,使用 .argn(带前导句点)引用参数(.arg1、.arg2 等)
在 Python 表达式中,使用 _argn(带前导下划线)。
示例
在此 R 示例中,.arg1 等于 SUM([Profit]):
SCRIPT_REAL("is.finite(.arg1)", SUM([Profit]))
下一示例将温度值从摄氏值转换为华氏值。
SCRIPT_REAL('library(udunits2);ud.convert(.arg1, "celsius", "degree_fahrenheit")',AVG([Temperature]))
Python 的命令将采用以下形式:
SCRIPT_REAL("return map(lambda x : x * 0.5, _arg1)", SUM([Profit]))
SCRIPT_STR
返回指定表达式的字符串结果。表达式直接传递给正在运行的分析扩展程序服务实例。
在 R 表达式中,使用 .argn(带前导句点)引用参数(.arg1、.arg2 等)
在 Python 表达式中,使用 _argn(带前导下划线)。
示例
在此 R 示例中,.arg1 等于 SUM([Profit]):
SCRIPT_STR("is.finite(.arg1)", SUM([Profit]))
下一示例将从更复杂的字符串(采用原始格式 13XSL_CA, A13_WA)中提取州名缩写:
SCRIPT_STR('gsub(".*_", "", .arg1)',ATTR([Store ID]))
Python 的命令将采用以下形式:
SCRIPT_STR("return map(lambda x : x[:2], _arg1)", ATTR([Region]))
TOTAL(expression)
返回表计算分区内表达式的总计。
示例
假定您从此视图开始:
您可以打开计算编辑器并创建名为“总额”的新字段。
然后可以将“总额”拖到“文本”上以替换 SUM(Sales)。您的视图会发生更改,使其总计值基于默认的“计算依据”值:
这会产生问题,默认的“计算依据”值是什么?如果在“数据”窗格中右键单击(在 Mac 上按住 Control 单击)“总额”,并选择“编辑”,则会提供一点额外的信息:
默认的“计算依据”值是“表(横穿)”。结果是,“总额”会汇总每个表行的值。因此,您看到的每一行的值是表原始版本中值的总和。
原始表内 2011/Q1 行中的值为 $8601、$6579、$44262 和 $15006。在“总额”替换 SUM(Sales) 之后,表中的值都为 $74,448,这是四个原始值的总和。
请注意,将“总额”拖到“文本”上之后“总额”旁边会出现小三角:
这表明该字段正在使用表计算。您可以右键单击字段并选择“编辑表计算”,以将您的函数重定向到不同的“计算依据”值。例如,可以将其设置为“表(向下)”。在此情况下,您的表将如下所示:
WINDOW_AVG(expression, [start, end])
返回窗口中表达式的平均值。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
例如,下面的视图显示每季度销售额。Date 分区中的窗口平均值返回所有日期间的平均销售额。
示例
WINDOW_AVG(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 平均值。
WINDOW_CORR(expression1, expression2, [start, end])
返回窗口内两个表达式的皮尔森相关系数。窗口定义为与当前行的偏移。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了 start 和 end,则使用整个分区。
皮尔森相关系数衡量两个变量之间的线性关系。结果范围为 -1 至 +1(包括 -1 和 +1),其中 1 表示精确的正向线性关系,比如一个变量中的正向更改即表示另一个变量中对应量级的正向更改,0 表示方差之间没有线性关系,而 −1 表示精确的反向关系。
有一个等效的聚合函数:CORR。请参阅 Tableau 函数(按字母顺序)(链接在新窗口中打开)。
示例
以下公式返回 SUM(Profit) 和 SUM(Sales) 从前五行到当前行的皮尔森相关系数。
WINDOW_CORR(SUM[Profit]), SUM([Sales]), -5, 0)
WINDOW_COUNT(expression, [start, end])
返回窗口中表达式的计数。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
示例
WINDOW_COUNT(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 计数
WINDOW_COVAR(expression1, expression2, [start, end])
返回窗口内两个表达式的样本协方差。窗口定义为与当前行的偏移。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了 start 和 end 参数,则窗口为整个分区。
样本协方差使用非空数据点的数量 n - 1 来规范化协方差计算,而不是使用总体协方差(及 WINDOW_COVARP 函数)所使用的 n。当数据是用于估算较大总体的协方差的随机样本时,则样本协方差是合适的选择。
有一个等效的聚合函数:COVAR。请参阅 Tableau 函数(按字母顺序)(链接在新窗口中打开)。
示例
以下公式返回 SUM(Profit) 和 SUM(Sales) 从前两行到当前行的样本协方差。
WINDOW_COVAR(SUM([Profit]), SUM([Sales]), -2, 0)
WINDOW_COVARP(expression1, expression2, [start, end])
返回窗口内两个表达式的总体协方差。窗口定义为与当前行的偏移。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了 start 和 end,则使用整个分区。
总体协方差等于样本协方差除以 (n-1)/n,其中 n 是非空数据点的总数。如果存在可用于所有相关项的数据,则总体协方差是合适的选择,与之相反,在只有随机项子集的情况下,样本协方差(及 WINDOW_COVAR 函数)较为适合。
有一个等效的聚合函数:COVARP。Tableau 函数(按字母顺序)(链接在新窗口中打开)。
示例
以下公式返回 SUM(Profit) 和 SUM(Sales) 从前两行到当前行的总体协方差。
WINDOW_COVARP(SUM([Profit]), SUM([Sales]), -2, 0)
WINDOW_MEDIAN(expression, [start, end])
返回窗口中表达式的中值。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
例如,下面的视图显示每季度利润。Date 分区中的窗口中值返回所有日期的中值利润。
示例
WINDOW_MEDIAN(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 中值。
WINDOW_MAX(expression, [start, end])
返回窗口中表达式的最大值。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
例如,下面的视图显示每季度销售额。Date 分区中的窗口最大值返回所有日期间的最大销售额。
示例
WINDOW_MAX(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 最大值。
WINDOW_MIN(expression, [start, end])
返回窗口中表达式的最小值。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
例如,下面的视图显示每季度销售额。Date 分区中的窗口最小值返回所有日期间的最小销售额。
示例
WINDOW_MIN(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 最小值。
WINDOW_PERCENTILE(expression, number, [start, end])
返回与窗口中指定百分位相对应的值。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
示例
WINDOW_PERCENTILE(SUM([Profit]), 0.75, -2, 0)
返回 SUM(Profit) 的前面两行到当前行的第 75 个百分位。
WINDOW_STDEV(expression, [start, end])
返回窗口中表达式的样本标准差。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
示例
WINDOW_STDEV(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 标准差。
WINDOW_STDEVP(expression, [start, end])
返回窗口中表达式的有偏差标准差。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
示例
WINDOW_STDEVP(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 标准差。
WINDOW_SUM(expression, [start, end])
返回窗口中表达式的总计。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
例如,下面的视图显示每季度销售额。Date 分区中计算的窗口总计返回所有季度的销售额总计。
示例
WINDOW_SUM(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 总和。
WINDOW_VAR(expression, [start, end])
返回窗口中表达式的样本方差。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
示例
WINDOW_VAR((SUM([Profit])), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 方差。
WINDOW_VARP(expression, [start, end])
返回窗口中表达式的有偏差方差。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。
示例
WINDOW_VARP(SUM([Profit]), FIRST()+1, 0)
计算从第二行到当前行的 SUM(Profit) 方差。
RAWSQL 直通函数可用于将 SQL 表达式直接发送到数据库,而不由 Tableau 进行解析。如果您有 Tableau 不能识别的自定义数据库函数,则可以使用直通函数调用这些自定义函数。
您的数据库通常不会理解在 Tableau 中显示的字段名称。因为 Tableau 不会解释包含在直通函数中的 SQL 表达式,所以在表达式中使用 Tableau 字段名称可能会导致错误。可以使用替换语法将用于 Tableau 计算的正确字段名称或表达式插入直通 SQL。例如,假设您有一个计算一组中值的函数,则可以对 Tableau 列 [Sales] 调用该函数,如下所示:
RAWSQLAGG_REAL(“MEDIAN(%1)”, [Sales])
因为 Tableau 不解释该表达式,所以您必须定义聚合。在使用聚合表达式时,可以使用下面描述的 RAWSQLAGG 函数。
RAWSQL 直通函数可能不使用数据提取或已发布数据源(如果它们包含关系)。
RAWSQL 函数
Tableau 中提供了以下 RAWSQL 函数。
RAWSQL_BOOL(“sql_expr”, [arg1], …[argN])
从给定 SQL 表达式返回布尔结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。
示例
在示例中,%1 等于 [Sales],%2 等于 [Profit]。
RAWSQL_BOOL(“IIF( %1 > %2, True, False)”, [Sales], [Profit])
RAWSQL_DATE(“sql_expr”, [arg1], …[argN])
从给定 SQL 表达式返回日期结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。
示例
在下例中,%1 等于 [Order Date]。
RAWSQL_DATE(“%1”, [Order
Date])
RAWSQL_DATETIME(“sql_expr”, [arg1], …[argN])
从给定 SQL 表达式返回日期和时间结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Delivery Date]。
示例
RAWSQL_DATETIME(“MIN(%1)”, [Delivery Date])
RAWSQL_INT(“sql_expr”, [arg1], …[argN])
从给定 SQL 表达式返回整数结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Sales]。
示例
RAWSQL_INT(“500
+ %1”, [Sales])
RAWSQL_REAL(“sql_expr”, [arg1], …[argN])
从直接传递给基础数据库的给定 SQL 表达式返回数字结果。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Sales]
示例
RAWSQL_REAL(“-123.98 * %1”, [Sales])
RAWSQL_SPATIAL
从直接传递给基础数据源的给定 SQL 表达式返回空间数据。在 SQL 表达式中将 %n 用作数据库值的替换语法。
示例
在本例中,%1 等于 [Geometry]。
RAWSQL_SPATIAL("%1", [Geometry])
RAWSQL_STR(“sql_expr”, [arg1], …[argN])
从直接传递给基础数据库的给定 SQL 表达式返回字符串。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Customer Name]。
示例
RAWSQL_STR(“%1”, [Customer Name])
RAWSQLAGG_BOOL(“sql_expr”, [arg1], …[argN])
从给定聚合 SQL 表达式返回布尔结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。
示例
在示例中,%1 等于 [Sales],%2 等于 [Profit]。
RAWSQLAGG_BOOL(“SUM( %1) >SUM( %2)”, [Sales], [Profit])
RAWSQLAGG_DATE(“sql_expr”, [arg1], …[argN])
从给定聚合 SQL 表达式返回日期结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Order Date]。
示例
RAWSQLAGG_DATE(“MAX(%1)”,
[Order Date])
RAWSQLAGG_DATETIME(“sql_expr”, [arg1], …[argN])
从给定聚合 SQL 表达式返回日期和时间结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Delivery Date]。
示例
RAWSQLAGG_DATETIME(“MIN(%1)”, [Delivery Date])
RAWSQLAGG_INT(“sql_expr”, [arg1,] …[argN])
从给定聚合 SQL 表达式返回整数结果。SQL 表达式直接传递给基础数据库。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Sales]。
示例
RAWSQLAGG_INT(“500
+ SUM(%1)”, [Sales])
RAWSQLAGG_REAL(“sql_expr”, [arg1,] …[argN])
从直接传递给基础数据库的给定聚合 SQL 表达式返回数字结果。在 SQL 表达式中将 %n 用作数据库值的替换语法。在下例中,%1 等于 [Sales]
示例
RAWSQLAGG_REAL(“SUM( %1)”, [Sales])
RAWSQLAGG_STR(“sql_expr”, [arg1,] …[argN])
从直接传递给基础数据库的给定聚合 SQL 表达式返回字符串。在 SQL 表达式中将 %n 用作数据库值的替换语法。在此示例中,%1 等于 [Discount]。
示例
RAWSQLAGG_STR(“AVG(%1)”,
[Discount])
空间函数允许您执行高级空间分析,并将空间文件与其他格式的数据(如文本文件或电子表格)相结合。
函数 | 语法 | 描述 |
AREA | AREA(空间多边形, "单位") | 返回空间多边形的总表面积。 支持的单位名称:米(“meters”、“metres”、“m”)、千米(“kilometers”、“kilometres”、“km”)、英里(“miles”或“mi”)、英尺(“feet”、“ft”)。 |
BUFFER | BUFFER(Spatial Point, distance, "units") | 返回一个多边形,其半径由计算中定义的距离和单位值确定。 注意:Buffer 计算仅适用于点空间对象。 BUFFER 支持与 DISTANCE 函数相同的单位名称。 |
DISTANCE | DISTANCE(<Spatial Point1>,<Spatial Point2>,"<units>") | 以指定单位返回两点之间的距离测量值。支持的单位名称:米(“meters”、“metres”、“m”)、千米(“kilometers”、“kilometres”、“km”)、英里(“miles”或“mi”)、英尺(“feet”、“ft”)。 只能使用实时连接创建此函数,并在数据源转换为提取时将能继续工作。 示例:
|
INTERSECTS | INTERSECTS (<几何图形 1>,<几何图形 2>) | 返回一个布尔值 (True/False),指示两个几何图形是否在空间中重叠。 支持的组合:点/多边形、线/多边形和多边形/多边形。 |
MAKELINE | MAKELINE(<Spatial Point1>,<Spatial Point2>) | 在两个点之间生成一个线标记;对于构建原点-目标映射特别有用。 示例:
|
MAKEPOINT | MAKEPOINT(<latitude>, <longitude>) | 将数据从纬度和经度列转换为空间对象。 您可以使用 MAKEPOINT 使数据源具备空间特性,以便可以使用空间联接将其与空间文件联接。有关详细信息,请参见在 Tableau 中联接空间文件。 若要使用 MAKEPOINT,您的数据必须包含纬度和经度坐标。 示例:
|
MAKEPOINT(X,Y, SRID) |
| 将数据从投影的地理坐标转换为空间对象。SRID 是一种空间参考标识符,它使用 ESPG 参考系代码来指定坐标系。如果未指定 SRID,则假设使用 WGS84,并将参数视为以度数为单位的纬度/经度。 只能使用实时连接创建此函数,并在数据源转换为提取时将能继续工作。 示例:
|
正则表达式
REGEXP_REPLACE(字符串, 模式, 替换字符串)
返回给定字符串的副本,其中正则表达式模式被替换字符串取代。此函数可用于文本文件、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 数据源。
对于 Tableau 数据提取,模式和替换字符串必须为常量。
有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(链接在新窗口中打开)页面。
示例
REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123'
REGEXP_MATCH(字符串, 模式)
如果指定的字符串的子字符串匹配正则表达式模式,则返回 true。此函数可用于文本文件、Google BigQuery、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Impala 2.3.0(通过 Cloudera Hadoop 数据源)、Snowflake 和 Oracle 数据源。
对于 Tableau 数据提取,模式必须为常量。
有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(链接在新窗口中打开)页面。
示例
REGEXP_MATCH('-([1234].[The.Market])-','\[\s*(\w*\.)(\w*\s*\])')=true
REGEXP_EXTRACT(string, pattern)
返回与正则表达式模式匹配的字符串部分。此函数可用于文本文件、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 数据源。
对于 Tableau 数据提取,模式必须为常量。
有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(链接在新窗口中打开)页面。
示例
REGEXP_EXTRACT('abc 123', '[a-z]+\s+(\d+)') = '123'
REGEXP_EXTRACT_NTH(string, pattern, index)
返回与正则表达式模式匹配的字符串部分。子字符串匹配到第 n 个捕获组,其中 n 是给定的索引。如果索引为 0,则返回整个字符串。此函数可用于文本文件、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)和 Oracle 数据源。
对于 Tableau 数据提取,模式必须为常量。
有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(链接在新窗口中打开)页面。
示例
REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\s+(\d+)', 2) = '123'
Hadoop Hive 的特定函数
注意:只有 PARSE_URL 和 PARSE_URL_QUERY 函数可用于 Cloudera Impala 数据源。
GET_JSON_OBJECT(JSON 字符串, JSON 路径)
根据 JSON 路径返回 JSON 字符串中的 JSON 对象。
PARSE_URL(字符串, url_part)
返回给定 URL 字符串的组成部分(由 url_part 定义)。有效的 url_part 值包括:'HOST'、'PATH'、'QUERY'、'REF'、'PROTOCOL'、'AUTHORITY'、'FILE' 和 'USERINFO'。
示例
PARSE_URL('http://www.tableau.com', 'HOST') = 'www.tableau.com'
PARSE_URL_QUERY(字符串, 密钥)
返回给定 URL 字符串中的指定查询参数的值。查询参数由密钥定义。
示例
PARSE_URL_QUERY('http://www.tableau.com?page=1&cat=4', 'page') = '1'
XPATH_BOOLEAN(XML 字符串, XPath 表达式字符串)
如果 XPath 表达式匹配节点或计算为 true,则返回 true。
示例
XPATH_BOOLEAN('<values> <value id="0">1</value><value id="1">5</value>', 'values/value[@id="1"] = 5') = true
XPATH_DOUBLE(XML 字符串, XPath 表达式字符串)
返回 XPath 表达式的浮点值。
示例
XPATH_DOUBLE('<values><value>1.0</value><value>5.5</value> </values>', 'sum(value/*)') = 6.5
XPATH_FLOAT(XML 字符串, XPath 表达式字符串)
返回 XPath 表达式的浮点值。
示例
XPATH_FLOAT('<values><value>1.0</value><value>5.5</value> </values>','sum(value/*)') = 6.5
XPATH_INT(XML 字符串, XPath 表达式字符串)
返回 Xpath 表达式的数值;或者,如果 Xpath 表达式无法计算为数字,则返回零。
示例
XPATH_INT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6
XPATH_LONG(XML 字符串, XPath 表达式字符串)
返回 Xpath 表达式的数值;或者,如果 Xpath 表达式无法计算为数字,则返回零。
示例
XPATH_LONG('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6
XPATH_SHORT(XML 字符串, XPath 表达式字符串)
返回 Xpath 表达式的数值;或者,如果 Xpath 表达式无法计算为数字,则返回零。
示例
XPATH_SHORT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6
XPATH_STRING(XML 字符串, XPath 表达式字符串)
返回第一个匹配节点的文本。
示例
XPATH_STRING('<sites ><url domain="org">http://www.w3.org</url> <url domain="com">http://www.tableau.com</url></sites>', 'sites/url[@domain="com"]') = 'http://www.tableau.com'
Google BigQuery 的特定函数
DOMAIN(string_url)
在给定 URL 字符串的情况下返回作为字符串的域。
示例
DOMAIN('http://www.google.com:80/index.html') = 'google.com'
GROUP_CONCAT(表达式)
将来自每个记录的值连接为一个由逗号分隔的字符串。此函数在处理字符串时的作用类似于 SUM()。
示例
GROUP_CONCAT(Region) = "Central,East,West"
HOST(string_url)
在给定 URL 字符串的情况下返回作为字符串的主机名。
示例
HOST('http://www.google.com:80/index.html') = 'www.google.com:80'
LOG2(数字)
返回数字的对数底 2。
示例
LOG2(16) = '4.00'
LTRIM_THIS(字符串, 字符串)
返回第一个字符串(移除了在前导位置出现的任何第二个字符串)。
示例
LTRIM_THIS('[-Sales-]','[-') = 'Sales-]'
RTRIM_THIS(字符串, 字符串)
返回第一个字符串(移除了在尾随位置出现的任何第二个字符串)。
示例
RTRIM_THIS('[-Market-]','-]') = '[-Market'
TIMESTAMP_TO_USEC(表达式)
将 TIMESTAMP 数据类型转换为 UNIX 时间戳(以微秒为单位)。
示例
TIMESTAMP_TO_USEC(#2012-10-01 01:02:03#)=1349053323000000
USEC_TO_TIMESTAMP(表达式)
将 UNIX 时间戳(以微秒为单位)转换为 TIMESTAMP 数据类型。
示例
USEC_TO_TIMESTAMP(1349053323000000) = #2012-10-01 01:02:03#
TLD(string_url)
在给定 URL 字符串的情况下,返回 URL 中的顶层域以及的任何国家/地区域。
示例
TLD('http://www.google.com:80/index.html') = '.com'
TLD('http://www.google.co.uk:80/index.html') = '.co.uk'
想要了解函数的更多信息?
请阅读函数主题(链接在新窗口中打开)。