Mukku John Blog

取り組んでいること を つらつら と

Power BIの軸や凡例の並び順を調べてみた

Power BI Desktop

2016/10/25追記

このツールですが、軸や凡例の並び順が指定できません。
できます。

powerbi.microsoft.com

並び順の指定はこちら
mukkujohn.hatenablog.com


これから下は、指定方法が分からない状況で、どうせ文字コードだよねということを
確認している内容です。



英数字を利用している部分はいいのですが、
日本語を軸や凡例にマッピングすると、何順なのかさっぱりです。

グラフの書式を確認しても、並び順を指定できそうな感じがしません。
それ以上に、目盛りラベルのフォントサイズ大きくしたいんですが、、、。
f:id:MukkuJohn:20161016132236p:plain

UIで提供されていないのであれば、ツール側で勝手にやっているはずで、
思いつくのが、文字コードか?なので、文字コード通りか調べてみました。
どの文字コードが調べても出てきませんでした。。。おそらくUTF-8だろうと仮定して進めます。

利用するデータ

同じデータをUTF-8とShift-JIS(ANSI)で用意しました。

名前 科目 点数
数学 80
国語 60
社会 50
英語 90
理科 70
数学 70
国語 80
社会 60
英語 90
理科 40
数学 10
国語 30
社会 40
英語 20
理科 100

文字コードの並び順については、このサイトを利用させて頂きました。
ash.jp

名前列でSJISUTF-8で並び順が異なる文字を利用しています。

JIS SJIS EUC UTF-8 UTF-16
26 20 3A34 8DB2 BAB4 E4BD90 4F50
45 04 4D24 9743 CDA4 E4BD91 4F51
35 02 4322 9241 C3A2 E4BD86 4F46

並び順は下記の順番です。

文字コード 1 2 3
UTF-8
Shift-JIS

Power BI Desktop

まずは、Power BI Desktopを使って確認していきます。

UTF-8版のCSVと、Shift-JIS版のCSVを両方取り込みます。

UTF-8版のインポート
f:id:MukkuJohn:20161016143402p:plain

Shift-JIS版のインポート
f:id:MukkuJohn:20161016143529p:plain

x軸に名前、y軸に点数をマッピングします。
f:id:MukkuJohn:20161016143850p:plain

見づらいですが、x軸の上から確認すると佐→但→佑となっています。
(目盛りラベルを大きくしたいと、すごい思いました。)

意外な感じですが、Shift-JISで並んでいるようです。

凡例

x軸に科目、y軸に点数、凡例に名前をマッピングします。
f:id:MukkuJohn:20161016145034p:plain

凡例はフォントサイズが大きくできるので確認しやすいです。
こちらも、佐→但→佑となっています。

データのエクスポート

グラフからエクスポートしたデータファイルの文字コードを確認してみます。
このように、グラフの右上の…からエクスポートします。
f:id:MukkuJohn:20161016145329p:plain

Notepadで開いて確認してみます。

UTF-8ファイルデータのグラフからエクスポートしたファイルを選びます。
開く時に、UTF-8を指定します。
f:id:MukkuJohn:20161016145900p:plain

文字化けはしていません。
エクスポートするとUTF-8になるのでしょうか?
f:id:MukkuJohn:20161016150030p:plain


今度は、開く時にANSIを指定します。
f:id:MukkuJohn:20161016150153p:plain

文字化けしました。
f:id:MukkuJohn:20161016150250p:plain

Shift-JISファイルデータも結果は同じでした。


これまでをまとめると、Power BI Desktop上の軸や凡例はShift-JISで並んでいて、
データをエクスポートすると、UTF-8です。

Power BI Service

Power BI Desktopで作成したレポートを発行し、ブラウザで確認します。

佐→但→佑となっています。
f:id:MukkuJohn:20161016151012p:plain

凡例

佐→但→佑となっています。
f:id:MukkuJohn:20161016151047p:plain

データのエクスポート

Power BI Desktopからエクスポートした時と同様、UTF-8になっています。

Shift-JISでの確認

予想に反して、軸や凡例の並び順がShift-JISで行われているそうなので、
Shift-JISコードでの前後文字で確認しました。

JIS SJIS EUC UTF-8 UTF-16
26 19 3A33 8DB1 BAB3 E4BA9B 4E9B
26 20 3A34 8DB2 BAB4 E4BD90 4F50
26 21 3A35 8DB3 BAB5 E58F89 53C9

となるはずです。

先ほどの手順と同様に、文字コードUTF-8版とShift-JIS版のファイルを使います。
UTF-8
f:id:MukkuJohn:20161016153030p:plain

Shift-JIS版
f:id:MukkuJohn:20161016153055p:plain

同じグラフを使って、軸と凡例の並び順を確認します。
f:id:MukkuJohn:20161016153500p:plain
軸は、となっています。
(目盛りラベルを大きくしたいぃぃぃぃ。)

凡例も、となっています。
f:id:MukkuJohn:20161016153532p:plain

Power BI Serviceに発行して確認しても、同じ結果でした。
f:id:MukkuJohn:20161016154140p:plain
f:id:MukkuJohn:20161016154152p:plain

まとめ

Power BIにおける日本語データの扱いは下記のようです。

  • 軸や凡例の並び順:Shift-JIS(ANSI)
  • エクスポート:UTF-8

困るのがこの辺でしょうねぇ。

  1. エクスポートしたCSVファイルを、ファイルクリックからExcelで開く
  2. Shift-JISコードの並び順とは、違う順番を使う

1つ目は、既定でShift-JIS(ANSI)になっているだけなので、
ファイルクリックからExcelを起動する事をやめましょう。

新規でExcelを起動して、データタブからインポートする形で取り込みましょう。
取り込む途中で文字コードが指定できます。

2016/10/25追記
並び順は指定できます。


2つ目は、佐藤、鈴木、田中とか、あいうえお順だと順番変わるんですよね。

  • あいうえお順:佐藤 → 鈴木 → 田中
  • Shift-JIS順:佐藤 → 田中 → 鈴木

なので、並び順にはこだわらない or 並び順用の列を追加する かな。

ただ、並び順用に、1.佐藤 2.鈴木 3.田中の列を用意して、マッピングすると
その値が使われるので、「1.」この部分何?となります。
f:id:MukkuJohn:20161016160548p:plain


並び順の指定目盛りラベルを大きくするをしてほしいものです。