お問い合わせ
2 分で読むことができます。

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

執筆者 KJ 更新日時 2014年4月25日

Topics: 関数TIPS

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

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

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

①RowNo関数

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

 

②AutoNumber関数

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

 

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

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

スクリーンショット (156)

 

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

スクリーンショット (158)

 

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

 

スクリーンショット (157)

 

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

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

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

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

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

スクリーンショット (161)

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

スクリーンショット (159)

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

スクリーンショット (160)

 

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

 

③AutoNumberHash128関数

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

 

④AutoNumberHash256関数

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

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

 

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

 

QlikViewを体験してみませんか?

INSIGHT LABではQlik紹介セミナーを定期開催しています。QlikViewとQlik Senseの簡単な製品概要から、Qlikの特性である「連想技術」のご紹介、デモを通してQlikViewとQlik Senseの操作感や美しいインターフェースをご覧いただきます。企業の大切な資産である膨大なデータからビジネスを発見する 「Business Discovery」を是非ご体験ください。

詳細はこちら

KJ

執筆者 KJ

セールスマーケティング 部長 野球部 部長