Tableau 聚合计算 - 分组求和(sum、fixed、include的使用)

一、聚合计算例子

有以下数据:

// 计算1
SUM(IF [shuxue]=123 then [yingyu] END)

// 计算2
IF [shuxue]=123 then {fixed [shuxue]: SUM([yingyu])} END

// 计算3
IF [shuxue]=123 then {SUM([yingyu])} END

// 计算4
{fixed [shuxue]: SUM([yingyu])}

// 计算5
{include [shuxue]: SUM([yingyu])}

得到结果如下:

 与spotfire 工具 中函数的区别:

含义:统计各井WellName 的钻井时长Duration

// spotfire 中写法
Sum([Duration]) over ([WellName])

// tableau 中写法
{fixed [WellName]:SUM([Duration])}

二、聚合计算

适用于聚合计算的规则如下:

  • 任何聚合计算中不得同时包括聚合值和解聚值。例如,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)) 为有效的表达式。

三、LOD 表达式

当您需要在同一表中以多个粒度级别计算数据时,可以编写详细级别 (LOD) 表达式来执行此操作。举例来说,如果要查找每个区域的总销售额,可以编写类似于 {FIXED [Region] : SUM([Sales])} 的计算。

  • FIXED [字段](必需):这是您要为其计算值的一个或多个字段。举例来说,如果要查找客户和区域的总销售额,请输入 FIXED [Customer ID], [Region]:。如果未选择任何字段,这相当于执行在冒号右侧定义的聚合,并为每一行重复该值

  • 聚合([字段])(必需):选择要计算的内容以及所需的聚合级别。举例来说,如果要查找总销售额,请输入 SUM([Sales]

适用规则:

  • 不支持 INCLUDE 和 EXCLUDE LOD 表达式。
  • 仅支持在 LOD 表达式内部使用聚合计算。例如,SUM([Sales]) 将无效,但 {FIXED [Region] : SUM([Sales])} 有效。
  • 不支持在 LOD 表达式内嵌套表达式。例如,不支持 { FIXED [Region] : AVG( [Sales] ) / SUM( [Profit] )}
  • 不支持将 LOD 表达式与其他表达式结合使用。例如,[Sales]/{ FIXED [Country / Region]:SUM([Sales])} 不受支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种麦南山下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值