# Ord スクリプトおよびチャート関数

Ord() は、文字列の最初の文字の数値 (ASCII または Unicode) を返します。この関数は、例えば、非標準文字を含む文字列をソートしたりフィルタリングしたりする際に、文字コードに基づいて文字列を評価したり比較したりするのに便利です。

構文:

Ord(text)

戻り値データ型： 整数

引数

| 引数 | 説明 |
| --- | --- |
| text | 元の文字列。 |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `Ord( 'A' )` | 整数 `65` を返します |
| `Ord( 'Ab' )` | 整数 `65` を返します |

## 例 - Ord の基本

[](https://help.qlik.com/en-US/cloud-services/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` という項目の値を数値で返します。

結果テーブル

| 中国語 | 欧文 | ord(Chinese) | ord(Western) |
| --- | --- | --- | --- |
| `古琴` | `Guqin` | 21476 | 71 |

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

#### ロード スクリプト

次のコードは、ロード スクリプトで関数を使用する方法を示しています。

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

結果テーブル

| 中国語 | 欧文 | OrdUnicode | OrdASCII |
| --- | --- | --- | --- |
| 古琴 | Guqin | 21476 | 71 |

## 例 - Ord のシナリオ

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

#### チャートの数式

概要

商品コードのデータセットには、英数字ではなく特殊文字で始まるために無効とみなされるコードが含まれています。`Ord` 関数を使用して無効な製品コードを識別し、レコードに有効または無効のラベルを付ける新しいメジャーを作成します。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* `Products` というデータ テーブルにロードされるデータセット。

* データ テーブル内の 1 つの項目は `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` 関数の出力を有効な英数字値の範囲と比較することで、どの製品コードが有効でないかを判断できます。