【Tableau】详细级别表达式LOD_语法与逻辑 (2)

详细级别表达式(LOD)是学习Tableau的难点,起初感觉容易,但是随着越来越多的高级分析应用到LOD表达式,你会发现它有各种变化无穷的用法,又容易受外部筛选器、计算影响。上一篇我们介绍了LOD的基础概念、背景知识以及常见用法,这一篇更深一层介绍语法和逻辑——特别是Fixed LOD的三种情形。 理解LOD的关键有三个: 什么是LOD?(详细级别)区分 行级别与视图级别; 理解LOD表达式的功能,与维度、度量的关系; 理解不同类型LOD表达式语法的应用场景   一、LOD表达式与视图详细级别 1、何为详细级别(LOD) 首先回顾一下上一篇的重点,什么是LOD?LOD=level of detail,代表数据的详细级别,不同的详细级别,对应不同的数据聚合度和颗粒度。最高的数据颗粒度就是行级别的数据,最低的颗粒度则对应着一个完全聚合的数值;中间的数据颗粒度就是常用的视图可视化详细级别(Viz LOD)。 一般来说,在Tableau中,一个视图对应着一个视图详细级别,比如我们把year、area、profits三个字段加入视图,year和area(维度)决定了详细级别的层次,profits即详细级别上的内容。在主视图详细级别(year*area)之外,我们可以使用LOD表达式,引入另一个详细级别的数据。 关键词:详细级别……增加维度……标记数量增加 在 Tableau 中,我们将主可视化聚合级别称为其“详细级别”……向视图中添加维度来增加标记数量的过程称为设置详细级别。……某些情况下,向视图中添加度量可能会增加视图中标记的数量。但这与更改视图的详细级别不同。 说到这里,我们说一下官方文档中的一句话:“放在(下图方框中)任何位置中的维度和集字段组成视图详细级别。”因为维度和集字段会形成可视化聚合视图。 更改详细级别,需要增加维度(维度或集字段);而不是度量。 2、LOD的意义与语法逻辑 理解LOD,就要深刻理解官方的介绍,“借助详细级别表达式,无需实际将这些维度拖入可视化内容中, 您即可确定在计算中使用的详细级别(即维度)。 您可以独立于可视化详细级别, 定义应以什么详细级别来执行计算。”——不拖拽字段影响视图,又通过LOD表达式背后引用数据。视图是用户看的见的,计算则是隐藏其后的逻辑。 具体而言,三个LOD表达式的使用场景和语法分别如下: { [FIXED | INCLUDE | EXCLUDE]  <维度声明>  :  <聚合表达式>} FIXED | INCLUDE | EXCLUDE 是定界关键字,制定了LOD的范围; <维度声明>,指定聚合表达式要联接到的一个或多个维度。使用逗号分隔各个维度。 : 冒号用于分隔维度声明与聚合表达式。 <聚合表达式>,聚合表达式是所执行的计算,用于定义目标维度。 二、LOD的语法逻辑 1、include与exclude LOD include和exclude LOD,是在当前视图的维度基础上,增加一个新维度(include把不在视图中的维度引用到视图数据中,但不改变视图本身),或者排除一个已有的视图维度(exclude把视图中的维度排除后计算,但不改变视图本身的维度引用)。因此Include和exclude LOD是依赖于视图详细级别的增减。我们用下面的图形形象地表示可以看见,从当前视图出发(深绿色箭头),最终的结果又返回到视图显示出来(红色箭头)。 !【增补】最新的图片上,我们增加了两个词:复制和聚合。使用exclude LOD,我们获得的结果标记数量明显会少于视图的颗粒度,因此同一个数据会在多个地方“重复出现”,我们称之为“复制”;而使用 include LOD,我们获得数据标记数量会高于视图颗粒度,也就是视图中只有三行,include LOD可能返回一个10个数据的数组,此时结果默认会聚合,按照视图的详细级别分组、聚合。Continue reading “【Tableau】详细级别表达式LOD_语法与逻辑 (2)”