恭喜您,在学习 Tableau 的过程中达到了一个新里程碑,并发现了 LOD(细节级别,Level of Detail)表达式。这太棒了!
LOD 表达式是一种强大的方式,可用于创建更高级的计算和复杂的数据可视化。通过明确您希望关注的细节级别,它们能更好地限定数据分析的范围。
为帮助您理解这些表达式背后的逻辑及其适用场景,我整理了这份简明的 Tableau LOD 入门指南。
什么是 LOD 表达式
在 Tableau 中,LOD(Level of Detail)表达式用于在可视化中的不同级别上计算数值。它们让您更精细地控制数据在可视化中的聚合与呈现方式。
简单来说,LOD 表达式提供了一种在可视化中隔离特定数据级别的方法,而不受其他筛选器或维度的影响。这样就能实现更精确、更灵活的数据分析。
以下是一个示例语法:
{FIXED [Dimension]: AGG([Measure])}技术支持
例如,假设我们有一个包含不同地区和产品类别销售信息的数据集。我们想创建一个柱状图来显示每个地区的总销售额,同时还希望看到所有地区的整体平均销售额。
这就是 LOD 表达式派上用场的地方。
借助 LOD 表达式,我们可以创建一个计算字段,用于计算所有地区的平均销售额,而不受当前可视化选择的影响。然后我们可以将其添加到柱状图中,与各地区的总销售额进行比较。
这样可以更好地理解各地区销售业绩与整体平均水平的对比。
为什么 LOD 表达式很重要?
LOD 表达式之所以重要,是因为它们可以更精确地控制数据在可视化中被聚合的级别。默认情况下,Tableau 会按照视图中的维度和度量所指定的细节级别来聚合数据。
而通过 LOD 表达式,我们可以为计算指定不同的细节级别,从而获得更准确、更有意义的洞察。
LOD 表达式的类型
Tableau 中有三种 LOD 表达式:FIXED、INCLUDE 和 EXCLUDE。每种类型都提供了不同程度的聚合控制。
|
特性
|
Fixed LOD
|
Include LOD
|
Exclude LOD
|
|
定义
|
Fixed LOD 表达式使用指定的维度来计算数值,而不考虑视图中存在的维度。
|
Include LOD 表达式允许在视图级别之上加入更细的聚合,包括额外的维度。
|
Exclude LOD 表达式使得能够计算比视图更粗的聚合,排除某些维度。
|
|
语法示例
|
{FIXED [Dimension]: AGG([Measure])}
|
{INCLUDE [Dimension]: AGG([Measure])}
|
{EXCLUDE [Dimension]: AGG([Measure])}
|
|
使用场景
|
当计算需要在整个数据集或由固定维度定义的特定分组中保持不变时使用 Fixed LOD
|
当需要在计算中包含视图中不存在的额外维度时使用 Include LOD
|
当希望从计算中移除某些维度,使其比当前视图更粗略时使用 Exclude LOD
|
|
对视图的影响
|
独立于视图的粒度。
|
增加视图当前粒度之外的细节
|
从当前视图的细节级别中移除细节
|
|
与筛选器的关系
|
- 在应用维度筛选器之前计算
- 计算基本不受大多数筛选的影响。
|
|
- 计算受维度筛选器影响
- 计算会忽略被排除的维度,即使这些维度被筛选。
|
|
典型应用
|
- 基准对比、跨固定类别的比较
- 需要固定分子或分母的比率。
|
|
|
1. FIXED 表达式
FIXED 表达式用于为计算指定一个特定的细节级别。它允许我们明确要在计算中包含的精确维度。
这意味着即使可视化中应用了其他维度或筛选器,计算仍将固定在所指定的细节级别。
以下是 FIXED 表达式的示例语法:
{FIXED [Dimension]: Calculation}技术支持
2. INCLUDE 表达式
INCLUDE 表达式允许我们在保留可视化中原有维度的同时,将额外的维度纳入计算。当我们想在多个细节级别间进行对比时,这非常有用。
以下是 INCLUDE 表达式的示例语法:
{INCLUDE [Dimension]: Calculation}技术支持
3. EXCLUDE 表达式
EXCLUDE 表达式用于从计算中排除特定维度,同时仍包含可视化中的其他所有维度。当我们希望聚焦于某个特定细节级别而不受其他维度影响时,这很有用。
以下是 EXCLUDE 表达式的示例语法:
{EXCLUDE [Dimension]: Calculation}技术支持
如何使用 LOD 表达式:示例
让我们在不同场景下探索如何使用 LOD 表达式。我们将使用 Tableau 自带的 Superstore 数据集。
要载入该数据集,请进入 Tableau 主工作区,点击左上角的“Connect to Data”。

在弹出的窗口中,点击“Sample - Superstore”(示例 - Superstore)下的 Saved Data Sources。

接着,请检查左侧面板是否已载入 Superstore 数据集的数据。
应该类似于下面这样:

要在 Tableau 中使用 LOD 表达式,我们首先需要创建一个计算字段。可在数据窗格中点击下拉箭头,然后点击“New Calculated Field”按钮完成。

下面我们通过示例来看如何使用每种类型的 LOD 表达式,以从数据中获得更多洞察:
1. FIXED LOD 表达式
假设我们想比较各地区的平均销售额与整体平均销售额。我们可以创建一个包含以下公式的计算字段:
{FIXED : AVG([Sales])}技术支持
这会计算所有地区的平均销售额,而不受可视化中选择内容的影响。

然后我们可以将这个计算字段添加到视图中,与各地区的平均销售额进行比较。
为此,只需将 Sales 和 Average Sales FIXED 这两个计算字段拖到“Columns”货架上,并将 Region 拖到 Rows 货架上。

带有 FIXED LOD 表达式的计算字段给出了所有地区的平均销售额,而常规的 AVG(Sales) 度量则给出了各地区的平均值。
这意味着指定了 FIXED LOD 之后,即使添加诸如地区之类的维度,也不会影响平均销售额的数值。
2. INCLUDE LOD 表达式
假设我们想要计算每个地区的每笔订单平均销售额,而不受当前视图细节级别的限制。
当您以较高聚合层级进行可视化,但仍希望纳入更细致的计算而不改变整体视图时,这尤其有用。
使用左下角的 Create Worksheet 按钮创建一个新工作表。
进入“Data”窗格,点击下拉箭头,选择“Create Calculated Field”打开计算编辑器。
为您的计算字段起一个具有描述性的名称,例如“Average Sales per Order INCLUDE”。
输入以下 Include LOD 表达式公式:
{INCLUDE [Order ID]: AVG([Sales])}技术支持
应当类似如下所示:

此公式告诉 Tableau 计算每笔订单的平均销售额(Order ID 对每笔订单唯一),并在整个数据集中执行该计算;即使视图中未包含 Order ID,也会将其细节纳入计算。
将 Region 字段拖到 Rows 货架。这一步将定义可视化的主要细节级别。

接着,将新建的“Average Sales per Order”字段拖到 Marks 卡片的 Text 上。Tableau 将显示每个地区的每单平均销售额。

系统会自动生成一个文本表,应类似如下所示:

右键点击“Average Sales per Order”胶囊,将度量更改为 Average。

接下来,我们想与常规销售额进行比较。因此也将普通的 Sales 字段拖到 Marks 卡片的 Text 上,并将度量改为平均值。

让我们在下表中比较这两个字段。

如您所见,数值略有不同,这取决于我们在 INCLUDE 表达式中指定的细节级别,即 Order ID。
3. EXCLUDE LOD 表达式
最后,让我们看看如何使用 EXCLUDE LOD 表达式来聚焦某个特定细节级别。假设我们想查看各地区的总销售额,但排除子类别(Sub-Category)维度。
我们可以创建一个包含以下公式的计算字段:
{EXCLUDE [Sub-Category] : SUM([Sales])}技术支持
这将计算各地区的总销售额,但不考虑子类别维度。

这样我们就可以只关注地区层面的销售额,而不受不同子类别的影响。
高级用例
示例:计算销售增长
我们还可以使用 LOD 表达式来计算特定时期内的销售增长。
例如,假设我们想查看各地区相较上一年的销售额百分比变化。
为此,我们可以创建两个计算字段——一个用于当前年的总销售额,另一个用于上一年的总销售额。随后,使用 INCLUDE LOD 表达式计算增长百分比。
公式如下:
Total Sales (Current Year):
{INCLUDE [Region] : SUM(IF YEAR([Order Date]) = YEAR(TODAY()) THEN [Sales] END)}技术支持
Total Sales (Previous Year):
{INCLUDE [Region] : SUM(IF YEAR([Order Date]) = YEAR(TODAY())-1 THEN [Sales] END)}技术支持
Growth Percentage:
[Total Sales (Current Year)]/[Total Sales (Previous Year)]-1技术支持
然后我们可以将增长百分比添加到可视化中,查看各地区相较上一年的销售增长情况。
这可以通过如下所示的柱状图来呈现。

这有助于我们识别表现良好的地区,以及可能需要改进的地区。
最佳实践与优化建议
在 Tableau 中使用 LOD 通常属于中高级技巧,因此了解数据以及各类表达式的工作方式非常重要。
以下是一些有效使用 LOD 表达式的最佳实践与建议:
- 确保计算中使用的维度与可视化中的维度保持一致。
- 谨慎使用 FIXED 表达式,因为它可能对性能产生显著影响。
- 在涉及多个细节级别的计算中使用 INCLUDE 和 EXCLUDE 表达式。
- 考虑将 LOD 表达式与 Tableau 的其他功能(如筛选器和集合)配合使用,以获得更强的数据控制力。
- 使用 LOD 表达式时注意性能,因为它们有时会让可视化变慢。如果出现性能问题,尝试简化表达式或采用不同的计算方式。
总结
在使用 LOD 表达式时,请理解每种类型的目的以及它们如何帮助您从数据中获得洞察。多尝试不同场景,并在可视化上发挥创意。通过实践,您将能快速判断哪种 LOD 类型更适合您的用例。
想要探索更多数据分析师常用的 Tableau 功能?欢迎查看我们的Data Analyst in Tableau学习路径!
如果您想要更具引导性的内容,尤其是关于 LOD 表达式的,我们的Calculations in Tableau课程或许适合您。或者,若您是想从零开始学习 Tableau 的初学者,可以尝试我们的Introduction to Tableau课程。
恭喜您,在学习 Tableau 的过程中达到了一个新里程碑,并发现了 LOD(细节级别,Level of Detail)表达式。这太棒了!
LOD 表达式是一种强大的方式,可用于创建更高级的计算和复杂的数据可视化。通过明确您希望关注的细节级别,它们能更好地限定数据分析的范围。
为帮助您理解这些表达式背后的逻辑及其适用场景,我整理了这份简明的 Tableau LOD 入门指南。
什么是 LOD 表达式
在 Tableau 中,LOD(Level of Detail)表达式用于在可视化中的不同级别上计算数值。它们让您更精细地控制数据在可视化中的聚合与呈现方式。
简单来说,LOD 表达式提供了一种在可视化中隔离特定数据级别的方法,而不受其他筛选器或维度的影响。这样就能实现更精确、更灵活的数据分析。
以下是一个示例语法:
例如,假设我们有一个包含不同地区和产品类别销售信息的数据集。我们想创建一个柱状图来显示每个地区的总销售额,同时还希望看到所有地区的整体平均销售额。
这就是 LOD 表达式派上用场的地方。
借助 LOD 表达式,我们可以创建一个计算字段,用于计算所有地区的平均销售额,而不受当前可视化选择的影响。然后我们可以将其添加到柱状图中,与各地区的总销售额进行比较。
这样可以更好地理解各地区销售业绩与整体平均水平的对比。
为什么 LOD 表达式很重要?
LOD 表达式之所以重要,是因为它们可以更精确地控制数据在可视化中被聚合的级别。默认情况下,Tableau 会按照视图中的维度和度量所指定的细节级别来聚合数据。
而通过 LOD 表达式,我们可以为计算指定不同的细节级别,从而获得更准确、更有意义的洞察。
LOD 表达式的类型
Tableau 中有三种 LOD 表达式:FIXED、INCLUDE 和 EXCLUDE。每种类型都提供了不同程度的聚合控制。
特性
Fixed LOD
Include LOD
Exclude LOD
定义
Fixed LOD 表达式使用指定的维度来计算数值,而不考虑视图中存在的维度。
Include LOD 表达式允许在视图级别之上加入更细的聚合,包括额外的维度。
Exclude LOD 表达式使得能够计算比视图更粗的聚合,排除某些维度。
语法示例
{FIXED [Dimension]: AGG([Measure])}
{INCLUDE [Dimension]: AGG([Measure])}
{EXCLUDE [Dimension]: AGG([Measure])}
使用场景
当计算需要在整个数据集或由固定维度定义的特定分组中保持不变时使用 Fixed LOD
当需要在计算中包含视图中不存在的额外维度时使用 Include LOD
当希望从计算中移除某些维度,使其比当前视图更粗略时使用 Exclude LOD
对视图的影响
独立于视图的粒度。
增加视图当前粒度之外的细节
从当前视图的细节级别中移除细节
与筛选器的关系
典型应用
1. FIXED 表达式
FIXED 表达式用于为计算指定一个特定的细节级别。它允许我们明确要在计算中包含的精确维度。
这意味着即使可视化中应用了其他维度或筛选器,计算仍将固定在所指定的细节级别。
以下是 FIXED 表达式的示例语法:
2. INCLUDE 表达式
INCLUDE 表达式允许我们在保留可视化中原有维度的同时,将额外的维度纳入计算。当我们想在多个细节级别间进行对比时,这非常有用。
以下是 INCLUDE 表达式的示例语法:
3. EXCLUDE 表达式
EXCLUDE 表达式用于从计算中排除特定维度,同时仍包含可视化中的其他所有维度。当我们希望聚焦于某个特定细节级别而不受其他维度影响时,这很有用。
以下是 EXCLUDE 表达式的示例语法:
如何使用 LOD 表达式:示例
让我们在不同场景下探索如何使用 LOD 表达式。我们将使用 Tableau 自带的 Superstore 数据集。
要载入该数据集,请进入 Tableau 主工作区,点击左上角的“Connect to Data”。
在弹出的窗口中,点击“Sample - Superstore”(示例 - Superstore)下的 Saved Data Sources。
接着,请检查左侧面板是否已载入 Superstore 数据集的数据。
应该类似于下面这样:
要在 Tableau 中使用 LOD 表达式,我们首先需要创建一个计算字段。可在数据窗格中点击下拉箭头,然后点击“New Calculated Field”按钮完成。
下面我们通过示例来看如何使用每种类型的 LOD 表达式,以从数据中获得更多洞察:
1. FIXED LOD 表达式
假设我们想比较各地区的平均销售额与整体平均销售额。我们可以创建一个包含以下公式的计算字段:
这会计算所有地区的平均销售额,而不受可视化中选择内容的影响。
然后我们可以将这个计算字段添加到视图中,与各地区的平均销售额进行比较。
为此,只需将 Sales 和 Average Sales FIXED 这两个计算字段拖到“Columns”货架上,并将 Region 拖到 Rows 货架上。
带有 FIXED LOD 表达式的计算字段给出了所有地区的平均销售额,而常规的 AVG(Sales) 度量则给出了各地区的平均值。
这意味着指定了 FIXED LOD 之后,即使添加诸如地区之类的维度,也不会影响平均销售额的数值。
2. INCLUDE LOD 表达式
假设我们想要计算每个地区的每笔订单平均销售额,而不受当前视图细节级别的限制。
当您以较高聚合层级进行可视化,但仍希望纳入更细致的计算而不改变整体视图时,这尤其有用。
使用左下角的 Create Worksheet 按钮创建一个新工作表。
进入“Data”窗格,点击下拉箭头,选择“Create Calculated Field”打开计算编辑器。
为您的计算字段起一个具有描述性的名称,例如“Average Sales per Order INCLUDE”。
输入以下 Include LOD 表达式公式:
应当类似如下所示:
此公式告诉 Tableau 计算每笔订单的平均销售额(Order ID 对每笔订单唯一),并在整个数据集中执行该计算;即使视图中未包含 Order ID,也会将其细节纳入计算。
将 Region 字段拖到 Rows 货架。这一步将定义可视化的主要细节级别。
接着,将新建的“Average Sales per Order”字段拖到 Marks 卡片的 Text 上。Tableau 将显示每个地区的每单平均销售额。
系统会自动生成一个文本表,应类似如下所示:
右键点击“Average Sales per Order”胶囊,将度量更改为 Average。
接下来,我们想与常规销售额进行比较。因此也将普通的 Sales 字段拖到 Marks 卡片的 Text 上,并将度量改为平均值。
让我们在下表中比较这两个字段。
如您所见,数值略有不同,这取决于我们在 INCLUDE 表达式中指定的细节级别,即 Order ID。
3. EXCLUDE LOD 表达式
最后,让我们看看如何使用 EXCLUDE LOD 表达式来聚焦某个特定细节级别。假设我们想查看各地区的总销售额,但排除子类别(Sub-Category)维度。
我们可以创建一个包含以下公式的计算字段:
这将计算各地区的总销售额,但不考虑子类别维度。
这样我们就可以只关注地区层面的销售额,而不受不同子类别的影响。
高级用例
示例:计算销售增长
我们还可以使用 LOD 表达式来计算特定时期内的销售增长。
例如,假设我们想查看各地区相较上一年的销售额百分比变化。
为此,我们可以创建两个计算字段——一个用于当前年的总销售额,另一个用于上一年的总销售额。随后,使用 INCLUDE LOD 表达式计算增长百分比。
公式如下:
Total Sales (Current Year):
Total Sales (Previous Year):
Growth Percentage:
然后我们可以将增长百分比添加到可视化中,查看各地区相较上一年的销售增长情况。
这可以通过如下所示的柱状图来呈现。
这有助于我们识别表现良好的地区,以及可能需要改进的地区。
最佳实践与优化建议
在 Tableau 中使用 LOD 通常属于中高级技巧,因此了解数据以及各类表达式的工作方式非常重要。
以下是一些有效使用 LOD 表达式的最佳实践与建议:
总结
在使用 LOD 表达式时,请理解每种类型的目的以及它们如何帮助您从数据中获得洞察。多尝试不同场景,并在可视化上发挥创意。通过实践,您将能快速判断哪种 LOD 类型更适合您的用例。
想要探索更多数据分析师常用的 Tableau 功能?欢迎查看我们的Data Analyst in Tableau学习路径!
如果您想要更具引导性的内容,尤其是关于 LOD 表达式的,我们的Calculations in Tableau课程或许适合您。或者,若您是想从零开始学习 Tableau 的初学者,可以尝试我们的Introduction to Tableau课程。