Tableau 聚合函数与非聚合函数

    在初步深入了解Tableau后,总会被一个报错困扰,不能混合聚合与非聚合比较结果,那么当我们遇到了这个情况的时候该怎么办呢?

   什么是聚合函数?常见的有 sum、count、max、min、avg 等。不含这些函数运算的即为非聚合函数。

   我的建议是将非聚合函数变为聚合函数参与运算,在Tableau中支持的聚合函数有以下几类:

 参考自官网:Tableau 中的聚合函数 - Tableau

函数

语法

定义

ATTR

ATTR(expression)

如果它的所有行都有一个值,则返回该表达式的值。否则返回星号。会忽略 Null 值。

AVG

AVG(expression)

返回表达式中所有值的平均值。AVG 只能用于数字字段。会忽略 Null 值。

COLLECT

COLLECT (spatial)

将参数字段中的值组合在一起的聚合计算。会忽略 Null 值。

注意:COLLECT 函数只能用于空间字段。

示例:

COLLECT ([Geometry])

CORR

CORR(expression 1, expression2)

返回两个表达式的皮尔森相关系数。

COUNT

COUNT(expression)

返回组中的项目数。不对 Null 值计数。

COUNTD

COUNTD(expression)

返回组中不同项目的数量。不对 Null 值计数。

COVAR

COVAR(expression 1, expression2)

返回两个表达式的样本协方差

注意:COVAR(X, X) 的值等于 VAR(X) 的值,也等于 STDEV(X)^2 的值。

示例:

以下公式返回“Sales”和“Profit”的样本协方差。

COVAR([Sales], [Profit])

COVARP

COVARP(expression 1, expression2)

返回两个表达式的总体协方差

注意:COVARP(X, X) 的值等于 VARP(X) 的值,也等于 STDEVP(X)^2 的值。

示例:

以下公式返回“Sales”和“Profit”的总体协方差。

COVARP([Sales], [Profit])

MAX

MAX(expression)

返回表达式在所有记录中的最大值。如果表达式为字符串值,则此函数返回按字母顺序定义的最后一个值。

MEDIAN

MEDIAN(expression)

返回表达式在所有记录中的中位数。中位数只能用于数字字段。会忽略 Null 值。

MIN

MIN(expression)

返回表达式在所有记录中的最小值。如果表达式为字符串值,则此函数返回按字母顺序定义的第一个值。

PERCENTILE

PERCENTILE(expression, number)

从给定表达式返回与指定数字对应的百分位处的值。数字必须介于 0 到 1 之间(含 0 和 1),例如 0.66,并且必须是数值常量。

STDEV

STDEV(expression)

基于群体样本返回给定表达式中所有值的统计标准差。

STDEVP

STDEVP(expression)

基于有偏差群体返回给定表达式中所有值的统计标准差。

SUM

SUM(expression)

返回表达式中所有值的总计。SUM 只能用于数字字段。会忽略 Null 值。

VAR

VAR(expression)

基于群体样本返回给定表达式中所有值的统计方差。

VARP

VARP(expression)

对整个群体返回给定表达式中所有值的统计方差。

  例如我有一个数据源,不同部门领取文具人数表,分别有:日期、部门、员工名、物品名称,Tableau可以自动汇总计数物品数量,即count[计数],统计领取物品的数量,在这里使用了count函数,所以 它是一个聚合函数。当我想要按照日期统计今年每个部门领取了多少文具,与总数均值做双轴比较时,我写了以下函数:

{ Fixed [部门]:

if year([日期]) = year(today())

then count[计数]

end

}

由于year属于非聚合,count属于聚合,就会报错,这时只要想办法把非聚合函数写成聚合函数即可。

{ Fixed [部门]:

if avg(year([日期])) = max(year(today()))

then count[计数]

end

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值