在初步深入了解Tableau后,总会被一个报错困扰,不能混合聚合与非聚合比较结果,那么当我们遇到了这个情况的时候该怎么办呢?
什么是聚合函数?常见的有 sum、count、max、min、avg 等。不含这些函数运算的即为非聚合函数。
我的建议是将非聚合函数变为聚合函数参与运算,在Tableau中支持的聚合函数有以下几类:
参考自官网:Tableau 中的聚合函数 - Tableau
函数 |
语法 |
定义 |
ATTR |
|
如果它的所有行都有一个值,则返回该表达式的值。否则返回星号。会忽略 Null 值。 |
AVG |
|
返回表达式中所有值的平均值。AVG 只能用于数字字段。会忽略 Null 值。 |
COLLECT |
|
将参数字段中的值组合在一起的聚合计算。会忽略 Null 值。 注意:COLLECT 函数只能用于空间字段。 示例:
|
CORR |
|
返回两个表达式的皮尔森相关系数。 |
COUNT |
|
返回组中的项目数。不对 Null 值计数。 |
COUNTD |
|
返回组中不同项目的数量。不对 Null 值计数。 |
COVAR |
|
返回两个表达式的样本协方差。 注意:COVAR(X, X) 的值等于 VAR(X) 的值,也等于 STDEV(X)^2 的值。 示例: 以下公式返回“Sales”和“Profit”的样本协方差。
|
COVARP |
|
返回两个表达式的总体协方差。 注意:COVARP(X, X) 的值等于 VARP(X) 的值,也等于 STDEVP(X)^2 的值。 示例: 以下公式返回“Sales”和“Profit”的总体协方差。
|
MAX |
|
返回表达式在所有记录中的最大值。如果表达式为字符串值,则此函数返回按字母顺序定义的最后一个值。 |
MEDIAN |
|
返回表达式在所有记录中的中位数。中位数只能用于数字字段。会忽略 Null 值。 |
MIN |
|
返回表达式在所有记录中的最小值。如果表达式为字符串值,则此函数返回按字母顺序定义的第一个值。 |
PERCENTILE |
|
从给定表达式返回与指定数字对应的百分位处的值。数字必须介于 0 到 1 之间(含 0 和 1),例如 0.66,并且必须是数值常量。 |
STDEV |
|
基于群体样本返回给定表达式中所有值的统计标准差。 |
STDEVP |
|
基于有偏差群体返回给定表达式中所有值的统计标准差。 |
SUM |
|
返回表达式中所有值的总计。SUM 只能用于数字字段。会忽略 Null 值。 |
VAR |
|
基于群体样本返回给定表达式中所有值的统计方差。 |
VARP |
|
对整个群体返回给定表达式中所有值的统计方差。 |
例如我有一个数据源,不同部门领取文具人数表,分别有:日期、部门、员工名、物品名称,Tableau可以自动汇总计数物品数量,即count[计数],统计领取物品的数量,在这里使用了count函数,所以 它是一个聚合函数。当我想要按照日期统计今年每个部门领取了多少文具,与总数均值做双轴比较时,我写了以下函数:
{ Fixed [部门]:
if year([日期]) = year(today())
then count[计数]
end文章来源:https://www.toymoban.com/news/detail-555724.html
}文章来源地址https://www.toymoban.com/news/detail-555724.html
由于year属于非聚合,count属于聚合,就会报错,这时只要想办法把非聚合函数写成聚合函数即可。
{ Fixed [部门]:
if avg(year([日期])) = max(year(today()))
then count[计数]
end
}
到了这里,关于Tableau 聚合函数与非聚合函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!