

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon Quick 中建立參數預設值
<a name="parameters-default-values"></a>

使用本節來進一步了解可以使用哪些類型的參數預設值，以及如何設定各個參數預設值。

每個欄位都可以有一個參數和一個與其關聯的控制項。當有人檢視儀表板或電子郵件報告時，任何已設定靜態預設值的工作表控制項都會使用靜態預設值。預設值可以變更資料的篩選方式、自訂動作的行為方式，以及動態工作表標題中顯示的文字。電子郵件報告也支援動態預設值。

最簡單的預設值是靜態 (不變) 預設值，它向每個人顯示相同的值。身為儀表板的設計者，您可以選擇預設值。儀表板的使用者無法變更。但是，該人員可以從控制項中選擇任何值。設定預設值並不會變更這一點。若要限制人員可以選取的值，請考慮使用資料列層級安全性。如需詳細資訊，請參閱[透過以使用者為基礎的規則使用資料列層級安全來限制對資料集的存取使用以使用者為基礎的規則](restrict-access-to-a-data-set-using-row-level-security.md)。

**若要建立或編輯，適用於每個人的儀表板檢視的靜態預設值**

1. 依您想要編輯的參數選擇內容選單 (`v`)，或遵循 [在 Amazon Quick 中設定參數](parameters-set-up.md) 中的步驟來建立新的參數。

1. 在**靜態預設值**中輸入值以設定靜態預設值。

若要根據檢視儀表板之人員顯示不同的預設值，請建立動態預設參數 (DDP)。使用動態預設值需要一些準備，將人員映射至其指派的預設值。首先，您需要建立資料庫查詢或資料檔案，其中包含要顯示之人員、欄位和預設值的相關資訊。您可以將其新增至資料集中，然後將資料集新增至分析中。接下來，您可以尋找可用來收集資訊、建立資料集，以及將動態預設值新增至參數的程序。

為動態預設值建立資料集時，請遵循下列指引：
+ 建議您使用單一資料集來包含使用者或群組邏輯分組的所有動態預設定義。如果可以的話，請將它們保留在單一資料表或檔案中。
+ 也建議您資料集中的欄位名稱與分析中的欄位名稱盡量相似。並非所有資料集欄位都需要成為分析的一部分，例如，如果您正在多個儀表板中為預設值使用相同的資料集。欄位可以是任意順序的。
+ 不建議您將使用者和群組名稱合併在相同的資料欄中，甚至是在相同的資料集中。這種配置將需要更多的工作來進行維護和疑難排解。
+ 如果您使用逗號分隔的檔案來建立資料集，則請務必移除檔案中值之間的任何空格。下列範例顯示了正確的逗號分隔值 (CSV) 格式。以單引號或雙引號括住包含非英數字元 (例如空格、單引號等) 的文字 (字串)。您可以用引號括住日期或時間的欄位，但這並非必要動作。您可以用引號括住數字欄位，例如，如果數字包含特殊字元，如下所示。

  ```
  "Value includes spaces","Field contains ' other characters",12345.6789,"20200808"
  ValueWithoutSpaces,"1000,67","Value 3",2020-AUG-08
  ```
+ 建立資料集之後，請務必仔細檢查 Quick 為欄位選取的資料類型。

在開始之前，您需要使用動態預設值的使用者或群組名稱的清單。若要產生使用者或群組的清單，您可以使用 AWS CLI 來取得資訊。若要執行 CLI 命令，請確認您已經安裝及設定 AWS CLI 。如需詳細資訊，請參閱「AWS CLI 使用者指南」**中的[安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)。

這只是如何取得使用者名稱或群組名稱清單的其中一個範例。使用最適合您的任何方法。

**若要識別適合動態預設參數 (DDP) 的人員**
+ 列出個別使用者名稱或群組名稱：
  + 若要列出個別使用者名稱，請加入可識別 DDP 人員的資料欄。此欄應包含每個人的系統使用者名稱，用於從您的身分提供者連線至 Quick。此使用者名稱通常與 @ 符號前的人員的電子郵件別名相同，但並非總是如此。

    若要取得使用者清單，請使用 [ListUsers](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUsers.html) Quick API 操作或 AWS CLI 命令。CLI 命令如下列範例所示。為您的身分提供者指定 AWS 區域 ，例如 `us-east-1`。

    ```
    awsacct1="111111111111"
    namespace="default"
    region="us-east-1"
    
    aws quicksight list-users --aws-account-id $awsacct1 --namespace $namespace --region $region
    ```

    下列範例會加入將結果限制為作用中使用者的查詢，以變更前一個命令。

    ```
    awsacct1="111111111111"
    namespace="default"
    region="us-east-1"
    
    aws quicksight list-users --aws-account-id $awsacct1 --namespace $namespace --region $region --query 'UserList[?Active==`true`]'
    ```

    得到的結果看起來類似以下範例。此範例摘自 JSON 輸出 (`--output json`)。擁有聯合身分使用者名稱的人員擁有以單字 `federated` 開頭的主體 ID。

    ```
    [
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/anacasilva",
            "UserName": "anacarolinasilva",
            "Email": "anacasilva@example.com",
            "Role": "ADMIN",
            "Active": true,
            "PrincipalId": "federated/iam/AIDAJ64EIEIOPX5CEIEIO"
        },
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/Reader/liujie-stargate",
            "UserName": "Reader/liujie-stargate",
            "Role": "READER",
            "Active": true,
            "PrincipalId": "federated/iam/AROAIJSEIEIOMXTZEIEIO:liujie-stargate"
        },
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/embedding/cxoportal",
            "UserName": "embedding/cxoportal",
            "Email": "saanvisarkar@example.com",
            "Role": "AUTHOR",
            "Active": true,
            "PrincipalId": "federated/iam/AROAJTGEIEIOWB6BEIEIO:cxoportal"
        },
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/zhangwei@example.com",
            "UserName": "zhangwei@example.com",
            "Email": "zhangwei@example.com",
            "Role": "AUTHOR",
            "Active": true,
            "PrincipalId": "user/d-96123-example-id-1123"
        }
    ]
    ```
  + 若要列出群組名稱，請加入資料欄，以識別包含 DDP 使用者名稱的群組。此欄應包含用於從您的身分提供者連線至 Quick 的系統群組名稱。若要識別您可以新增至資料集的群組，請使用下列一或多個快速 API 操作或 CLI 命令：
    + [ListGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListGroups.html) – 列出包含您的身分提供者之 的 AWS 帳戶 ID 和命名空間 AWS 區域 的快速群組。
    + [ListGroupMemberships](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListGroupMemberships.html) – 列出指定 Quick 群組中的使用者。
    + [ListUserGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUserGroups.html) – 列出 Quick 使用者所屬的 Quick 群組。

    或者，您可以要求網路管理員查詢您的身分提供者以取得此資訊。

接下來的兩個程序會提供如何完成建立動態預設值之資料集的指示。第一個程序是為單值 DDP 建立資料集。第二個是為多值 DDP 建立資料集。

**若要建立單值 DDP 的資料集**

1. 使用單值參數建立資料集資料欄。查詢或檔案中的第一欄應適用於使用儀表板的人員。此欄位可以包含使用者名稱或群組名稱。不過， 群組的支援僅適用於 Quick Enterprise Edition。

1. 針對每個顯示單值參數動態預設值的欄位，將資料欄新增至資料集。資料欄的名稱並不重要，您可以使用與欄位或參數相同的名稱。

   如果使用者實體和動態預設值的組合對該參數的欄位而言是唯一的，則單值參數才能正常運作。如果使用者實體的預設欄位有多個值，則該欄位的單一值控制項會改為顯示靜態預設值。如果未定義靜態預設值，則控制項不會顯示預設值。如果您使用群組名稱，則請務必小心，因為某些使用者名稱可能是多個群組的成員。如果這些群組具有不同的預設值，則此類型的使用者名稱會當做重複項目運作。

   下列範例顯示包含兩個單值參數的資料表。我們這樣假設是因為沒有使用者名稱與多個預設值配對。為了使此表更易於理解，我們在分析中的字段名稱前面新增單字 `'default'`。因此，您可以透過下列陳述式、變更每個資料列的值來讀取資料表：由 `anacarolinasilva` 檢視時，控制項會顯示預設區域 `NorthEast` 與預設區段 `SMB`。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/quick/latest/userguide/parameters-default-values.html)

1. 將此資料匯入 Quick，並將其儲存為新資料集。

1. 在分析中，新增您建立的資料集。分析需要至少使用一個與您為預設值定義之資料欄相符的其他資料集。如需詳細資訊，請參閱[將資料集新增至分析](adding-a-data-set-to-an-analysis.md)。

**若要建立多值 DDP 的資料集**

1. 使用多值參數建立資料集資料欄。查詢或檔案中的第一欄應適用於使用儀表板的人員。此欄位可以包含使用者名稱或群組名稱。不過， 群組的支援僅適用於 Quick Enterprise Edition。

1. 針對每個顯示多值參數動態預設值的欄位，將資料欄新增至資料集。資料欄的名稱並不重要，您可以使用與欄位或參數相同的名稱。

   與單值參數不同，多值參數允許在與參數相關聯的欄位中使用多個值。

   下列範例顯示包含一個單值參數和一個多值參數的資料表。我們可以進行此假設，因為每個使用者名稱在一個資料欄中都有唯一的值，並且某些使用者名稱在另一資料欄中具有多個值。為了使此表更易於理解，我們在分析中的字段名稱前面新增單字 `'default'`。因此，您可以透過建立下列陳述式、變更每一列的值來讀取資料表：如果 `viewed-by` 是 `liujie`，控制項會顯示 `default-region` 的值 `SouthEast`，以及 `default-city` 的值 `Atlanta`。如果我們提前讀一列，就會看到，`liujie` 在 `default-city` 中還有 `Raleigh`。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/quick/latest/userguide/parameters-default-values.html)

   在此範例中，無論是單值還是多值參數，我們套用 `default-region` 的參數都能正常運作。如果它是單值參數，則兩個項目適用於一個使用者，因為兩個項目有相同的值 `SouthEast`。如果它是多值參數，它仍然有效，除了預設情況下只選擇一個值。但是，如果我們將使用 `default-city` 作為其預設值的參數從多值變更為單值參數，則不會看到選取這些預設值。相反地，參數會使用靜態預設值 (如果有定義的話)。例如，如果靜態預設值設定為 `Atlanta`，則已在該控制項中為 `liujie` 選取 `Atlanta`，但未選取 `Raleigh`。

   在某些情況下，您的靜態預設值也可能會用作動態預設值。如果是這樣，請務必測試使用者名稱的控制項，確保其不使用兩者皆可同時使用的預設值。

   如果使用者名稱屬於多個群組，則具名使用者會看到一組預設值，這是兩個群組預設值的聯集。

1. 將此資料匯入 Quick，並將其儲存為新資料集。

1. 在分析中，新增您建立的資料集。分析需要至少使用一個與您為預設值定義之資料欄相符的其他資料集。如需詳細資訊，請參閱[將資料集新增至分析](adding-a-data-set-to-an-analysis.md)。

使用以下程序，將動態預設參數新增至分析。開始之前，請確定您有資料集，且其中包含每個使用者名稱或群組名稱的動態預設值。此外，請確定您的分析正在使用此資料集。如需這些需求的說明，請參閱前面的程序。

**若要將 DDP 新增至您的分析**

1. 在快速主控台中，選擇頁面頂端的**參數**圖示，然後選擇現有的參數。從參數選單中選擇**編輯參數**。若要新增參數，請選擇**參數**附近的加號 (`+`)。

1. 選擇 **Set a dynamic default (設定動態預設值)**。

1. 使用您的設定配置以下選項：
   + **Dataset with default values and user information** – 選擇您建立並新增至分析的資料集。
   + **使用者名稱資料欄** – 若要建立以使用者名稱為基礎的預設值，請在資料集中選擇包含使用者名稱的資料欄。
   + **群組名稱資料欄** – 若要建立以群組名稱為基礎的預設值，請在資料集中選擇包含群組名稱的資料欄。
   + **適用於預設值的資料欄** – 選擇包含此參數預設值的資料欄。

1. 選擇**套用**以儲存設定變更，然後選擇**更新**以儲存參數變更。若要退出而不儲存變更，則請選擇**取消**。

1. 為每個包含動態預設值的欄位新增篩選條件，以使預設值正常運作。若要進一步了解如何使用篩選條件與參數搭配，請參閱 [在 Amazon Quick 中使用具有參數的篩選條件](parameters-filtering-by.md)

   Amazon Quick 會針對其使用者名稱不存在於資料集、未指派預設值，或沒有唯一預設值的任何人使用靜態預設值。每個人只能有一組預設值。若您不想使用動態預設值，則可以設定靜態預設值。