内容:

示例 – 使用参数交换度量

  • 版本 :2022.1 及更高版本

适用于: Tableau Desktop, Tableau Public

您可能希望创建一个视图,显示两个度量值相互比较的结果。但是,如果您还希望能够选择比较哪些度量,或在更好的情况下,向视图中添加一个允许任何用户选择要比较的度量的控件,情况会如何?您可以使用参数和计算字段来创建此类视图。计算字段替换视图中的度量,并可由用户使用参数控件或参数动作以交互方式设置。

常规步骤

  1. 创建参数。

  2. 创建计算字段以更改视图的度量。

  3. 设置视图。

本文另外包含一个可用来替代步骤 2 的部分:

  • 创建计算字段以更改度量并指定聚合

以下部分将这些步骤分解为具体的说明。

该方案使用 Tableau Desktop 附带的“Sample - Superstore”数据源。

创建参数

请按以下步骤操作:

  1. 在“数据”窗格中,单击右上角中的下拉箭头,并选择“创建参数”

  2. 在“创建参数”对话框中,执行以下操作:

    1. 将参数命名为“Placeholder 1 Selector”

    2. “数据类型”设置为“字符串”

    3. 向下跳至“允许的值”字段,并选择“列表”

    4. “值列表”区域中键入单独的度量名称:“Discount”(折扣)“Profit”(利润)“Quantity”(数量)“Sales”(销售额)

      “创建参数”对话框现在应如下所示:

    5. 单击“确定”关闭“编辑参数”对话框。

  3. 使用完全相同的配置创建第二个参数“Placeholder 2 Selector”

    可通过不同的方式完成此操作。最简单的方式是:在“数据”窗格中单击“Placeholder 1 Selector”,选择“复制”,然后将所复制参数的名称更改为“Placeholder 2 Selector”

创建计算字段以更改视图的度量

请按以下步骤操作:

  1. 选择“分析”>“创建计算字段”以打开计算编辑器。将计算命名为“Placeholder 1”,并在公式区域中键入或粘贴以下内容:

    CASE [Placeholder 1 Selector]
    WHEN "Discount" THEN [Discount]
    WHEN "Profit" THEN [Profit]
    WHEN "Quantity" THEN [Quantity]
    WHEN "Sales" THEN [Sales]
    END

    注意: 计算字段必须引用给定行的“值”条目,而不是“显示为”值。

  2. 单击“确定”退出计算编辑器。

  3. 使用相同的定义创建第二个计算字段,即“Placeholder 2”。同样,执行此操作最简单的方式是:在“数据”窗格中单击“Placeholder 1”,选择“复制”,然后将复制的字段的名称更改为“Placeholder 2”

设置视图

请按以下步骤操作:

  1. “Placeholder 2”拖到“列”,并将“Placeholder 1”拖到“行”

    由于您将度量拖到了两个功能区上,因此默认视图为散点图。有关 Tableau 为何会这样做的详细信息,请参见示例:散点图、聚合和粒度

  2. “Customer Name”(客户名称)拖到“详细信息”,并将“Region”(区域)拖到“颜色”

  3. 在“数据”窗格的“参数”区域中,单击每个“Placeholder 1 Selector”,并选择“显示参数控件”。然后为“Placeholder 2 Selector”执行相同操作。

  4. 默认情况下,Tableau 将在视图的最右侧显示参数控件。将它们拖到左侧,以便用户更容易看到。

您的视图现在已完成。参数控件使用户能够选择要在 X 和 Y 轴上使用的度量。例如,下面左边的视图显示“Quantity”(数量)“Discount”(折扣)的比较,而在右边的视图中,使用了参数控件来显示“Profit”(利润)“Sales”(销售额)的比较。

创建计算字段以更改度量并指定聚合

作为上面“创建计算字段以更改视图中的度量”部分的替代,请考虑创建为单独的度量指定聚合的计算字段。如上文所述,计算字段不指定聚合。请注意,在上图中,Tableau 为“Placeholder 1”“Placeholder 2”字段自动分配了一个聚合 (SUM)。但是,您了解自己的数据,并且可能希望指示 Tableau 为您的度量使用哪些聚合。因此,请考虑像下面这样的定义,而不是上面的计算字段定义:

CASE [Placeholder 1 Selector]
WHEN "Discount" THEN SUM([Discount])
WHEN "Profit" THEN AVG([Profit])
WHEN "Quantity" THEN SUM([Quantity])
WHEN "Sales" THEN AVG([Sales])
END

您要决定是否在字段定义中显式聚合度量。您唯一不能做的是混合搭配:也就是说,您不能为一些度量定义聚合,而不为其他度量定义。

下面是“Profit”(利润)“Sales”(销售额)比较散点图在您为这些字段指定 AVG 作为聚合时的变化情况,与不指定聚合并让 Tableau 默认使用 SUM 的情况相反:

利润“Sales”(销售额)比较(包含默认聚合)利润“Sales”(销售额)比较(包含显式聚合)

类似,但不同。