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

Bottom

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

構文:  

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

戻り値データ型: dual

引数:  

  • expr: メジャーの対象となるデータが含まれている数式または項目。
  • offset: offset n を 0 より大きい値にすると、数式の評価が現在の行から n 行上に移動します。offset に 0 を指定すると、現在の行で数式を評価します。 offset が負の値である場合、Above 関数は、相応する正の offset 値が付いた Below 関数と同様に機能します。
  • count: 3 番目の引数 count を 1 より大きい値にすると、この関数は count 値の範囲を返します。つまり、オリジナルのテーブルのセルから上方向に count 行の各値を返します。 この形式では、任意の特別な範囲関数の引数として関数を使用できます。 範囲関数
  • TOTAL: テーブルが 1 軸の場合、または TOTAL 修飾子が引数として使用される場合は、現在の列セグメントは常に列全体と等しくなります。

    集計範囲の定義

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

制限事項:  

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

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

例と結果:  

例1:  

テーブル出力例
Customer Sum(Sales) Bottom(Sum(Sales)) Sum(Sales) + Bottom(Sum(Sales)) Bottom offset 3
- 2566 757 3323 3105
Astrida58775713441126
Betacab53975712961078
Canutility68375714401222
Divadip75775715141296

この例で示されているテーブル チャートの図では、軸 Customer とメジャー Sum(Sales) および Bottom(Sum(Sales)) からテーブルが作成されています。

Bottom(Sum(Sales)) はすべての行で 757 を返します (最終行 Divadip の値)。

テーブルには、Sum(Sales)+Bottom(Sum(Sales)) から作成されたものと、数式 Sum(Sales)+Bottom(Sum(Sales), 3) を使用して作成され、引数 offset3 に設定されている Bottom offset 3 という、より複雑なメジャーも表示されています。最後から 3 つ上にある行の値に現在の行の Sum(Sales) 値を加えます (現在の行 + Betacab の値)。

例2:  

この例で示されているテーブル チャートの図では、より多くの軸がチャートに追加されています。MonthProduct。 複数の軸が含まれているチャートでは、AboveBelowTopBottom 関数を含む数式の結果は、QlikView における列軸のソート順序によって変わります。QlikView は、最後にソートされた軸の結果である列セグメントに基づいて関数を評価します。列のソート順は、[ソート] で制御され、必ずしも列がテーブルに表示される順序ではありません。

最初のテーブルで数式は Month、2 番目のテーブルでは Product に基づいて評価されます。メジャー End value には数式 Bottom(Sum(Sales)) が含まれています。Month の最終行は Dec で、DecProduct の値は両方とも 22 になっています (テーブル参照)。(スペースの関係上、一部の行は表示されていません。)

1 つ目のテーブル出力例
Customer Product Month Sum(Sales) End value
- - - 2566 -
AstridaAAJan4622
AstridaAAFeb6022
AstridaAAMar7022
...............
AstridaAASep7822
AstridaAAOct1222
AstridaAANov7822
AstridaAADec2222
AstridaBBJan4622
2 つ目のテーブル出力例
Customer Product Month Sum(Sales) End value
      2566 -
AstridaAAJan4646
AstridaBBJan4646
AstridaAAFeb6060
AstridaBBFeb6060
AstridaAAMar7070
AstridaBBMar7070
AstridaAAApr1313
AstridaBBApr1313

詳細については、Above 関数の例 2 を参照してください。

例3:  

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

Bottom() 関数の引数では、offset は 1 に設定され、count は 3 に設定されています。この関数は、列セグメントの最終行の上の行から始まる 3 行 (offset=1 のため)、およびその上の 2 行 (行がある場合) で数式 Sum(Sales) の結果を算出します。この 3 つの値は、RangeAvg() 関数への入力として使用され、指定された数値の範囲で平均値を算出します。

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

テーブル出力例
Customer RangeAvg (Bottom(Sum(Sales),1,3))
Astrida 659.67
Betacab659.67
Canutility659.67
Divadip659.67

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

Monthnames:

LOAD * INLINE [

Month, 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 (Month, 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 '|');

月を取得して正しい順番でソートするには、チャートを作成する際に、チャート プロパティの[Sort] タブに移動し、[Sort by] の下で [Expression] チェック ボックスを選択します。数式ボックスに、Monthnumber と入力します。

詳細を見る

 

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

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

分析の近代化プログラムに参加する

Remove banner from view

分析最新化プログラムにより、重要な QlikView app を危険にさらすことなく最新化しましょう。 ここをクリック して詳細を表示するか、次にお問い合わせください。 ampquestions@qlik.com