相关文章推荐
曾经爱过的蜡烛  ·  Jackson ...·  1 年前    · 
沉稳的电梯  ·  qt udb socket ...·  1 年前    · 
温文尔雅的绿豆  ·  iOS 调试:通过 ...·  1 年前    · 

Tableau中的详细级表达式LOD的理解

LOD:详细级表达式;

主要作用:

1.指定特定的维度进行聚合计算;

2.将聚合的字段转化成非聚合字段;

字段进行聚合后,无法进行二次聚合计算,可以采用LOD先转化成非聚合字段;

对聚合的字段,数据桶,参数等功能无法使用,可以采用LOD先转化成非聚合字段时使用;

公式理解:

在tableau中能实现LOD计算的公式有三个:fixed,include,exclude;

tableau中的公式提示帮助解释为:

指定维度:指LOD公式中所采用的维度;

视图维度;指tableau图表框中行或列中所选择的维度;

Fixed:仅使用指定维度进行计算;

理解:使用指定维度进行计算,完全独立于视图之外,就是完全不参与图表框中的行列中所选择的维度进行计算,已经完全独立,就是先按照指定选择的维度进行groupby,groupby后的字段变成了非聚合字段(也就是我们常见的原始数据字段),将该fixed字段拖入到行或列上时,在tableau中该fixed字段会自动执行聚合运算(一般为求和或平均值)

include:使用指定维度和视图维度进行计算;

理解:相当于include的表达式中可以多一个(或多个)维度的聚合运算,原图表中行列中所选择的维度都会进入到include公式中进行聚合运算;

exclude:除去指定维度,按照视图维度维度进行计算;

理解:相当于同一个表格中 视图维度-指定维),为了在一个表同时显示不同维度(少一个维度和多一个维度)的差异;

公式的写法:

{fixed [国别],[组别]:sum([Spend])/sum([Total sales])}

实例化

公式:{fixed [国别]:sum([Spend$])/sum([Total sales$])}

说明:此公式中fixed的LOD,将其只对国别字段进行聚合,后面一段为聚合字段的公式;

可以看到,针对国别字段的维度,不管小组别是多少,国别字段的值都是一样的,也就是说fixed只对国别进行了聚合,其他字段对其无效;下面难受的Acos$字段就是正常的聚合按照国别和小组别同时聚合算出来的结果;

如果公式中存在维度,在tableau行列中存在,那么图表中fixed字段在该字段的值完全一样;如上图所示;且 对LOD进行的聚合运算(不管求和还是求平均值),结果值是一样的;因为LOD聚合后该字段后,只存在一条数据记录了(本例中,对US而言,只存在一条数据);

如果公式中存在的维度,在tableau行列中不存在,那么图表中的fixed字段会按照行列中的字段进行相应的聚合计算(求和or平均值计算);

按照国别字段进行计算,图表中没有国别字段,那么Acos-fix-country会按照先聚合国别的值,然后按照行中的平均值进行计算(这种算法明显不对的),此时求得的总和或着平均值均没有意义,与我们想要的求和或着求平均值是不同概念的;

即: 11.94% = (5.96% + 9.76% +8.84%+ 13.49% + .......)/12

发布于 2020-07-22 19:02