すべて展開 / 折りたたむ
Top - チャート関数このページ上
Top() テーブルの列セグメント内の最初 (最上部) の行の数式を評価します。どの行が計算されるかは、offset 値により決定されますが、デフォルトは最上部の行です。テーブル以外のチャートでは、Top() 評価はチャートのストレート テーブルに相当する現在の列の最初の行を評価します。
構文:
Top( [TOTAL ] expr [ , offset [,count
]] )
戻り値データ型: デュアル
引数
expr
メジャーの対象となるデータが含まれている数式または項目。
offset
offset の n を 1 より大きい値にすると、数式の評価が先頭行から n 行下に移動します。
offset が負の値である場合、Top 関数は、相応する正の offset 値が付いた Bottom 関数と同様に機能します。
count
3 番目のパラメータである count を 1 より大い値に設定すると、この関数は count 値の範囲、つまり現在の列セグメントの最後の count 行の各値を返します。 この形式では、特別な範囲関数の引数として関数を使用できます。 範囲関数
TOTAL
テーブルが 1 軸の場合、または TOTAL 修飾子が引数として使用される場合は、現在の列セグメントは常に列全体と等しくなります。
集計範囲の定義
情報メモ 列セグメントは、現在のソート順で軸に同じ値を持つ連続したセルのサブセットとして定義されます。レコード間チャート関数は、チャートのストレート テーブルに相当する右端の軸を除外して列セグメントで実行されます。チャートに軸が 1 つしかない場合、または TOTAL 修飾子が指定されていると、数式はテーブル全体を評価します。
情報メモ テーブルまたはテーブルに相当するアイテムに複数の縦軸が含まれる場合、現在の列セグメントには、項目間ソート順の最後の軸を表示する列を除くすべての軸列の現在行と同じ値を持つ行だけが含まれます。
制限事項:
例: チャートの数式
Top( Sum(Sales) )
テーブル内の列セグメントの最初の (一番上の) 行の Sales の値を返します。
例 - Top の基本
チャートの数式
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
ロード スクリプト
Example:
LOAD * INLINE [
Year, Sales
2019, 1000
2020, 1500
2021, 1200
2022, 1800
2023, 1700
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次のメジャーを作成します:
=Sum(Sales) 、年間売上高を見つけます。
=Top(Sum(Sales)) 、テーブルの列の最初の行 (一番上の行) である、最初の年の売上高を見つけます。
=Sum(Sales) - Top(Sum(Sales)) 、現在の行の Sales 値と列の最初の行 (一番上の行) の値の差異を計算します。
=Sum(Sales)-Top(Sum(Sales), 3) 、現在の行の売上値と上から 3 行目の値の差異を計算します。
=(Sales - Top(Sales)) / Top(Sales) 、最初の行と比較した Sales の変化を比率/パーセンテージとして返します。 この値をパーセンテージで表示するには、 [数値書式 ] で、 [数値] > [書式設定 [シンプル]] > [12.34%] を選択します。
テーブルを Year の軸で昇順にソートします。
結果テーブル
Year
Sum(Sales)
Top(Sum(Sales))
Sum(Sales) - Top(Sum(Sales))
Sum(Sales)-Top(Sum(Sales), 3)
(Sales - Top(Sales)) / Top(Sales)
Totals 7200 1000 6200 6000 -
2019
1000
1000
0
-200
0.00%
2020 1500 1000 500 300 50.00% 2021 1200 1000 200 0 20.00% 2022 1800 1000 800 600 80.00% 2023 1700 1000 700 500 70.00%
結果を見ると、現在の期間の Sales 値を一番上 (または最初) の期間と比較できます。
Sum(Sales) - Top(Sum(Sales)) メジャーは、現在の期間と最初の期間を比較して、Sales 値の変化を返します。
Sum(Sales)-Top(Sum(Sales), 3) メジャーは、現在の行の Sales の合計から上から 3 番目の期間を差し引いた値を返します。
=(Sales - Top(Sales)) / Top(Sales) メジャーは、最初の期間と比較した Sales の変化をパーセンテージで返します。
ヒント メモ この関数は、棒グラフなどテーブル以外のチャートでも使用できます。
次の手順を実行します。
棒グラフを作成し、この項目を軸として追加します。
次のメジャーを作成します:
Top 関数の結果を示す棒グラフ
棒グラフで Top 関数を使用すると、現在の期間と一番上 (または最初) の期間の売上の差異を視覚的に比較できます。
例 - Top のシナリオ
チャートの数式
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
ロード スクリプト
Example:
LOAD * INLINE [
OrderID, Product, SalesValue, OrderDate
1, "Product A", 500, '2023-01-10'
2, "Product B", 300, '2023-01-15'
3, "Product C", 450, '2023-02-01'
4, "Product D", 700, '2023-02-20'
5, "Product E", 350, '2023-03-05'
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次のメジャーを作成します:
=RangeAvg(Top(Sum(SalesValue),1,3)) は上位 3 行の平均を返します。
=Sum(SalesValue) - RangeAvg (Top(Sum(SalesValue),1,3)) は、現在の行と上から 3 行の平均との差異を計算します。
=Sum(SalesValue) は現在の行の合計 SalesValue を計算します。
結果テーブル
Product
RangeAvg(Top(Sum(SalesValue),1,3))
Sum(SalesValue) - RangeAvg (Top(Sum(SalesValue),1,3))
Sum(SalesValue)
Totals 416.67 1883.33 2300
2019
416.67
83.33
500
2020 416.67 --116.67 300 2021 416.67 33.33 450 2022 416.67 283.33 700 2023 416.67 -66.67 350
結果は、RangeSum と Top 関数の組み合わせを使用して、売上値を分析および比較する方法を示しています。
例: Top を使用したチャートの数式
チャートの数式
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
ロード スクリプト
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 '|');
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次のメジャーを作成します:
=Sum(Sales) 、売上の合計を計算します。
=Top(Sum(Sales)) 、一番上の行に Customer の売上合計を表示します。
=Sum(Sales)+Top(Sum(Sales)) 、現在の Customer の Sum(Sales) 値と一番上の行の Customer を加算します。
=Sum(Sales)+Top(Sum(Sales), 3) 、現在の Customer の Sum(Sales) 値と、上から 3 番目の Customer の値を加算します。
結果テーブル
Customer
Sum(Sales)
Top(Sum(Sales))
Sum(Sales)+Top(Sum(Sales))
Sum(Sales)+Top(Sum(Sales), 3)
Totals 2566 587 3153 3249
Astrida
587
587
1174
1270
Betacab 539 587 1126 1222 Canutilty 683 587 1270 1366 Divadip 757 587 1344 1440
メジャー Top(Sum(Sales)) は、一番上の行の値 Astrida であるため、すべての行に対して 587 を返します。
メジャー Sum(Sales)+Top(Sum(Sales)) の場合、行 Betacab は 1126 を返します。これは、Betacab の Sum(Sales) 値と Astrida (一番上の行の Customer ) を追加した結果です。
メジャー Sum(Sales)+Top(Sum(Sales), 3) の場合、引数 offset は 3 に設定されます。この数式は、現在の行の Sum(Sales) 値と上から 3 番目の行の Canutility 値を加算します。たとえば、顧客 Divadip に対しては、値 1440 が返されます。これは、Divadip の Sum(Sales) 値と、Canutility の SumSales を加算した結果です (757 + 683 )。