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

Top

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

構文:  

Top([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 修飾子が指定されていると、数式はテーブル全体を評価します。
情報メモテーブルまたはテーブルに相当するアイテムに複数の縦軸が含まれる場合、現在の列セグメントには、項目間ソート順の最後の軸を表示する列を除くすべての軸列の現在行と同じ値を持つ行だけが含まれます。

制限事項:  

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

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

例と結果:  

例1:  

テーブル出力の例
Customer Sum(Sales) Top(Sum(Sales)) Sum(Sales) + Top(Sum(Sales)) Top offset 3
  2566 587 3153 3249
Astrida 587 587 1174 1270
Betacab 539 587 1126 1222
Canutility 683 587 1270 1366
Divadip 757 587 1344 1440

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

Top(Sum(Sales)) は、先頭行 Astrida の値である 587 をすべての行で返します。

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

例2:  

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

最初のテーブル出力の例
Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida AA Feb 60 46
Astrida AA Mar 70 46
... ... ... ... ...
Astrida AA Sep 78 46
Astrida AA Oct 12 46
Astrida AA Nov 78 46
Astrida AA Dec 22 46
Astrida BB Jan 46 46
2 番目のテーブル出力の例
Customer Product Month Sum(Sales) First 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:  

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

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

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

テーブル出力の例
Customer RangeAvg (Top(Sum(Sales),1,3))
Astrida 603
Betacab 603
Canutility 603
Divadip 603

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

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