聚合函数
- 版本 :2022.1 及更高版本
适用于: Tableau Desktop, Tableau Online, Tableau Public, Tableau Server
本文介绍 Tableau 中的聚合函数及其用途。它还演示如何使用示例创建聚合计算。
为何使用聚合函数
聚合函数允许您进行汇总或更改数据的粒度。
例如,您可能想要准确知道您的商店在特定年度有多少订单。您可以使用 COUNTD 函数对您的公司具有的准确订单数进行汇总,然后按年对可视化项进行细分。
计算可能如下所示:
COUNTD(Order ID)
可视化项可能如下所示:
Tableau 中的可用聚合函数
聚合和浮点算法:有些聚合的结果可能并非总是完全符合预期。例如,您可能发现 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 |
| 对整个群体返回给定表达式中所有值的统计方差。 |
创建聚合计算
按照下面的步骤进行操作以了解如何创建聚合计算。
在 Tableau Desktop 中,连接到 Tableau 附带的“Sample - Superstore”已保存数据源。
导航到工作表,并选择“分析”>“创建计算字段”。
在打开的计算编辑器中,执行以下操作:
新的聚合计算将出现在“数据”窗格中的“度量”下。就像其他字段一样,您可以在一个或多个可视化项中使用该字段。
注意:聚合计算始终为度量。
当将“Margin”(利润)放在工作表中的功能区或卡上时,它的名称将更改为“AGG(Margin)”,表示它是聚合计算,并且无法进一步聚合。
将计算字段命名为“Margin”(利润)。
输入以下公式:
IIF(SUM([Sales]) !=0, SUM([Profit])/SUM([Sales]), 0)
注意:您可以使用函数引用来查找聚合函数和其他函数(如此示例中的逻辑 IIF 函数),并将其添加到计算公式。有关详细信息,请参见在计算编辑器中使用函数引用。
完成后,单击“确定”。
聚合计算的规则
适用于聚合计算的规则如下:
任何聚合计算中不得同时包括聚合值和解聚值。例如,SUM(Price)*[Items] 不是有效的表达式,因为 SUM(Price) 已聚合,而 Items 则没有。不过,SUM(Price*Items) 和 SUM(Price)*SUM(Items) 均有效。
表达式中的常量可根据情况充当聚合值或解聚值。例如:SUM(Price*7) 和 SUM(Price)*7 均为有效的表达式。
所有函数都可用聚合值进行计算。但是,任何给定函数的参数必须或者全部聚合,或者全部解聚。例如:MAX(SUM(Sales),Profit) 不是有效的表达式,因为 Sales 已聚合,而 Profit 则没有。不过,MAX(SUM(Sales),SUM(Profit)) 为有效的表达式。
聚合计算的结果始终为度量。
与预定义聚合一样,聚合计算可正确地进行总计计算。有关详细信息,请参见“总计”。