优阅达 | Tableau 微课堂(93): LOD 表达式的聚合与复制

published: 2023-05-08

LOD 表达式的聚合与复制

本期旨在对 LOD 表达式的某些更深层次的方面进行概念性解释。要了解基本原理,请参阅白皮书:了解详细级别 (LOD) 表达式(可添加小优微信dkmxiaoyou索取)。

结果的聚合或复制

如 LOD 表达式概念主题 视频中所述,视图的详细级别决定了在可视化中绘制的标记数。如果计算的粒度级别不同,则需要采取某些措施来调整这些差异。

FIXED 是最容易看出差异的。FIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。

由于 FIXED 详细级别表达式独立于视图详细级别,因此结果可能是“低于”( 即比视图的详细级别更精细)或“高于”(即比视图的详细级别更粗略)。

FIXED-聚合结果

如果 LOD 表达式的结果比视图详细级别的粒度更细(如在本例中),则会聚合 LOD 表达式中的值以创建视图。

在这里,视图的详细级别只是 Segment,但是 LOD 表达式被固定在 Segment(细分)和 Category(类别)更细的粒度级别上。

每个类别的 LOD 表达式的值被聚合为每个细分的单个值,并作为结果显示在视图中。

如果在创建聚合时,首先将某个详细级别表达式包含在该聚合中,那么 Tableau 将使用指定的聚合,而不是在将该表达式放在行列上时自动选择一个聚合方式。

例如,在这里需要每个类别的平均销售额,所以当在 LOD 表达式中对销售额求和时,我们希望结果显示为平均值。

这个箭头图简要地说明了这个过程,它显示了在比视图详细级别更低的级别上计算的 LOD 表达式的值,然后将其聚合起来显示在视图上。

FIXED-复制结果

如果维度声明的粒度小于视图(聚合度更高),则将复制 LOD 表达式中的值以创建视图。
在这里,视图的详细级别既是类别又是细分,但是 LOD 表达式被固定在一个更小的粒度级别上,即 Segment (细分)。

对于要在视图中显示每个细分的每个类别时,将复制每个细分的 LOD 表达式值。在本例中,没有必要将表达式包含在聚合中。但由于视图可能会更改,所以这样做也没什么问题。

当不需要聚合时(因为表达式的详细级别比视图的低),我们所指定的聚合将被忽略。

这个箭头图简要地说明了这个过程,它显示了 LOD 表达式的值,该表达式的计算级别高于视图的详细级别,然后将复制到视图中显示。

FIXED-不相交结果

最后一种情况是 LOD 表达式的维度与视图中的维度完全不相交。

在本例中,Tableau 会在后台计算中间步骤,从而为视图的详细级别和 LOD 的每个组合复制 LOD 表达式的值,然后聚合到视图级别。

这也是不相交的嵌套 LOD 表达式的行为,详见下期微课堂推送。

INCLUDE(包含)

除了视图中的任意维度之外,INCLUDE 详细级别表达式还将使用指定的维度计算值。

INCLUDE 关键字几乎总是生成低于视图详细级别的 LOD 表达式结果,因此需要聚合到视图中显示。

可以在计算中设置对 LOD 表达式的结果执行什么类型的聚合,也可以在视图中的胶囊上设置。

EXCLUDE(排除)

EXCLUDE 详细级别表达式用于从视图中省略声明的维度。也就是说,它们从视图详细级别中减去维度。

EXCLUDE 关键字几乎总是会产生高于视图详细级别的 LOD 表达式结果,因此需要进行复制才能显示在视图中。

Tableau 默认将视图中的 EXCLUDE 详细级别表达式胶囊显示为 ATTR,而不是 SUM,因为除了在 LOD 表达式的聚合表达式中所定义的内容之外,没有发生任何聚合。

请注意,还可以使 LOD 表达式与视图详细级别相匹配。在这种情况下,LOD 表达式看起来是一个执行聚合表达式的普通计算。

但是,如果视图的详细级别发生变化,或者 LOD 表达式在其他的视图中被重用,则可以看到 LOD 表达式的效果。

本节 Tableau 微课堂到此结束,感谢你的耐心阅读。

下节课,我将带你学习了解 嵌套 LOD 表达式。