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

Column()関数を使用した最適化【知っておくと便利な関数】

2023年11月06日

はじめに

テーブルチャートで集計を行うとき、下の画像のように、既に作成済みのメジャーの数式を利用して新たにメジャーを作成することがあると思います。

※画像では「Sum([売上])」と「Sum([原価])」という数式を利用し、「Sum([売上]) - Sum([原価])」というメジャーを作成しています。

しかし、画像の例のような単純な数式のメジャーなら良いのですが、実務などで作成するメジャーはIF文やSET文を使用した、長く複雑な数式の場合が多々あり、その場合、数式の転記ミスやメンテナンスの手間が発生したりします。

上記のミスや手間をなくすために、Column()関数を利用することは有効な手段の一つと言えます。

Qlik Viewでの作業経験のある方に関しては、同じテーブル内であれば、作成したメジャーにラベルを設定すると、そのラベルを指定して別のメジャー作成時に利用が出来ていたと思いますが、その感覚に近い動作と思っていただけると幸いです。

 

実際に使用

実際にColumn()関数を使用したメジャーの作成方法をご紹介します。

1.関数の基本構文

最初にColumn()関数の基本的な構文を説明します。

Column([列番号])

この[列番号]は、参照したいメジャーの番号を示します。

メジャーの番号は、テーブルに作成されたメジャーの順番になります

2.列番号の指定

Column関数では、列番号を使って特定の列を参照します。列番号は1から始まり、1は最初の列を示します。列番号を正確に指定することが重要です。

Column()関数はあくまでも既に存在するメジャーを参照する関数であるため、再帰呼び出しには、NULL を返します。(呼び出すColumn()関数のメジャーが、他のメジャーを参照している場合はその参照された列を返します。)

3.実際の使用例

例えば、Sum([売上])とSum([原価])がすでに作成されている場合、

テーブルチャートのプロパティを開くと、下記画像のようにSum([売上])→Sum([原価])の順でメジャーがセットされています。

Column関数の画像2

これは上から順に「1」「2」という列番号となります。

例えばこの2つのメジャーを引き算する場合、次のようにColumn()関数を使用できます。

Column(1)-Column(2)

これにより、「Sum([売上]) - Sum([原価])」という計算がされます。

 

注意点

Column()関数はあくまでも指定した番号のメジャーを参照するという点です。

Column関数の注意点1

上の画像から分かるように、参照するということは、列内の実際のをそのまま使用することを意味するのではなく、列で使用されているを参照することを意味します。つまり、Column()関数を使用した列では式が再計算されます。

そのため、画像のように、Rand()関数を使用しているメジャーを対象にColumn()関数を使用すると、その列の結果を参照するのではなく、数式を参照するため、列の結果が異なります。

 

最後に

Column()関数は比較的取り入れやすい関数なので、皆さんもぜひ活用してみてください!

 

Kaz

Written by Kaz

Qlik_No1_2022
QSナレッジ事例バナー
DXバナー
Qlikseminar
qs_trial
Qllikseminar
Vizlibナレッジ
Vizlibセミナー
qv_knowledge
book_kawaii
Snowflake_バナー

新着記事

タグ別の記事

全て表示