QlikViewナレッジ - INSIGHT LAB

【QlikView】関数を使って連番を作成する方法(RowNo、AutoNumber、AutoNumberHash128、AutoNumberHash256)

作成者: KJ|2014年4月25日

QlikView(クリックビュー)でチャートオブジェクト等や順位付けをしたい場合、関数を用いて項目に番号をつける事ができます。

以前の記事ABC分析での順位付けでは、count関数を使用しましたが、今回は別の連番を作成する機能を紹介します。

今回は、その番号付け関数をいくつか紹介したいと思います。

①RowNo関数

 RowNo関数は単純な連番を作成します。1つのテーブル内で連番を作成する場合に重宝しますが、単純に1から連番が振られていくだけですので、複数のテーブルを関連付けるためのキーとしては使用できません。

 

②AutoNumber関数

 AutoNumber関数は与えられた1つの項目名に対して、一意の連番を振ります。項目名が同じであれば、連番もかならず同じ番号になるため、キー項目を作成するのために使用できます。基本的にこの2つが多く使用されます。

 

まずRowNo()関数を使用した連番の振り方を説明します。 まず、ロードスクリプトで適当なデータを読み込み、連番を作成したい項目名を付けます。

今回は営業所CSVに支店ナンバーという項目に連番を振りたいと思います。   Load RowNo() as 支店ナンバーと入力します。

 

テーブルビューワーで、営業所コードを確認してみます。右クリックで、プレビューを確認してみてください。

 

支店ナンバーという項目に、連番が作成されました。

 

 

次にAutoNumber関数の説明をしていきます。AutoNumber(項目名)は与えられた1つの項目名に対して、一意の連番を振ります。

項目名が同じであれば、連番もかならず同じ番号になるため、キー項目を作成するために使用できます。

実際に方法を紹介します。

ロードスクリプト上で、AutoNumber(顧客コード)と入力し、顧客コードに連番を振ります。

※『AutoNumber(顧客コード)』 as 顧客コード の書き方も可能です。

リロードすると、AutoNumber(顧客コード)の項目がでます。

テーブルビューアーで顧客テーブルを確認してみるとAutonumberの項目が作成され、連番が振られているのがわかります。

 

その他、似た関数として・・・・

 

③AutoNumberHash128関数

 AutoNumberHash128(式1, 式2 ...) AutoNumberHash128関数は与えられた複数の式(項目名)に対して、一意の連番を振ります。

 

④AutoNumberHash256関数

 AutoNumberHash256(式1, 式2 ...) AutoNumberHash256関数は与えられた複数の式(項目名)に対して、一意の連番を振ります。 内部な処理(128ビットのハッシュ値を使用するか、256ビットのハッシュ値を使用するか)を除けば、AutoNumberHash128関数と、AutoNumberHash256関数は同じ効果を持ちます。     AutoNumber関数とAutoNumberHash関数 AutoNumber関数でも連番を作成できますが、式(項目名)を1つしか指定できません。 複数の項目から一意の連番を作成したい場合、たとえば以下のように指定することで、国ごと年ごとに一意の連番を作成できます。 AutoNumber(国 & 年) AutoNumber(国 & '-' & 年) ※&は文字列を連結する演算子です。

しかし、項目が複数ある場合は、 AutoNumberHash128関数やAutoNumberHash256関数を使用した方が簡単です。

 

Qlikで使える関数一覧は、こちら