メイン コンテンツをスキップする 補完的コンテンツへスキップ

Below - チャート関数

Below() テーブルの列セグメント内の現在の行の下にある行の数式を評価します。どの行が計算されるかは、offset 値により決定されますが、デフォルトは真下の行です。テーブル以外のチャートでは、Below() は、チャートのストレート テーブルに相当するセグメントの現在の行よりも下にある行を評価します。

構文:  

Below([TOTAL] expr [ , offset [,count ]])

戻り値データ型: dual

引数:  

引数
引数 説明
expr メジャーの対象となるデータが含まれている数式または項目。
offset

offset n を 1 より大きい値にすると、数式の評価が現在の行から n 行下に移動します。

offset に 0 を指定すると、現在の行で数式が評価されます。

offset が負の値である場合、Below 関数は、相応する正の offset 値が付いた Above 関数と同様に機能します。

count

3 番目のパラメータ count を 1 より大きい値にした場合、この関数は count 値の範囲を返します。つまり、オリジナルのテーブルのセルから下方向に count 行の各値を返します。 この形式では、特別な範囲関数の引数として関数を使用できます。 範囲関数

TOTAL

テーブルが 1 軸の場合、または TOTAL 修飾子が引数として使用される場合は、現在の列セグメントは常に列全体と等しくなります。

集計範囲の定義

列セグメントの最後の行では下に行が存在しないため、NULL 値が返されます。

情報メモ列セグメントは、現在のソート順で軸に同じ値を持つ連続したセルのサブセットとして定義されます。レコード間チャート関数は、チャートのストレート テーブルに相当する右端の軸を除外して列セグメントで実行されます。チャートに軸が 1 つしかない場合、または TOTAL 修飾子が指定されていると、数式はテーブル全体を評価します。
情報メモテーブルまたはテーブルに相当するアイテムに複数の縦軸が含まれる場合、現在の列セグメントには、項目間ソート順の最後の軸を表示する列を除くすべての軸列の現在行と同じ値を持つ行だけが含まれます。

制限事項:  

  • 再帰呼び出しは NULL を返します。

  • チャートの数式のいずれかでこのチャート関数を使用する場合、チャートの Y 値でのソートや、テーブルの数式列のソートはできません。よって、これらのソート機能は自動的に無効になります。ビジュアライゼーションまたはテーブルでこのチャート関数を使用する場合、ビジュアライゼーションのソートによりソートされた入力がこの関数に戻ります。

例と結果:  

例1:  

例 1 のテーブルのビジュアライゼーション

Table visualization for Example 1.

例 1 のスクリーンショットに示されているテーブルでは、軸 Customer とメジャー Sum(Sales) および Below(Sum(Sales)) からテーブルのビジュアライゼーションが作成されています。

Divadip を含む Customer 行の下には行がないため、列 Below(Sum(Sales)) はこの行に対して NULL を返します。たとえば、行 Canutility の結果は DivadipSum(Sales) の値を示し、Betacab の結果は Canutility などの Sum(Sales) の値を示します。

テーブルには、より複雑なメジャーも含まれます (列 Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 および Higher? というラベルのコラムを参照) これらの数式は、次の説明のとおり機能します。

Sum(Sales)+Below(Sum(Sales)) というラベルの列では、Astrida 行の結果には、行 BetacabAstrida 値の加算結果 (539+587) が Sum(Sales) に表示されます。Betacab 行の結果には、行 CanutilityBetacab 値の加算結果 (539+683) が Sum(Sales) に表示されます。

数式 Sum(Sales)+Below(Sum(Sales), 3) を使用して作成された Below +Offset 3 というラベルのメジャーは、引数 offset3 に設定されており、現在の行より 3 つ下の行の値を取得します。現在の CustomerSum(Sales) 値を 3 行下の Customer の値に加えます。Customer の最後の 3 行の値は Null です。

Higher? というラベルのメジャーは、IF(Sum(Sales)>Below(Sum(Sales)), 'Higher') という数式から作成されています。これは、メジャー Sum(Sales) の現在の行の値をその下の行と比較します。現在の行の値が大きい場合、「Higher」が出力されます。

ヒント メモこの関数は、棒グラフなどテーブル以外のチャートでも使用できます。
ヒント メモその他のチャートの場合、どの行が関数に関連しているかわかりやすくするために、チャートをストレート テーブルに相当するセグメントに変換します。

複数の軸が含まれているチャートでは、AboveBelowTopBottom 関数を含む数式の結果は、Qlik Sense における列軸のソート順序によって変わります。Qlik Sense は、最後にソートされた軸の結果である列セグメントに基づいて関数を評価します。列のソート順は、[ソート] のプロパティ パネルで制御され、必ずしも列がテーブルに表示される順序ではありません。詳細については、Above 関数の例 2 を参照してください。

例 2

例2:  

結果

Below 関数は、範囲関数への入力として使用できます。例: RangeAvg (Below(Sum(Sales),1,3))

Below() 関数の引数では、offset は 1 に設定され、count は 3 に設定されています。この関数は、列セグメントの現在行のすぐ下の 3 行 (行がある場合) で数式 Sum(Sales) の結果を算出します。この 3 つの値は、RangeAvg() 関数への入力として使用され、指定された数値の範囲で平均値を算出します。

軸として Customer を有するテーブルによって、RangeAvg() の数式について次の結果が得られます。

 

Astrida

Betacab

Canutility

Divadip:

659.67

720

757

-

例で使用されているデータ:

Monthnames: LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [ MonthText, MonthNumber Jan, 1 Feb, 2 Mar, 3 Apr, 4 May, 5 Jun, 6 Jul, 7 Aug, 8 Sep, 9 Oct, 10 Nov, 11 Dec, 12 ]; Sales2013: Crosstable (MonthText, Sales) LOAD * inline [ Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec Astrida|46|60|70|13|78|20|45|65|78|12|78|22 Betacab|65|56|22|79|12|56|45|24|32|78|55|15 Canutility|77|68|34|91|24|68|57|36|44|90|67|27 Divadip|57|36|44|90|67|27|57|68|47|90|80|94 ] (delimiter is '|');

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。