# Dual 指令碼與圖表函數

Dual() 將一個數字與一個字串組合至單一記錄，例如記錄的數字表示法可用於排序及計算，而字串值可用於顯示。

[Dual Function](https://play.vidyard.com/vNa9jcN6DizzYQ1hDZ5VAr)

語法：

Dual(text, number)

傳回的資料類型： 雙值

資訊備註所有雙值回傳值是向右對齊。

引數

| 引數 | 描述 |
| --- | --- |
| text | 要與數字引數組合使用的字串值。 |
| number | 要與字串引數中字串組合使用的數字。 |

在 Qlik Sense 中，所有欄位值都可能是雙值。這表示欄位值可以同時具有數值和文字值。範例是可以具有數值 40908 和文字表示法 '2011-12-31' 的日期。

資訊備註讀入同一個欄位的數個資料項目有不同的字串表示法，但是卻有相同的有效數字表示法時，則這些資料項目將共用第一個出現的字串表示法。

提示備註dual 函數一般用於指令碼前端，並會在其他資料讀入相關的欄位之前使用，以便建立將在篩選窗格之中顯示的第一個字串表示法。

範例：圖表運算式

| 範例 | 描述 |
| --- | --- |
| `Dual(IF(DayOfWeek = 0, 'Monday',`<br>`IF(DayOfWeek = 1, 'Tuesday',`<br>`If(DayOfWeek = 2 ,'Wednesday',`<br>`If(DayOfWeek = 3 ,'Thursday',		If(DayOfWeek = 4 ,'Friday',		If(DayOfWeek = 5 ,'Saturday',		 If(DayOfWeek = 6 ,'Sunday'`<br>`))))))), DayOfWeek)` | 欄位 `DayOfWeek` 可以在視覺化中作為維度使用。在表格中，星期幾會自動排序為正確的數字順序，而不使用字母順序。 |
| `Dual(Pick( Priority , 'Low','Medium','High'), Priority)` | 欄位 `Priority` 可以在視覺化中作為維度使用。在表格中，欄位 `Priority` 會自動排序為正確的數字順序，而不使用字母順序。 |
| `Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3))` | 欄位 `Date` 可以在視覺化中作為維度使用。建立文字值 `Q1` 至 `Q4` 並將數值 `1` 指派到 `4`。 |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date))` | 欄位 `Date` 可以在視覺化中作為維度使用。此範例建立表單 `'2012-W22'` 的文字值，同時，指派對應於週第一天日期數的數值，例如：`41057`。 |

範例：載入指令碼

| 範例 | 描述 |
| --- | --- |
| 將下列範例新增至您的指令碼并予以執行。<br><br>`Load dual ( NameDay,NumDay ) as DayOfWeek inline` `[ NameDay,NumDay` `Monday,0` `Tuesday,1` `Wednesday,2` `Thursday,3` `Friday,4` `Saturday,5` `Sunday,6 ];` | 例如，欄位 `DayOfWeek` 可以在視覺化中作為維度使用。在表格中，星期幾會自動排序為正確的數字順序，而不使用字母順序。 |
| `Load<br>Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter<br>AutoGenerate 1;` | 此範例會尋找目前季度。當 Now 函數在一年中的前三個月中執行時，它會顯示為 `Q1`，針對第二個三個月時，會顯示為 `Q2`，依此類推。然而，當用於排序中時，欄位 `Quarter` 將用作數值：1 至 4。 |
| `Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter` | 如前一個範例所示，建立欄位 `Quarter`，使用文字值 `Q1` 至 `Q4`，并指派數值 `1` 至 `4`。為了在指令碼中使用此項目，必須載入 `Date` 的值。 |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek` | 此範例建立欄位 `YearWeek`，文字值來自表單 `2012-W22`，同時，指派對應於週第一天日期數的數值，例如：`41057`。為了在指令碼中使用此項目，必須載入 `Date` 的值。 |

## 範例 - Dual 基礎事項

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Dual.htm)

#### 圖表運算式

概述

資料集包含客戶服務資料。您想要按星期幾檢閱通話次數。

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

載入指令碼包含：

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

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

  * `DayOfWeek`
  * `NoOfCalls`

載入指令碼

```
Example:
Load * inline [
DayOfWeek, NoOfCalls
0, 25000
1, 30000
2, 27500
3, 32000
4, 23250
5, 28950
6, 32350
];
```

結果

載入資料並開啟工作表。建立新的長條圖，然後使用下列方法之一新增維度：

1. 在維度運算式中，新增以下內容：

   ```
   =Dual(IF(DayOfWeek = 0, 'Monday',
   IF(DayOfWeek = 1, 'Tuesday',
   If(DayOfWeek = 2 ,'Wednesday',
   If(DayOfWeek = 3 ,'Thursday',
   If(DayOfWeek = 4 ,'Friday',
   If(DayOfWeek = 5 ,'Saturday',
   If(DayOfWeek = 6 ,'Sunday'
   ))))))), DayOfWeek) 
   ```

2. 此方法更有效率。在維度運算式中，新增以下內容：

   ```
   =Dual(pick( DayOfWeek +1 , 'Monday','Tuesday','Wednesday', 'Thursday','Friday', 'Saturday','Sunday' ), DayOfWeek)
   ```

建立下列量值：

* `=Sum(NoOfCalls)`，用來計算通話次數。

結果：長條圖依星期幾顯示通話次數

結果：長條圖依星期幾顯示通話次數

結果：長條圖依星期幾顯示通話次數 ![長條圖，含使用維度運算式中的 Dual 函數建立的維度](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/dual-barchart.png)

長條圖依星期幾顯示通話次數。這會自動按照正確的順序排序星期幾。

## 範例 - Dual 使用情境

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Dual.htm)

#### 圖表運算式

概述

資料集包含客戶支援意見回饋。您想要對意見回饋進行排序並顯示，首先顯示負面回應，然後顯示正面回應。

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

載入指令碼包含：

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

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

  * ResponseType
  * NoOfResponses

載入指令碼

```
Example:
Load * inline [
ResponseType, NoOfResponses
1, 350
2, 560
3, 4350
4, 2350
5, 5350
];
```

結果

載入資料並開啟工作表。建立新的長條圖，並將以下運算式新增至維度。

* =Dual(pick( ResponseType , 'Very Bad','Bad','Average', 'Good','Very Good'), ResponseType)

建立下列量值：

* =Sum(NoOfResponses)，用來計算回應次數。

結果：長條圖依回覆類型顯示回覆次數

結果：長條圖依回覆類型顯示回覆次數

結果：長條圖依回覆類型顯示回覆次數 ![長條圖，含使用維度運算式中的 Dual 函數建立的維度](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/dual-barchart2.png)

長條圖依回覆類型顯示回覆次數。請注意，長條圖會自動從負面到正面排序。回應類型是一個數值，已指派了文字描述。