# AutoNumber

このステートメントは、スクリプトの実行中に発生する項目の値の個々の評価値について、一意の整数値を作成します。

LOAD ステートメント内に [autonumber スクリプト関数](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumber.htm) 関数を使用することもできますが、最適化されたロードを使用する必要がある場合は、いくつか制限があります。最適化されたロードを作成するには、QVD ファイルのデータをロードしてから、AutoNumber ステートメントを使用して値をシンボル キーに変換します。

構文:

AutoNumber \*fieldlist [Using namespace] ]

引数：

引数

| 引数 | 説明 |
| --- | --- |
| \*fieldlist | 値を一意の整数値に置き換える必要がある項目のコンマ区切りのリスト。<br><br>名前が一致するすべての項目が含まれるように、項目名にワイルドカード文字 ? および \* を使用できます。\* を使用すると、すべての項目を含めることができます。ワイルドカードを使用する場合、項目名を引用符で囲む必要があります。 |
| namespace | Using namespace はオプションです。別々の項目内の同じ値で同じキーを使用する名前空間を作成する場合に、このオプションを使用できます。<br><br>このオプションを使用しない場合、すべての項目でキー インデックスが別個になります。 |

制限事項:

スクリプトに複数の LOAD ステートメントを使用する場合、最後の LOAD ステートメントの後ろに AutoNumber ステートメントを配置する必要があります。

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

#### 例 - AutoNumber を使用したスクリプト

## スクリプトの例

この例では、データは最初に AutoNumber ステートメントなしでロードされます。次に、AutoNumber ステートメントが追加されて効果が示されます。

### 例で使用されているデータ

以下のデータをインライン データとしてデータロードエディタにロードして、以下のスクリプトの例を作成します。AutoNumber ステートメントはコメント アウトしたままにしておきます。

```
RegionSales:
LOAD *, 
Region &'|'& Year &'|'& Month as KeyToOtherTable
INLINE
[ Region, Year, Month, Sales
North,	2014,	May,	245
North,	2014,	May,	347
North,	2014,	June,	127
South,	2014,	June,	645
South,	2013,	May, 	367
South,	2013,	May,	221
];
					
Budget:
LOAD Budget,  
Region &'|'& Year &'|'& Month as KeyToOtherTable
INLINE
[Region, Year, Month, Budget
North,  2014,   May,    200
North,  2014,   May,    350
North,  2014,   June,   150
South,  2014,   June,   500
South,  2013,   May,    300
South,  2013,   May,    200
];

//AutoNumber KeyToOtherTable;

```

インライン ロードの使用の詳細については、「[インライン ロードを使用したデータのロード](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)」を参照してください。

### ビジュアライゼーションの作成

Qlik Sense シートに 2 つのテーブル ビジュアライゼーションを作成します。KeyToOtherTable、Region、Year、Month、Sales を軸として 1 番目のテーブルに追加します。KeyToOtherTable、Region、Year、Month、Budget を軸として 2 番目のテーブルに追加します。

### 結果

RegionSales テーブル

| KeyToOtherTable | Region | Year | Month | Sales |
| --- | --- | --- | --- | --- |
| North\|2014\|June | North | 2014 | June | 127 |
| North\|2014\|May | North | 2014 | May | 245 |
| North\|2014\|May | North | 2014 | May | 347 |
| South\|2013\|May | South | 2013 | May | 221 |
| South\|2013\|May | South | 2013 | May | 367 |
| South\|2014\|June | South | 2014 | June | 645 |

Budget テーブル

| KeyToOtherTable | Region | Year | Month | Budget |
| --- | --- | --- | --- | --- |
| North\|2014\|June | North | 2014 | June | 150 |
| North\|2014\|May | North | 2014 | May | 200 |
| North\|2014\|May | North | 2014 | May | 350 |
| South\|2013\|May | South | 2013 | May | 200 |
| South\|2013\|May | South | 2013 | May | 300 |
| South\|2014\|June | South | 2014 | June | 500 |

### 説明

この例は、2 つのテーブルをリンクする複合項目 KeyToOtherTable を示しています。AutoNumber は使用しません。KeyToOtherTable 値の長さに注意してください。

### AutoNumber ステートメントを追加する

ロード スクリプトの AutoNumber ステートメントのコメントを解除します。

```
AutoNumber KeyToOtherTable;
```

### 結果

RegionSales テーブル

| KeyToOtherTable | Region | Year | Month | Sales |
| --- | --- | --- | --- | --- |
| 1 | North | 2014 | June | 127 |
| 1 | North | 2014 | May | 245 |
| 2 | North | 2014 | May | 347 |
| 3 | South | 2013 | May | 221 |
| 4 | South | 2013 | May | 367 |
| 4 | South | 2014 | June | 645 |

Budget テーブル

| KeyToOtherTable | Region | Year | Month | Budget |
| --- | --- | --- | --- | --- |
| 1 | North | 2014 | June | 150 |
| 1 | North | 2014 | May | 200 |
| 2 | North | 2014 | May | 350 |
| 3 | South | 2013 | May | 200 |
| 4 | South | 2013 | May | 300 |
| 4 | South | 2014 | June | 500 |

### 説明

KeyToOtherTable 項目値は一意の整数値に置き換えられ、その結果、項目値の長さが短縮され、メモリが節約されました。両方のテーブルのキー項目は AutoNumber の影響を受け、テーブルはリンクされたままになります。この例は、デモのために、簡略化したものになっていますが、この方法が効果的なのは、多数の行が含まれるテーブルで使用した場合です。