Tableau中聚合与非聚合字段的区别

Tableau中聚合与非聚合字段的区别

对于Tableau的一些初学者来说,上面这个报错想必折磨了他们很久。这次陈Sir专门写一篇小文章,希望能帮大家解释清楚。

--------------------------------------------------------------------------

哪些是非聚合字段?

  • 数据源中自带的字段
  • 不含sum, avg, min, max, count, countd, attr以及任何表计算函数的计算字段
  • 详细级别表达式(LOD)fixed, include,exclude

哪些是聚合字段?

  • 含有sum, avg, min, max, count, countd, attr以及任何表计算函数的计算字段

我曾经有一条简单粗暴的判断方法: 除了LOD(非聚合)外,这个字段的计算结果需不需要单独一行的数据还是多行?如果需要多行,则是聚合字段;反之,则是非聚合的

--------------------------------------------------------------------------

下面我们基于Tableau10中自带的数据源“示例-超市”写一些例子来看看。

我们通过查看“完整数据”看到的9935行,就是最明细的基础数据。因此,每当你不用任何汇总类(sum, avg, min, max, count, countd, attr以及任何表计算等)的函数,比如写出的下面这些字段,都是非聚合字段, 他们的结果是针对基础数据中的每一行的 。也就是说,你希望针对每一行,本例中是指每一个订单,计算成本、以万元计的销售额和判断是否是大订单。

而当你的计算字段中包含汇总类的函数时,你是希望将基础数据聚合汇总起来的,比如求和、求平均值、计数等等。

现在,希望你已经清楚了聚合与非聚合字段的区别,在同样一个计算字段中,不能同时 直接 地包含聚合与非聚合字段。如果真的有需要的话,一般会通过详细级别表达式,将聚合字段锁定到某一个颗粒度,这样就变成了非聚合,就可以和其他非聚合字段写在一个表达式中了。关于LOD,陈Sir会专门写一篇文章介绍。

编辑于 2016-11-25 07:29