Tableau的计算之(二)LOD表达式又称详细级别表达式

Tableau有三种计算:① 基本计算、② LOD表达式、③ 表计算

一、LOD表达式(详细级别表达式

1. 什么是详细级别?

        详细级别(Level of detail)是数据聚合度/颗粒度的层次。不同的详细级别代表的是不同的数据聚合度、颗粒度。tableau通过将维度字段、系统自定义的表达式加入到视图,从而决定视图数据的详细级别,之后通过预设的视图表现出来。

     提问:什么是聚合度颗粒度

        不同于面向行数据的excel,tableau面向大数据的数据分析和展示,因此我们所看见的数据绝大多数都是聚合的,这就需要我们非常熟悉每个视图代表的数据的聚合程度。这个聚合程度在tableau中用聚合度aggregation或者是颗粒度granularity表示。

     提问:如何理解详细级别?

        维度字段、系统自定义的表达式(比如表计算)、用户自定义的表达式(比如集、LOD表达式)三者本质上返回的都是一个数据集合,这些数据集合的详细级别,通过不同的视图表达出来。

        具体的形象:一座冰山

     提问:如何判断操作能引起“视图详细级别”的变化?

        最简单的方法就是看视图中标记的数量

2. 有哪些详细级别?

        表计算详细级别 table calc level of detail

        视图详细级别 viz level of detail  (viz=visualization视图)

        行详细级别 row level of detail

        这些详细级别和数据的聚合度/颗粒度对应。越往上,对应的聚合度越高/颗粒度越低。

    提问: 为什么没有详细级别表达式?

        “LOD表达式”不是一种详细级别,而是一种关于LOD的语法表达式。

        通过它,在原有的“视图详细级别”的基础上,增加新的详细级别。

3. 什么是详细级别表达式?

        简单的问题:看一下各部门年度薪酬总额对比

        柱状图==》柱子:每个部门;高度:薪酬总额

       1个 level==》部门薪酬总额

        困难的问题:看一下各部门中员工平均薪酬的对比

        柱状图==》柱子:每个部门;高度:平均薪酬

       2个 level==》每个员工的薪酬总额、部门薪酬的平均

        一个视图默认的是一个详细级别,当需要展示两个详细级别时,就需要用到详细级别表达式

4. 总结

        详细级别表达式:如果分析过程中需要添加一个维度,其明细程度高于或低于已有视图的可视化明细程度,但又不希望改变现有图形展示内容,可采用详细级别表达式。(反复琢磨)

5. 三类六种LOD表达式

C-6行级别—非聚合行计算运算利润率=[利润]/[销售额],新增字段,计算每一行对应的利润率
A-5低于视图级的聚合LOD计算{include [category]: sum(利润)} 在视图维度中,增加新的category维度,在新的数据层次上计算利润聚合
B-4视图级别—聚合聚合计算利润率=sum([利润])/sum([销售额])
A-3高于视图的聚合LOD计算

{fixed: sum([利润])}  数据库中所有利润的聚合,最高级别的聚合

{exclude [area]: sum(利润)}  从视图维度中排除area,在新的数据层次上的利润聚合

A-2独立于视图的聚合LOD计算{fixed [不在视图中的维度]: sum([利润])}  
A-1更高-聚合的聚合表计算window_sum(sum([利润]))  视图中利润聚合的再次聚合

1. 表范围详细级别表达式 table-scoped level of detail expressions

min([利润]):行级别表达式,返回最小颗粒度范围的min数值

{min([利润])}:在视图中所有字段范围,执行min函数,返回最小值

{fixed: min([利润])}:指定所有维度字段范围,效果同上

2. fixed详细级别表达式

        表范围详细级别表达式省略了维度的fixed表达式,默认的是从数据源中的所有数据读取最小值。如果我们指定维度,就是完整的fixed详细级别了。

{fixed: min([利润])} = {min([利润])}

{fixed [year]: min([利润])} :返回每个年份下的min([利润])结果

{fixed [year],[area]: min([利润])}:返回每个年份+每个地区下的min([利润])结果

       值得注意的是: 详细级别表达式是单独从数据源提取一遍数据,把计算的结果返回给视图,多个数值构成的一个数组。

3. include/exclude详细级别表达式

        和fixed特立独行的绝对不同,include和exclude是相对聚合。也就是说,它们如何影响视图详细级别是受视图中的维度影响的。

include详细级别表达式,使用指定的维度和视图维度进行计算聚合。由于是在视图维度中增加新维度,因此该表达式返回的结果颗粒度比视图级别更高(聚合越低)。

exclude详细级别表达式,在现有的视图维度基础上,排除指定的维度进行聚合计算。由于是在视图维度中排除指定维度,因此该表达式返回的结果颗粒度比视图级别更低(聚合越高)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值