# GetFieldSelections - 圖表函數

GetFieldSelections() 傳回 string 及欄位中的目前選項。

若只有兩個或一個值未選取，會分別使用格式「NOT x,y」或「NOT y」。若選取所有值，且所有值的計數大於max\_values，則會傳回文字 ALL。

語法：

GetFieldSelections ( field\_name [, value\_sep [, max\_values [, state\_name]]])

傳回的資料類型： 字串

傳回字串格式

| 格式 | 描述 |
| --- | --- |
| 'a, b, c' | 若所選值的數量為 max\_values 或更少，傳回的字串是所選值的清單。<br><br>值以 value\_sep 作為分隔符號來區隔。 |
| 'NOT a, b, c' | 若未選值的數量為 max\_values 或更少，傳回的字串是未選值的清單，以 NOT 為前置詞。<br><br>值以 value\_sep 作為分隔符號來區隔。 |
| 'x of y' | x = 所選值的數量<br><br>y = 值的總數<br><br>這會在 max\_values &lt; x &lt; ( y - max\_values) 時傳回。 |
| 'ALL' | 若選取所有值，則會傳回。 |
| '-' | 若未選取任何值，則會傳回。 |
| &lt;search string&gt; | 若您已使用搜尋選取，會傳回搜尋字串。 |

引數

| 引數 | 描述 |
| --- | --- |
| field\_name | 包含待測量之資料範圍的欄位。 |
| value\_sep | 要置於欄位值之間的分隔符號。預設為 ', '。 |
| max\_values | 要個別列出的欄位值上限。要個別列出的欄位值上限。 若選取大量的值，則會改用 'x of y values' (第 x 個值，共 y 個值) 的格式。預設為 6。 |
| state\_name | 為特定視覺化選擇的替代狀態名稱。如果使用 state\_name 引數，則只有與指定狀態名稱關聯的選項才會納入考量。<br><br>如需詳細資訊，請參閱[將替代狀態用於比較分析](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/alternate-states-comparative-analysis.htm)。 |

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `GetFieldSelections( FirstName )` | 如果在 `FirstName` 欄位中未進行選取，則傳回「`-`」(NULL)。否則，這將傳回選項的值，例如 `John`。 |

## 範例 - GetFieldSelections 基礎事項

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getfieldselections.htm)

#### 圖表運算式

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `FirstName`

  * `LastName`

  * `Initials`

  * `HasCellphone`

載入指令碼

```
Example:
LOAD * inline [
FirstName|LastName|Initials|HasCellphone
John|Anderson|JA|Yes
Sue|Brown|SB|Yes
Mark|Carr|MC|No
Peter|Devonshire|PD|No
Jane|Elliot|JE|Yes
Peter|Franc|PF|Yes ] (delimiter is '|');
```

結果

1. 載入資料並開啟工作表。建立新的篩選窗格並將此欄位新增為維度：

   * `FirstName`

2. 建立 KPI 物件，並新增以下量值：

   * `=GetFieldSelections(FirstName)`，用來傳回在 `FirstName` 欄位中所選選項的值。

   提示備註在此範例中，KPI 的樣式已調整為使用回應版面配置行為，以便更輕鬆地檢視輸出。如需更多關於變更圖表版面配置行為的資訊，請參閱 [設定 KPI 樣式](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/create-kpis.htm#Styling)

3. 按一下編輯工作表以切換至分析模式，然後以表格中的顯示順序進行下列動作：

   分析模式下的動作和結果

   | 動作 | KPI 結果 |
   | --- | --- |
   | 在 `FirstName` 篩選條件中選取 `John`。 | 量值傳回值：`John`。 |
   | 在 `FirstName` 篩選條件中選取 `John` 和 `Peter`。 | 量值傳回值：`John, Peter`。 |
   | 按一下編輯工作表以切換至編輯模式，然後將 KPI 量值運算式編輯為以下內容：`=GetFieldSelections(FirstName,'; ')` | 量值以新的 `value_sep` 格式傳回值：`John; Peter`。 |
   | 將 KPI 量值運算式編輯為以下內容：`=GetFieldSelections(FirstName,';', 2)` | 量值以新的 `value_sep` 格式間距傳回值：`John;Peter`。 |
   | 按一下編輯工作表以切換回分析模式。清除 `FirstName` 篩選條件中的選項，然後選取 `John`、`Sue` 和 `Mark`。 | 量值傳回 `NOT Jane;Peter`，因為選項數量超出了 `2` 的 `max_value` 引數。如果沒有設定 `max_value`，所有所選的名稱將顯示：`John; Sue; Mark`。 |

下圖顯示了表格中最後一個動作的結果，其中選項數量超出了 `max_values` 引數。

選取名字 John, Sue, 和 Mark 時的 KPI 結果

選取名字 John, Sue, 和 Mark 時的 KPI 結果

選取名字 John, Sue,John, Sue, 和 MarkMark 時的 KPI 結果 ![KPI 和篩選窗格顯示的選項超過 GetFieldSelections 函數中的最大值。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetFldSel-example.png)

在此範例中，您可以看到 `GetFieldSelections` 函數傳回的值隨著選取了選項而變化。

## 範例 - GetFieldSelections 使用情境

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getfieldselections.htm)

#### 圖表運算式

概述

`GetFieldSelections` 函數用於醒目顯示所選的客戶名稱。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `OrderID`

  * `CustomerName`

  * `Product`

  * `Quantity`

載入指令碼

```
Example:
LOAD * INLINE [
OrderID, CustomerName, Product, Quantity
1, John Doe, Laptop, 2
2, Jane Smith, Smartphone, 1
3, Ahmed Khan, Desk, 3
4, Maria Garcia, Chair, 1
5, Li Wei, Blender, 2
];
```

結果

1. 載入資料並開啟工作表。建立新的篩選窗格並將這些欄位新增為維度：

   * `CustomerName`

   * `Product`

2. 建立 KPI 物件，並新增以下量值：

   * `=GetFieldSelections(CustomerName)`。

   提示備註在此範例中，KPI 的樣式已調整為使用回應版面配置行為，以便更輕鬆地檢視輸出。如需更多關於變更圖表版面配置行為的資訊，請參閱 [設定 KPI 樣式](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/create-kpis.htm#Styling)。

3. 按一下編輯工作表以切換至分析模式，然後從 `CustomerName` 篩選條件選取 `Jane Smith` 和 `John Doe`。

   `GetFieldSelections` 函數傳回值：`Jane Smith, John Doe`。

   ![KPI 結果顯示在客戶名稱篩選條件中選取了哪些名稱。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetFldSel-example2.png)

您可以在 KPI 的篩選窗格中看到所選的客戶。