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

Bottom

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

構文:  

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

戻り値データ型: デュアル

引数:  

  • 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
Astrida 587 757 1344 1126
Betacab 539 757 1296 1078
Canutility 683 757 1440 1222
Divadip 757 757 1514 1296

この例で示されているテーブル チャートの図では、軸 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 になっています (テーブル参照)。(スペースの関係上、一部の行は表示されていません。)

最初のテーブル出力の例
Customer Product Month Sum(Sales) End value
- - - 2566 -
Astrida AA Jan 46 22
Astrida AA Feb 60 22
Astrida AA Mar 70 22
... ... ... ... ...
Astrida AA Sep 78 22
Astrida AA Oct 12 22
Astrida AA Nov 78 22
Astrida AA Dec 22 22
Astrida BB Jan 46 22
2 番目のテーブル出力の例
Customer Product Month Sum(Sales) End value
      2566 -
Astrida AA Jan 46 46
Astrida BB Jan 46 46
Astrida AA Feb 60 60
Astrida BB Feb 60 60
Astrida AA Mar 70 70
Astrida BB Mar 70 70
Astrida AA Apr 13 13
Astrida BB Apr 13 13

詳細については、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
Betacab 659.67
Canutility 659.67
Divadip 659.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