Power BIの軸や凡例の並び順を調べてみた-2
Power BI Desktop
過去記事*1にて、コメントを頂き、
並び順が指定できそうです。。
この記事は、並び順を指定して、実際に確認できるまでの記録です。
ちなみに、コメントで誘導されたBlogはこちらです。コメントくれた方もこちらの方?
blogs.msdn.microsoft.com
誘導されたBlogにて記載されていることを試してから、
過去記事のデータで試してみたいと思います。
カレンダーテーブル
必要ですよね。以前、開発していた業務システムでも当然作っていました。
こんなんだったかな。
年 | 年月 | 月 | 日 | 年月日 | 曜日番号 | 曜日 | 営業日フラグ |
---|---|---|---|---|---|---|---|
2016 | 201610 | 10 | 30 | 20161030 | 1 | 日 | 1 |
2016 | 201610 | 10 | 31 | 20161031 | 2 | 月 | 0 |
2016 | 201611 | 11 | 1 | 20161101 | 3 | 火 | 0 |
2016 | 201611 | 11 | 2 | 20161102 | 4 | 水 | 0 |
2016 | 201611 | 11 | 3 | 20161103 | 5 | 木 | 0 |
2016 | 201611 | 11 | 4 | 20161104 | 6 | 金 | 0 |
2016 | 201611 | 11 | 5 | 20161105 | 7 | 土 | 1 |
あとは、祝日テーブルも作っていました。会社の記念日とかありますしね。
手メンテでした。
年 | 年月 | 月 | 日 | 年月日 | 事由 |
---|---|---|---|---|---|
2016 | 201611 | 11 | 3 | 20161103 | 文化の日 |
2016 | 201611 | 11 | 14 | 20161114 | 埼玉県民の日 |
何はともあれ、誘導されたBlogの記事を試していきます。
まずは、モデリングタブで、新しいテーブルをポチっとします。
数式ペインにこれを記載して、Enter!
カレンダー = CALENDAR("2015/1/1", TODAY())
おぉ、日付が列挙されました。
列をバシバシ追加していきます。しょうもないことなのですが、
DAX式の=の後ろが、全角スペースだとエラーになります。
#コピペせず、キー打ってたら、うっかり全角のまま #列追加した時点で、= が表示されていて、「月」を全角で打って、横に移動してみたいな 月 = FORMAT([Date],"M月")
全角スペースから半角スペースに直せばよいです。
ついに待ちにまった並び替えの指定をやってみます。
「月」列を選んだ状態で、「列で並び替え」を押して、「月番号」を選びます。
・・・うん、まぁそうですよね。
・・・これだけだと分からないので、何かしらデータを追加します。
追加したデータはこちらです。
左側の表は、商品マスタチックに、右側の表は、売上明細チックにしてます。
データを追加して、リレーションシップを定義します
x軸に商品名、y軸に数量、凡例に並び替えをした月をマッピングします。
おぉ
「月」列はテキスト型なのに、1月→9月→10月の順です。
追加したデータの商品マスタチックの商品名を、商品IDで並び替えたいと思います。
並び替え前:カタカナのゴから並んでいます。
並び替え中
並び替え後:りんごが先にきています。
凡例でも軸でも並び替えができました。
過去記事のデータで試してみる
過去記事では、こちらのデータを使いました。
名前 | 科目 | 点数 |
---|---|---|
但 | 数学 | 80 |
但 | 国語 | 60 |
但 | 社会 | 50 |
但 | 英語 | 90 |
但 | 理科 | 70 |
佐 | 数学 | 70 |
佐 | 国語 | 80 |
佐 | 社会 | 60 |
佐 | 英語 | 90 |
佐 | 理科 | 40 |
佑 | 数学 | 10 |
佑 | 国語 | 30 |
佑 | 社会 | 40 |
佑 | 英語 | 20 |
佑 | 理科 | 100 |
とりあえず取り込みます。
科目番号列を追加します。
科目列を、科目番号列で並び替えてみます。
!?!!?
この列によって既に直感的にまたは間接的に並び替えられている列を
基準としてこの列を並び替えることができません。
日本語を整理すると、こうなりますかね。
この列:科目列
この列によって既に直感的にまたは間接的に並び替えられている列:科目番号列
データソースにある列から、DAX式を使って追加した列で並び替えはできないんでしょうか?
というわけで、科目番号列もデータソース側に用意して、取り込みます。
並び替えできました。エイ→コク→スウ→リ→シャです。
軸に科目を、値に点数を、凡例に名前をマッピングします。
ちゃんと、エイ→コク→スウ→リ→シャで並んでいます。
名称列から番号列を作って、作った番号列で名称列を並び替えるがNGっぽいので
番号列から名称列を作る順番で試してみます。
科目番号列をGroupByした新しいテーブルを作成します。
科目番号列から、科目列を作ります。
科目列を、科目番号列で並び替えします。
リレーションシップを定義します。
軸に科目を、値に点数を、凡例に名前をマッピングします。
ちゃんと、エイ→コク→スウ→リ→シャで並んでいます。
よかった!
並び替えが指定できるようになりました!!
頂いたコメントで、MSのBlogに誘導されたので…
↓Tech Summit参加します。しかもブースじゃない方で!!
microsoft-events.jp
de:codeもForesightもブース出展側だったから、楽しめなかったんだよなぁ。
デモがぁデモがぁ
今回は、気楽に楽しめそうです。