タグ別アーカイブ: 列で並び替え

グラフの並び順を変える3つの方法~条件列、DAX、リレーション~

【グラフのX軸が思うように並んでくれない、そんな悩みは今回の記事で解決できます】

Power BIのグラフの並び変更は、通常だとグラフの右上の三点リーダーをクリックした後に下記の画像の箇所で変更します

今回は上の並べ方では解決できない場合の対処方法を3つ紹介します

いずれの方法もデータビュー画面・列ツールにて「列で並べ替え」機能を使用します

まずは「1.並び変えたい列を選択」した後「列ツール」の「列で並べ替え」にて、「2.順位を記述した列」を指定します

読者の方の中には「その方法は知っている、だけどDAXを書くとエラーになった」という方もいらっしゃると思います

今回の記事ではエラーを回避する方法も解説しています

やりたい事

今回使用するデータは次の画像のデータです

こちらの商品の並びを次のようにします

A⇒B⇒C⇒D⇒E ➡ C⇒D⇒E⇒A⇒B

DAX1

一つ目の並べ替え方法はDAXのSwitch関数で変える方法です

下は別データで並び変えた事例です

*過去記事⇒こちら

上の画像ではMONTHの並び順を1月ではなく、4月からはじまるように変えています

では、今回の場合はどうかというと、次のようなSwitch関数の式を書きます

ところが、今回の場合は実際に並び替えるとエラーが発生します

前述の月の並び替えの場合は、並び替え対象が「MONTH列」で順位列の式が「順位 = Switch(MONTH([Date]),1,10,・・・」となっています

つまり、Switch関数の中身が「並び替え対象」ではなく「Date列」となっています

今回の場合は、Switch関数の中身に「並び替え対象」が入っています

順位_DAX = SWITCH(‘Data'[商品],・・・

ですので、次のようなエラーがでます

これはSUM関数をSUM関数の対象範囲に含めるような形になります

ですので、今回は別な方法も紹介します

条件列

Power Queryエディタ画面で条件列を作成する方法も使えます

この条件列にて順位を指定すると次のようなグラフになります

別テーブルを手動で作成(DAX2)

最後に紹介する方法はこちらの画面:データの入力でテーブルを作成します

内容はこんな形で入力します

こちらで作成したテーブルはリレーションも組んでおきます

次にデータビュー画面でDAX(RELATED関数)を作成し、順位列を作成します

この順位列であれば循環の問題は発生しません

<まとめ>

今回は、グラフの並び順を変える方法を3つ紹介しました

DAXで順位列を作成する場合には「循環参照」の問題は常に意識しておきましょう

個人的にはPower Queryエディで条件列を作成するより、DAXで作成した方が手軽だと感じています

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ