Tableau解决if语句不能混合聚合和非聚合值

Tableau解决if语句不能混合聚合和非聚合值
因为tableau是不支持if语句下赋值聚合值的,比如,我们要实现, 按月统计,12月份之前是一个逻辑,12月份后是另一个逻辑
示例 if(date>‘2019-12-01’)
then count(id)
else count(name)
end
按道理说我们应该这样写,但是tableau不支持,所以我们需要把聚合数据转化成非聚合数据,可以使用fixed函数
分别定义两个计算字段
字段1(field1) 内容:{fixed month(date):count(id)}
字段2 (field2)内容:{fixed month(date):count(name)}
fixed的是非聚合数据,所以我们把聚合的值赋值给我们新建的两个字段
那么上面的逻辑就可以这样写,新建一个字段 Judge
示例: if(date>‘2019-12-01’)
then field1
else field2
end
最终,按照月份统计,AVG(Judge)这个字段

来解释下fixed字段,fixed字段,是按照某个维度进行聚合,然后得出聚合值,比如:
我们按照 id进行聚合,对num求sum值
{fixed id:sum(num)} ,那么效果如下

id num fixed后的字段
1 10 35
1 12 35
1 13 35
2 11 54
2 43 54
所以我们要按照id聚合,求值的时候,直接AVG(fixed后的字段)就是我们要得聚合值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值