# Ord - 指令碼與圖表函數

Ord() 傳回字串第一個字元的數字 (ASCII 或 Unicode) 值。此函數可用於根據字串的基礎字元碼評估或比較字串，例如，排序或篩選包含非標準字元的字串時。

語法：

Ord(text)

傳回的資料類型： 整數

引數

| 引數 | 描述 |
| --- | --- |
| text | 原始字串。 |

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `Ord( 'A' )` | 傳回整數 `65` |
| `Ord( 'Ab' )` | 傳回整數 `65` |

## 範例 - Ord 基礎事項

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Ord.htm)

#### 圖表運算式

概述

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

載入指令碼包含：

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

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

  * `Chinese`

  * `Western`

載入指令碼

```
Example:
Load * inline [
Chinese, Western
古琴, Guqin
];
```

結果

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

* ` Chinese
                                   `

* `Western`

建立下列計算維度：

* `=ord(Chinese)`，用來傳回名為 `Chinese` 之欄位中值的數值。

* `=ord(Western)`，用來傳回名為 `Western` 之欄位中值的數值。

結果表格

| Chinese | Western | ord(Chinese) | ord(Western) |
| --- | --- | --- | --- |
| `古琴` | `Guqin` | 21476 | 71 |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Ord.htm)

#### 載入指令碼

以下程式碼顯示如何在載入指令碼中使用該函數。

```
Example:
Load *,
ord(Chinese) as OrdUnicode,
ord(Western) as OrdASCII;
Load * inline [
Chinese, Western
古琴, Guqin ];
```

結果表格

| Chinese | Western | OrdUnicode | OrdASCII |
| --- | --- | --- | --- |
| 古琴 | Guqin | 21476 | 71 |

## 範例 - Ord 使用情境

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Ord.htm)

#### 圖表運算式

概述

產品代碼資料集包含一些被視為無效的代碼，因為這以特殊字元開頭，而不是以英數字元開頭。使用 `Ord` 函數識別無效的產品代碼，建立新的量值，以將記錄標籤為有效或無效。

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

載入指令碼包含：

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

* 資料表格中稱為 `ProductCode` 的一個欄位。

載入指令碼

```
Products:
Load * inline [
ProductCode
AB123
#EX45
12XY9
DEF456
*KLM78
GH789
];
```

結果

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

* ` ProductCode
                                   `

建立下列計算維度：

* `=Ord(ProductCode)`，用來傳回第一個字元的數值。

* `=If(Ord(ProductCode) < 48 OR (Ord(ProductCode) > 57 AND Ord(ProductCode) < 65) OR Ord(ProductCode) > 122, 'Invalid Product Code', 'Valid Product Code')`，用來檢查代碼的序數值是否為英數字元。如果不是，則該記錄會標記為 `Not Valid`。

結果表格

| 產品代碼 | Ord(ProductCode) | If(Ord(ProductCode) &lt; 48 OR (Ord(ProductCode) &gt; 57 AND Ord(ProductCode) &lt; 65) OR Ord(ProductCode) &gt; 122, 'Invalid Product Code', 'Valid Product Code') |
| --- | --- | --- |
| \*KLM78 | 42 | Invalid Product Code |
| #EX45 | 35 | Invalid Product Code |
| 12XY9 | 49 | Valid Product Code |
| AB123 | 65 | Valid Product Code |
| DEF456 | 68 | Valid Product Code |
| GH789 | 71 | Valid Product Code |

比較 `Ord` 函數的輸出與一系列有效的英數字元值，您可以確定哪些產品代碼無效。