式での変数の使用例
Qlik Sense の変数は名前付きのエンティティで、データ値が含まれています。変数が数式で使用されている場合、変数には値または変数の定義が代入されます。
変数 x にはテキスト文字列 Sum(Sales) が含まれます。
チャートで、数式 $(x)/12 を定義します。結果は、チャート式に Sum(Sales)/12 と設定したのと同じになります。
ただし、変数 x の値を Sum(Budget) などに変更すると、チャート内のデータが直ちに再計算され、数式は Sum(Budget)/12 として解釈されます。
名前の解釈方法
Qlik Senseでは、変数に項目や関数と同じ名前を付けることは推奨されていません。 これを行う場合は、数式での使用方法を理解する必要があります。
文字列 XXX は、項目、変数、関数、またはメジャーを表します。数式の作成方法に応じて、XXX はさまざまな値として解釈されます。
数式 | XXX の解釈 |
---|---|
XXX | メジャー、変数、または項目 |
$(XXX) | 変数 |
Count(XXX) | 項目または変数 |
XXX() | 関数 |
エンティティに名前を付けるときは、同じ名前を複数の項目、変数、またはメジャーに割り当てないでください。同じ名前のエンティティ間の競合を解決するには、厳密な優先順位があります。この順序は、これらのエンティティが使用されるすべてのオブジェクトまたはコンテキストに反映されます。この優先順位次のとおりです。
-
集計の内部では、項目は変数よりも優先されます。メジャー ラベルは、集計内では関係がなく、優先されません。
-
集計の外部では、メジャー ラベルは変数よりも優先され、変数は項目名よりも優先されます。
-
さらに、集計の外部では、ラベルが実際には計算されたものである場合を除き、メジャー ラベルを参照することによりメジャーを再使用することができます。この状況では、自己参照のリスクを低減するためにメジャーの重要性は低下し、この場合、名前は メジャーラベルとして常に最初に解釈され、2 番目に項目名、3 番目に変数名として解釈されます。
変数の計算
Qlik Sense で計算済みの値を使って変数を使用する方法はいくつかあり、その結果は、これを定義する方法と数式で呼び出す方法によって異なります。
この例では、次のデータがデータ ロード エディタにロードされている必要があります。
変数ダイアログから次の 2 つの変数を定義します。
- [名前] vSales [定義'Sum(Sales)' ]
- [名前] vSales2 [定義'=Sum(Sales)' ]
2 番目の変数では、数式の前に等号を追加します。これにより、変数が展開される前に計算され、数式が評価されます。
vSales 変数をそのまま使用する場合 (メジャーで使用する場合など)、その結果は文字列Sum(Sales) になります。つまり、計算は行われません。
ドル記号展開を追加して数式で $(vSales) を呼び出すと、変数が展開され、Sales の合計が表示されます。
最後に、$(vSales2) を呼び出すと、変数は展開される前に計算されます。つまり、表示される結果は Sales の合計です。メジャー数式として =$(vSales) を使用した場合と =$(vSales2) を使用した場合に結果がどう違うかを、下記の表に示します。
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
ご覧のように、$(vSales) は軸値の小計になり、$(vSales2) は合計になります。