---
schema_version: "1"
id: e83d95e89ff24fa4cc0229c23e493b1610d21a0efca921c4969771bf2eb15386
title: 使详细级别表达式与视图详细级别一致
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/public/desktop/calculations_calculatedfields_lod_replication.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-cn/calculations_calculatedfields_lod_replication.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 0b66ce8b0f55ec4168d95448fee7cd30baa90dae6da9345c16dc2d08d1c73663
description: Understand how Tableau reconciles an LOD expression's granularity with the view level of detail.
---
[跳转到主要内容](#main-content)

# 详细级别表达式和聚合

视图的详细级别确定视图中标记的数量。向视图中添加详细级别表达式时，Tableau 必须协调两个详细级别 — 视图中的详细级别以及表达式中的详细级别。

详细级别表达式在视图中的行为因表达式的详细级别是更粗略、更精细还是与视图中的详细级别相同而异。在此情况下，“更粗略”或“更精细”是什么意思？

## 详细级别表达式比视图详细级别粗略

在引用视图中的维度子集时，表达式的详细级别比视图更粗略。例如，对于包含维度“\[Category\]”（类别）和“\[Segment\]”（细分）的视图，您可能会创建仅使用以下维度之一的详细级别表达式：

`{FIXED [Segment] : SUM([Sales])}`

在这种情况下，表达式的详细级别比视图更粗略。表达式的值基于一个维度(\[Segment\])，而视图则基于两个维度（\[Segment\] 和 \[Category\]）。

结果是，在视图中使用详细级别表达式会将导致某些值重复，也就是说，出现多次。

![按客户细分和产品类别显示销售额的表格，其中的箭头显示 LOD 表达式返回值、可视化项工作表中的维度及其作为每个细分销售额结果的复制之间的关系。](/tableau/current/zh-cn/public/desktop/zh-cn/Img/calculations_lod_replication.png)

在将特定值与某一类别中的平均值进行比较时，重复值很有用。例如，以下计算将从平均销售总额中减去某个客户的平均销售额。

`[Sales] - {FIXED [Customer Name] : AVG([Sales])}`

当值重复时，更改视图中相关字段的聚合（例如，从 AVG 更改为 SUM）将不会更改聚合的结果。

## 详细级别表达式比视图详细级别更精细

当表达式引用视图中维度的超集时，表达式的详细级别将比视图更精细。当您在视图中使用此类表达式时，Tableau 将对结果进行聚合，直至达到视图级别。例如，以下详细级别表达式引用两个维度：

`{FIXED [Segment], [Category] : SUM([Sales])}`

在仅具有“\[Segment\]”作为其详细级别的视图中使用此表达式时，_必须对值进行聚合_。如果将该表达式拖到功能区上，您将看到如下结果：

`AVG([{FIXED [Segment]], [Category]] : SUM([Sales]])}])`

Tableau 将自动分配一个聚合（此例中为平均值）。可以根据需要更改该聚合。

## 向视图中添加详细级别表达式

详细级别表达式在视图是聚合还是重复由表达式类型（FIXED、INCLUDE 或 EXCLUDE）以及表达式的粒度比视图粒度更粗略还是更精细确定。

- INCLUDE 详细级别表达式的详细级别将与视图相同或比视图更精细。因此，值将从不会重复。
- FIXED 详细级别表达式的详细级别可能比视图更精细、更粗略或与之相同。是否需要对 FIXED 详细级别的结果进行聚合取决于视图中有什么维度。
- EXCLUDE 详细级别表达式始终会导致视图中出现重复值。将包括 EXCLUDE 详细级别表达式的计算放在功能区上时，Tableau 默认情况下将进行 ATTR 聚合（而不是 SUM 或 AVG）以指明表达式实际上并未在聚合，并且更改聚合将不会影响视图。

将详细级别表达式添加到视图中的功能区时，除非将这些表达式用作维度，否则会始终将它们自动封装在聚合中。因此，如果您双击功能区并键入

`{FIXED[Segment], [Category] : SUM([Sales])}`

然后按 Enter 提交表达式，您现在将在功能区上看到

`SUM({FIXED[Segment], [Category] : SUM([Sales])})`

但如果您在功能区中双击并编辑表达式，您在编辑模式下看到的将是原始表达式。

如果在创建详细级别表达式时将其封装在聚合中，那么在将包括该表达式的任何计算放在功能区上时，Tableau 将使用您指定的聚合，而不是为其分配一个聚合。如果不需要聚合（原因是表达式的详细级别比视图更粗略），当表达式位于功能区上时，您指定的聚合仍会显示，但会被忽略。