示例:使用参数交换度量
您可能希望创建一个视图,显示两个度量值相互比较的结果。但是,如果您还希望能够选择比较哪些度量,或在更好的情况下,向视图中添加一个允许任何用户选择要比较的度量的控件,情况会如何?您可以使用参数和计算字段来创建此类视图。计算字段替换视图中的度量,并可由用户使用参数控件或参数动作以交互方式设置。使用交换度量还允许您使用动态轴标题.
常规步骤
创建参数。
创建计算字段以更改视图的度量。
设置视图。
本文另外包含一个可用来替代步骤 2 的部分:
创建计算字段以更改度量并指定聚合
以下部分将这些步骤分解为具体的说明。
该方案使用 Tableau Desktop 附带的示例 - 超市数据源。
创建参数
请按以下步骤操作:
在“数据”窗格中,单击右上角中的下拉箭头,并选择“创建参数”。
在“创建参数”对话框中,执行以下操作:
将参数命名为“Placeholder 1 Selector”。
将“数据类型”设置为“字符串”。
向下跳至“允许的值”字段,并选择“列表”。
在“值列表”区域中键入单独的度量名称:“Discount”(折扣)、“Profit”(利润)、“Quantity”(数量)和“Sales”(销售额)。
“创建参数”对话框现在应如下所示:
- 单击“确定”关闭“编辑参数”对话框。
使用完全相同的配置创建第二个参数“Placeholder 2 Selector”。
可通过不同的方式完成此操作。最简单的方式是:在“数据”窗格中单击“Placeholder 1 Selector”,选择“复制”,然后将所复制参数的名称更改为“Placeholder 2 Selector”。
创建计算字段以更改视图的度量
请按以下步骤操作:
选择“分析”>“创建计算字段”以打开计算编辑器。将计算命名为“Placeholder 1”,并在公式区域中键入或粘贴以下内容:
CASE [Placeholder 1 Selector]
WHEN "Discount" THEN [Discount]
WHEN "Profit" THEN [Profit]
WHEN "Quantity" THEN [Quantity]
WHEN "Sales" THEN [Sales]
END注意: 计算字段必须引用给定行的“值”条目,而不是“显示为”值。
单击“确定”退出计算编辑器。
使用相同的定义创建第二个计算字段,即“Placeholder 2”。同样,执行此操作最简单的方式是:在“数据”窗格中单击“Placeholder 1”,选择“复制”,然后将复制的字段的名称更改为“Placeholder 2”。然后将“Placeholder 1” 选择器替换为“Placeholder 2”。
设置视图
请按以下步骤操作:
将“Placeholder 2”拖到“列”,并将“Placeholder 1”拖到“行”。
由于您将度量拖到了两个功能区上,因此默认视图为散点图。有关 Tableau 为何会这样做的详细信息,请参见示例:散点图、聚合和粒度。
将“Customer Name”(客户名称)拖到“详细信息”,并将“Region”(区域)拖到“颜色”。
在“数据”窗格的“参数”区域中,单击每个“Placeholder 1 Selector”,并选择“显示参数控件”。然后为“Placeholder 2 Selector”执行相同操作。
默认情况下,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”(销售额)比较(包含显式聚合) |
![]() | ![]() |
类似,但不同。