tabelu 一个fixed 级别表达式例子

在此示例中,视图解决以下问题:占总销售额的百分比将如何按产品子类列出?

视图包含一个维度筛选器和一个表计算。Tableau 会在执行表计算之前应用维度筛选器。若要反转这些操作的顺序,请使用 FIXED 详细级别表达式来取代表计算。

下面是用于构建此视图的步骤。

  1. 在新工作表中,将“Sales”(销售额)拖到“列”。

  2. 将“Sub-Category”(子类)拖到“行”。

  3. 在“列”上右键单击“SUM(Sales)”并选择快速表计算 –“总额百分比”。

  4. 单击工具栏上的“降序排序”按钮 (tabelu 一个fixed 级别表达式例子),按从最多到最少的顺序对类别进行排序。

  5. 单击工具栏上的“显示标记标签”按钮 (tabelu 一个fixed 级别表达式例子),以在视图中显示度量值。

    视图现在将如下所示:

    tabelu 一个fixed 级别表达式例子

    注意前几项的百分比:14.37%、14.30% 等。

  6. 在“行”上右键单击“Sub-Category”(子类),并选择“显示筛选器”。

  7. 清除筛选器中“Chairs”(椅子)的复选标记。

    tabelu 一个fixed 级别表达式例子

    视图中的百分比现在有所不同 — 最高的百分比现在超过了 16%。在某些情况下,这可能就是您需要的结果(也就是说,在使用快速筛选器时对百分比进行重新计算)。但在其他情况下,您可能希望百分比即使在您筛选进或筛选出某些项目时也保持稳定。这是我们在本例中所需要的。

    在操作顺序中,维度筛选器是在表计算之前应用的。

    tabelu 一个fixed 级别表达式例子

    若要让 Tableau 在运用快速筛选器之前计算百分比,您可以创建一个 FIXED 详细级别表达式,然后使用该表达式来取代表计算。

    FIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。在本例中,您将使用它来建立各个子类的百分比 — 不会受常规维度筛选器影响的百分比。为何会这样?原因是,FIXED 详细级别表达式是在应用维度筛选器之前计算的。

    有关详细信息,请参见在 Tableau 中创建详细级别表达式

  8. FIXED 详细级别表达式必须将(特定度量值的)“Sales”(销售额)的和除以视图的“Sales”(销售额)的总和。由于分子是聚合的,因此分母也必须为聚合,所以您编写的表达式为:

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

  9. 将该表达式另存为 FixedSumOfSales,然后将其从“数据”窗格拖到“列”,放在使用表计算的现有“SUM(Sales)”字段的右侧。(将两者都保留在视图中以便于比较。)您的视图现在将如下所示:

    tabelu 一个fixed 级别表达式例子

    不管您使用快速筛选器选择或者不选择哪些字段,右侧图表中的百分比现在都保持一致。现在只需设置“FixedSumOfSales”值的格式,以使其显示为百分比。

  10. 在“列”中右键单击“FixedSumOfSales”,并选择“设置格式”。在“设置格式”窗格中,选择“数字”,然后选择“百分比”:

    tabelu 一个fixed 级别表达式例子

    这样就得到了最终视图:

    tabelu 一个fixed 级别表达式例子

    当您在“Sub-Category”(子类)快速筛选器中选择或清除项目时,左侧条形图中的百分比将发生变化,而右侧条形图中的百分比则不会。

上一篇:Python-argparse模块-获取命令行参数


下一篇:执行上下文(execution context)