# 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` 的字段中值的数值。

结果表

| 中文 | 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 ];
```

结果表

| 中文 | 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` 函数的输出与一系列有效的字母数字值进行比较，可以确定哪些产品代码无效。