次の方法で共有


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]))