PL-300 練習ドリル(非公式) / 領域2 データのモデル化 / はい/いいえ
RANKX と SWITCH(TRUE())
商品の売上の順位を、RANKX で付ける。
売上が同率の商品が2つある。
また、売上の区分を、SWITCH(TRUE(), …) で付ける。
それぞれの文は、正しいか。
- 正しい: RANKX の既定(Skip)では、同率が2つあると、順位が「1・2・2・4」のように、次の順位が飛ぶ。
正しい。実機で、「1・2・2・4」になった。 - 正しい: Dense を指定すると、順位は「1・2・2・3」になる。
正しい。実機で、「1・2・2・3」になった。 - 誤り:
RANKX(ALL(商品[商品]), [売上合計])の ALL を外して、RANKX(商品, [売上合計])と書くと、順位が、正しく付く。
誤り。実機で、ALL を付けないと、全部が1位になった。 - 誤り:
SWITCH(TRUE(), 売上 >= 3000, "B", 売上 >= 4000, "A", "C")と書くと、売上 5,000 は「A」になる。
誤り。SWITCH は、上から順に評価して、最初に一致した条件で止まる。5,000 は、先に書いた「>= 3000」に一致して「B」になり、「A」は、1つも付かない(実機でも、逆の順の列に A は出なかった)。
解き方
RANKX は、順位を付ける範囲を ALL で広げます。SWITCH(TRUE()) は、条件の順番が大事で、厳しい条件(絞り込みの強いもの)を先に書きます。
根拠(確かめたこと)
- 実機(記事 powerbi-rankx-ranking-ties-dense、powerbi-switch-true-order)。
- 公式: RANKX、SWITCH 関数。SWITCH は、一致した時点で、あとの条件は評価されない。
公式ドキュメント
関連する記事
Microsoft 公式の教材ではなく、非公式の練習問題です。確認日: 2026-11-04。一覧に戻る / ドリルを始める