详细级别表达式
发布日期:2025-01-04 16:35 点击次数:65
详细级别表达式(也称为 LOD 表达式)允许您在数据源级别和可视化项级别计算值。但是,LOD 表达式可以让您控制要计算的粒度。它们可以在较高粒度级别(包括)、较低粒度级别(排除)或完全独立级别(固定)执行。本文介绍可在 Tableau 中使用的 LOD 表达式的类型、何时使用这些表达式及如何设置它们的格式。如何创建 LOD 表达式按照步骤进行操作,了解如何在 Tableau 中创建和使用 LOD 表达式。步骤 1:设置可视化项打开 Tableau Desktop 并连接到“Sample - Superstore”已保存数据源。导航到新工作表。从“数据”窗格中,将“Region”(区域)拖到“列”功能区。从“数据”窗格中,将“Sales”(销售额)拖到“行”功能区。将出现一个显示各区域销售额总和的条形图。步骤 2:创建 LOD 表达式也许您还想查看各区域每个客户的平均销售额,而不是各区域所有销售额的总和。可以使用 LOD 表达式来达到此目的。选择“分析”>“创建计算字段”。在打开的计算编辑器中,执行以下操作:将计算命名为“Sales Per Customer”(每个客户的销售额)。输入以下 LOD 表达式:{ INCLUDE [Customer Name] : SUM([Sales]) }完成后,单击“确定”。新创建的 LOD 表达式将添加到“数据”窗格。若要详细了解您可使用的 LOD 表达式的类型,请参见LOD 表达式的类型部分。步骤 3:在可视化项中使用 LOD 表达式从“数据”窗格中,将“Sales Per Customer”(每个客户的销售额)拖到“行”功能区,并将其放在“SUM(Sales)”左侧。在“行”功能区上,右键单击“Sales Per Customer”(每个客户的销售额),并选择“度量(求和)”>“平均值”。您现在既可以看到所有销售额的总和,也可以看到各区域每个客户的平均销售额。例如,您可以看到中部区域的总销售额约为 500,000 美元,每个客户的平均销售额约为 800 美元。使用快速 LOD 表达式您可以创建一个 FIXED LOD 表达式,而无需将完整计算输入计算对话框。可通过两种方式创建快速 LOD 计算。在“数据”窗格中,按住 control 键并单击,将要聚合的度量拖到所需的维度上。新字段显示为 FIXED LOD 计算。聚合表达式中的聚合将来自度量的默认聚合。这通常是 SUM。若要更改聚合或以其他方式编辑 LOD,请右键单击新字段并编辑计算。或者,在“数据”窗格中,选择要聚合的量度,然后按住 control 单击要聚合的维度。 右键单击所选字段,并选择“创建”>“LOD计算...”(可选)在计算编辑器中修改 LOD。选择“确定”。LOD 表达式的类型您可以在 Tableau 中创建三种类型的 LOD 表达式:FIXEDINCLUDEEXCLUDE您也可以将 LOD 表达式的作用域限定为表。这种表达式称为表范围LOD 表达式。FIXEDFIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。示例以下 FIXED 详细级别表达式计算每个区域的销售额总和:{FIXED [Region] : SUM([Sales])}此详细级别表达式(名为 [Sales by Region])随后将放在“文本”上以显示各区域的总销售额:视图的详细级别是 [Region] 和 [State]。但是 FIXED 详细级别表达式不查看视图中的维度,仅查看计算中指定的维度(此处为 Region)。因此,每个区域中各个州的值是相同的。有关详细信息,请参见聚合和详细级别表达式。如果关键字是 INCLUDE 而不是 FIXED,则每个州的值将不同。INCLUDE 在计算表达式时使用表达式 ([Region]) 中的维度和视图 ([State]) 中的任何其他维度。INCLUDE除了视图中的任何维度之外,INCLUDE 详细级别表达式还将使用指定的维度计算值。如果您想要在数据库中以精细详细级别计算,但在视图中以粗略详细级别重新聚合,则 INCLUDE 可能很有用。当您在视图中添加或移除维度时,基于 INCLUDE 详细级别表达式的字段将随之更改。示例 1此 INCLUDE 详细级别表达式计算每个客户的总销售额:{ INCLUDE [Customer Name] : SUM([Sales]) }将该 LOD 放在“行”功能区上(以 AVG 形式聚合),并将 [Region] 维度放在“列”功能区上时,视图将显示每个区域的平均客户销售额:示例 2此 INCLUDE 详细级别表达式计算每个州/省/市/自治区的销售额总和:{ INCLUDE [State] : SUM(Sales)}计算放在“行”功能区上,并以平均值的形式聚合。生成的可视化项将按州/省/市/自治区跨类别计算销售额总和的平均值。将“Segment”(细分市场)添加到“列”功能区并将计算移到“标签”后,LOD 表达式结果将更新。现在您可以看到各个州/省/市/自治区的平均销售额总和在类别和细分之间如何变化。EXCLUDEEXCLUDE 详细级别表达式声明要从视图详细级别中忽略的维度。EXCLUDE 对于“占总计百分比”或“与总体平均值的差异”方案非常有用。它们可与“合计”和“参考线”相比。EXCLUDE 不能用于行级表达式(没有要省略的维度)。它们可以修改视图级计算或其他 LOD。示例 1以下 EXCLUDE 详细级别表达式计算每个月的平均总销售额,然后排除月。首先,为订单日期的月份/年份创建一个字段。在“数据”窗格中右键单击“Order Date”(订单日期),然后选择“创建”>“创建自定义日期”。从“详细信息”列表中,选择“Month / Year”(月份/年份)。将选择保留为离散。然后,创建一个名为“average of sales by month”(按月列出的平均销售额)的 LOD 表达式:{EXCLUDE [Order Date (Month / Year)] : AVG({FIXED [Order Date (Month / Year)] : SUM([Sales])})}请注意,这是一个嵌套详细级别表达式,也就是说,位于另一个详细级别表达式内的详细级别表达式。随后可通过“行”功能区上的一个临时计算将该计算从每月销售额总和中减去: 将“Month([Order Date])”放在“列”功能区上结果视图显示了整个四年期间每月实际销售额与平均每月销售额之间的差异:示例 2创建一个名为“ExcludeRegion”的详细级别表达式,从 [Sales] 的总和中排除 [Region]:{EXCLUDE [Region]: SUM([Sales])}考虑以下视图,该视图按区域和月份显示销售额总和:通过将 [ExcludeRegion] 放在“颜色”上,将会使视图发生细微变化,将会按月份显示总销售额,但没有区域组件:表范围可以在不使用任何定界关键字的情况下在表级别定义详细级别表达式。例如,以下表达式返回整个表的最小(最早)订单日期:{MIN([Order Date])}这相当于没有维度声明的 FIXED 详细级别表达式:{FIXED : MIN([Order Date])}另请参见详细级别表达式的介绍(链接在新窗口中打开)深入了解 LOD 表达式(链接在新窗口中打开)深入钻研 LOD 表达式(链接在新窗口中打开)15 大 LOD 表达式(链接在新窗口中打开)了解 LOD 表达式(链接在新窗口中打开)Tableau 中详细级别表达式的工作方式