详细级别表达式和聚合

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

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

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

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

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

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

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

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

[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 将使用您指定的聚合,而不是为其分配一个聚合。如果不需要聚合(原因是表达式的详细级别比视图更粗略),当表达式位于功能区上时,您指定的聚合仍会显示,但会被忽略。

 

感谢您的反馈!您的反馈已成功提交。谢谢!