QlikView(クリックビュー)でチャートオブジェクト等や順位付けをしたい場合、関数を用いて項目に番号をつける事ができます。
以前の記事ABC分析での順位付けでは、count関数を使用しましたが、今回は別の連番を作成する機能を紹介します。
今回は、その番号付け関数をいくつか紹介したいと思います。
RowNo関数は単純な連番を作成します。1つのテーブル内で連番を作成する場合に重宝しますが、単純に1から連番が振られていくだけですので、複数のテーブルを関連付けるためのキーとしては使用できません。
AutoNumber関数は与えられた1つの項目名に対して、一意の連番を振ります。項目名が同じであれば、連番もかならず同じ番号になるため、キー項目を作成するのために使用できます。基本的にこの2つが多く使用されます。
まずRowNo()関数を使用した連番の振り方を説明します。 まず、ロードスクリプトで適当なデータを読み込み、連番を作成したい項目名を付けます。
今回は営業所CSVに支店ナンバーという項目に連番を振りたいと思います。 Load RowNo() as 支店ナンバーと入力します。
テーブルビューワーで、営業所コードを確認してみます。右クリックで、プレビューを確認してみてください。
支店ナンバーという項目に、連番が作成されました。
次にAutoNumber関数の説明をしていきます。AutoNumber(項目名)は与えられた1つの項目名に対して、一意の連番を振ります。
項目名が同じであれば、連番もかならず同じ番号になるため、キー項目を作成するために使用できます。
実際に方法を紹介します。
ロードスクリプト上で、AutoNumber(顧客コード)と入力し、顧客コードに連番を振ります。
※『AutoNumber(顧客コード)』 as 顧客コード の書き方も可能です。
リロードすると、AutoNumber(顧客コード)の項目がでます。
テーブルビューアーで顧客テーブルを確認してみるとAutonumberの項目が作成され、連番が振られているのがわかります。
その他、似た関数として・・・・
AutoNumberHash128(式1, 式2 ...) AutoNumberHash128関数は与えられた複数の式(項目名)に対して、一意の連番を振ります。
AutoNumberHash256(式1, 式2 ...) AutoNumberHash256関数は与えられた複数の式(項目名)に対して、一意の連番を振ります。 内部な処理(128ビットのハッシュ値を使用するか、256ビットのハッシュ値を使用するか)を除けば、AutoNumberHash128関数と、AutoNumberHash256関数は同じ効果を持ちます。 AutoNumber関数とAutoNumberHash関数 AutoNumber関数でも連番を作成できますが、式(項目名)を1つしか指定できません。 複数の項目から一意の連番を作成したい場合、たとえば以下のように指定することで、国ごと年ごとに一意の連番を作成できます。 AutoNumber(国 & 年) AutoNumber(国 & '-' & 年) ※&は文字列を連結する演算子です。
しかし、項目が複数ある場合は、 AutoNumberHash128関数やAutoNumberHash256関数を使用した方が簡単です。