それでは、「管理が楽になるデータの持ち方」の続きとして、次の内容に入っていきます。今回のテーマは、「グラフ項目の並び順をコントロールする」です。
Power BIでグラフを作成していると、「この順番で表示したいのに、思ったような順番にならない」という経験をすることがあります。これは、ExcelとPower BIなどのデータベース型のツールでは、データの扱い方に少し違いがあるためです。
Excelでは、表の上から順番にデータが並んでいること自体に意味を持たせることがあります。たとえば、「4月、5月、6月……」という順番で並んでいることが、そのまま意味のある情報になります。
一方、データベースの世界では、「データがどの順番で保存されているか」ということは、基本的にはそれほど重要ではありません。重要なのは、「どのようなデータが入っているのか」ということです。そのため、Power BIでも、Excelのように「入力した順番がそのまま表示される」とは限りません。
もちろん、数値や日付であれば、昇順・降順による並べ替えができます。たとえば、売上金額を小さい順から大きい順に並べたり、日付を古い順から新しい順に並べたりすることは簡単です。
しかし、漢字で入力された項目については、単純な昇順・降順では、必ずしも期待した順番になりません。たとえば、「営業部」「総務部」「開発部」といった部署名を考えてみましょう。これらを漢字の文字列として並べ替えても、「業務上、この順番で表示したい」という意図にはなりません。
もし、部署名に対して「営業部」「開発部」「総務部」というような業務上の順番を指定したいのであれば、単純な文字列の昇順・降順では対応できません。
そこで、別途「並び順を管理するための列」が必要となります。たとえば、
1 営業部
2 開発部
3 総務部
というように、それぞれの項目に番号を付けておきます。そして、Power BIでは、この番号を基準として元の項目を並べ替えるように設定します。
この方法を使えば、単純な文字列の順番ではなく、「業務上、この順番で表示したい」というルールに沿ってグラフの項目を並べることができます。つまり、「表示したい項目」と「その項目を何番目に表示するか」という情報を分けて持っておくわけです。
それでは、経費申請のサンプルデータを使って、実際に操作していきましょう。部のマスタには、「部」の列の隣に「部の並び順」の列(1・2・3)が用意されています。
テーブルビューで、並べ替えたい「部」の列を選択します。すると、リボンに「列ツール」タブが表示されますので、その中の「列で並べ替え」をクリックし、「部の並び順」を選択してください。
これで、「部」の列は、自身の文字列ではなく「部の並び順」の番号を基準に並ぶようになります。レポートビューで、部ごとの経費金額を縦棒グラフにしてみてください。X軸の並びが「営業部・開発部・総務部」の順になっていれば成功です。
なお、ビジュアルの右上の「…」(その他のオプション)からの「軸の並べ替え」は、あくまでそのビジュアルだけの設定です。「列で並べ替え」はデータモデル側の設定なので、どのビジュアルで使っても同じ順番で並びます。並び順のルールが決まっている項目は、データモデル側で設定しておくのがおすすめです。