TOPN 関数 (DAX)
指定されたテーブルの上位 N 行を返します。
構文
TOPN(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])
パラメーター
n_value
取得する行数。 単一のスカラー値を返す任意の DAX 式を指定します。式は、行/コンテキストごとに複数回評価されます。返される行数が n_value を超える場合もあります。詳細については「解説」を参照してください。
空のテーブルが返される場合もあります。詳細については「解説」を参照してください。
table
上位 n 行を抽出するデータのテーブルを返す任意の DAX 式。orderBy_expression
(省略可能) 結果値がテーブルの並べ替えに使用される、任意の DAX 式。式は table の行ごとに評価されます。order
(省略可能) orderBy_expression の値の並べ替え方法 (昇順または降順) を指定する値。値
代替値
説明
0 (ゼロ)
FALSE
order_by の値を降順に並べ替えます。
これは、order パラメーターを省略した場合の既定値です。
1
TRUE
order_by の昇順に順位付けます。
戻り値
table の上位 N 行を含んだテーブル。n_value が 0 (ゼロ) 以下の場合は空のテーブル。 行は、必ずしも特定の順序では並べ替えられません。
説明
order_by の値において、テーブルの N 番目の行に同順位が存在した場合、同順位となったすべての行が返されます。 そのため、N 番目の行に同順位が存在すると、関数から返される行数が n 行を超える場合があります。
n_value が 0 (ゼロ) 以下の場合、TOPN は空のテーブルを返します。
TOPN では、結果の並べ替え順序は保証されません。
使用例
次の例では、販売された製品の売上上位 10 製品のメジャーを作成します。
=SUMX(TOPN(10, SUMMARIZE(Product, [ProductKey], “TotalSales”, SUMX(RELATED(InternetSales_USD[SalesAmount_USD]), InternetSales_USD[SalesAmount_USD]) + SUMX(RELATED(ResellerSales_USD[SalesAmount_USD]), ResellerSales_USD[SalesAmount_USD]))