---
schema_version: "1"
id: 3ccfb81f528658358d6555891530f3da067c28912200687b326adfa809203fa5
title: 示例 – 使用参数交换度量
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/public/desktop/parameters_swap.md
canonical_url: https://help.tableau.com/v0.0/public/desktop/zh-cn/parameters_swap.htm
source_site: help.tableau.com
content_type: documentation
content_hash: c5a6c527bd5531487382fd4b50e3ab174a0514a701bd26b5fa8744a23ff854e4
description: "example: swap measures in a view using parameters and calculated fields."
---
[跳转到主要内容](#main-content)

# 示例：使用参数交换度量

您可能希望创建一个视图，显示两个度量值相互比较的结果。但是，如果您还希望能够选择比较哪些度量，或在更好的情况下，向视图中添加一个允许任何用户选择要比较的度量的控件，情况会如何？您可以使用参数和计算字段来创建此类视图。计算字段替换视图中的度量，并可由用户使用参数控件或参数动作以交互方式设置。使用交换度量还允许您使用[动态轴标题](https://help.tableau.com/current/online/zh-cn/dynamic_axis_titles.htm).

## 常规步骤

1. 创建参数。
2. 创建计算字段以更改视图的度量。
3. 设置视图。

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

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

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

该方案使用 Tableau Desktop 附带的示例 - 超市数据源。

## 创建参数

请按以下步骤操作：

1. 在“数据”窗格中，单击右上角中的下拉箭头，并选择“创建参数”。
2. 在“创建参数”对话框中，执行以下操作：
    
    1. 将参数命名为“Placeholder 1 Selector”。
    2. 将“数据类型”设置为“字符串”。
    3. 向下跳至“允许的值”字段，并选择“列表”。
    4. 在“值列表”区域中键入单独的度量名称：“Discount”（折扣）、“Profit”（利润）、“Quantity”（数量）和“Sales”（销售额）。
        
        “创建参数”对话框现在应如下所示：
        
        ![“创建参数”对话框](/tableau/next/zh-cn/public/desktop/zh-cn/Img/DPVparameters_swap.png)
    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”。然后将**“Placeholder 1”** 选择器替换为**“Placeholder 2”**。

## 设置视图

请按以下步骤操作：

1. 将“Placeholder 2”拖到“列”，并将“Placeholder 1”拖到“行”。
    
    由于您将度量拖到了两个功能区上，因此默认视图为散点图。有关 Tableau 为何会这样做的详细信息，请参见[示例：散点图、聚合和粒度](https://help.tableau.com/v0.0/public/desktop/zh-cn/calculations_aggregation.htm#ExampleScatter)。
2. 将“Customer Name”（客户名称）拖到“详细信息”，并将“Region”（区域）拖到“颜色”。
3. 在“数据”窗格的“参数”区域中，单击每个“Placeholder 1 Selector”，并选择“显示参数控件”。然后为“Placeholder 2 Selector”执行相同操作。
4. 默认情况下，Tableau 将在视图的最右侧显示参数控件。将它们拖到左侧，以便用户更容易看到。

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

![应用了数量和折扣两个参数的散点图。](/tableau/next/zh-cn/public/desktop/zh-cn/Img/parameters_swap2.png)

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

作为上面“创建计算字段以更改视图中的度量”部分的替代，请考虑创建为单独的度量指定聚合的计算字段。如上文所述，计算字段不指定聚合。请注意，在上图中，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 的情况相反：

<table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><span class="uicontrol">利润</span>与<span class="uicontrol">“Sales”（销售额）</span>比较（包含默认聚合）</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1"><span class="uicontrol">利润</span>与<span class="uicontrol">“Sales”（销售额）</span>比较（包含显式聚合）</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><img src="https://help.tableau.com/v0.0/public/desktop/zh-cn/Img/parameters_swap3.png" alt="散点图包含两个参数，分别表示利润和销售额。"></td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1"><img src="https://help.tableau.com/v0.0/public/desktop/zh-cn/Img/parameters_swap4.png" alt="散点图包含两个参数，分别表示利润和销售额。"></td></tr></tbody></table>

类似，但不同。