Power BIで出来ること!初心者でも出来るデータ作成手順をご紹介
#Power BI #Power Queryエディター #出来ること #初心者
目次
みなさんは、Microsoftが出しているPower BIというBIツールは利用されていますか?
「これから触ってみようかな?」という方や、「聞いたことはあるけど、実際に使ったことはないかなぁ。」という方、「使ってみたいけど、どんな時に使えるのかイマイチイメージがわかないなぁ。」という方も多いのかと思います。
そこで、今回は、Power BI初心者の方向けに、Power BIではこんなことができますよ!という使用例をご紹介させて頂きます。
※すでに、ガツガツと使用されている方には、物足りない内容になるかと思います。ご理解の上、読み進めて頂けると幸いです。
Power BI作成のためデータを準備
こちらは、当社が提供させていただております病床機能報告データを利用し作成した、神奈川県の二次医療圏別の小児関連科のある病院数と15歳未満の人口を比較した、折れ線グラフおよび集合縦棒グラフと、マトリックスのレポートとなります。左側に、スライサー(任意で操作できるフィルターのこと)を表示し、年代を選択できるようにしております。
これにより、小児関連科のある病院の数と、15歳未満の人口の相関性が分かります。また、年代も任意のものを選べるので、移り変わりも分かるようになっています。 このレポートは、「各病院ごとに何科の診療機関があるのか」というデータと、「〇〇町は〇〇〇〇年の時、人口が何人だったのか」というデータが組み合わさってできています。
ここでは、このPower BIレポートを作成することを目的に、複数回にわたってレポートの作成方法をご紹介させて頂きます。
最後までチェックしてみてくださいね!
Power BI作成のためデータを準備①:抽出用クエリを作成する
まず最初に、Power Queryエディターを活用して、Power BI作成のためデータを準備します。Power Queryエディターというのは、データの変換や整形を行うためのツールです。今回は次回以降Power BIでデータを可視化していくための準備段階となります。
ここで使用するデータは、当社で提供させていただております病床機能報告データを使用します。
病床機能報告データと、人口数のデータは、すでにPower BIに取り込んである状態です。
マスターデータは分析に適さない状態を事例として使用していますので、以下で修正の方法を示していきます。
はじめになぜ、修正していく必要があるかを3点記述してみます。
1.PowerBIで1列のデータを修正して分けていきますが、その狙いは次の通りです。
⇒分析(絞り込み)を行うときに各項目を分ける必要があるから。
2.ピボット解除の理由
⇒診療科のレベルを1列のデータとして格納する必要があるから
3.名前の変更について
⇒必須ではなく、後々絞り込みを行う上で識別しづらいから
まず、BIツールで分析するためのマスターデータ(絞り込み用のデータ)は次のような構造で登録されている必要があります。
データ例)
医療機関番号 | 医療機関名称 | 略式名称 | 診療科コード | 診療科名 |
---|---|---|---|---|
0001 | ~会~~病院 | ~~病院 | 001 | 小児科 |
0001 | ~会~~病院 | ~~病院 | 002 | 内科 |
0002 | ~市立~~病院 | ~~病院 | 001 | 小児科 |
では、Power Queryエディターを開き、データの加工を行っていきます。
まず、病院の詳細情報を持っている「Hospital_Master_sample」から、小児関連科を持っている病院を抽出するために使用する、「Hospital_Master_department」を新たに作製します。
「Hospital_Master_sample」は、病院ごとに1つのコードが割り振られたデータとなっており、各行に1病院、各列に項目を持ったデータとなっております。
作成方法は、「Hospital_Master_sample」を選択し、右クリック、参照からコピーを作成します。
作成されたクエリ名は、「Hospital_Master_sample (2)」となっているので、クエリの設定にあるプロパティから名前を「Hospital_Master_department」に変更します。
この「Hospital_Master_department」の中にある「診療科名」から、小児関連科のある病院を抽出していくことになりますが、ここでは使用しないデータが含まれている為、不要な列を削除しておきましょう。
Power BI作成のためデータを準備②:列を削除する
列の削除は、いたって簡単です。
削除したい列を範囲選択した状態で、Excel等のoffice製品と同様、画面上部にあるリボンの中から、ホームタブを選び、列の削除を選択するだけです。削除したい列を選択し、右クリック→「削除」からでも可能です。
これで、列の削除が完了です。
それでは、使いやすいように加工できたところで、早速「診療科名」を見てみましょう。
診療科名は、1セル内に、「内」、「外」、「呼」等、複数の診療科情報が格納されてしまっていることが分かります。
Excel等を良く使われる方は、お気づきになるかもしれませんが、これでは、データを集計する上で、非常に扱いにくいデータとなってしまっております。
そこで、次は、診療科名列の中身を1つの診療科情報に分解していきましょう。
Power BI作成のためデータを準備③:不要な文字を削除する
今回は、文字の置換という機能を利用して、列内にある不要な文字を削除していきます。
文字の変換機能は本来特定の文字列を別の文字列へ置き換えることに使用します。例えば、元々のデータにおいては省略されて格納されていたデータを省略前に戻すことで認識しやすくすることができます。具体例を上げると、元々のデータで内科は「内」と表記されていますが、、それを全て「内科」の表記に戻すことで分かりやすくなります。この機能を応用して、今回はセルの中に特定の文字が存在した場合、それを空白と置き換えることでその文字を削除します。
ここでは、セル内に「・」、「【】」などが含まれている為、その文字を削除します。
画面上部にあるリボンの、変換タブの中から、値の置換を選択し、該当の文字を削除していきます。
これで、不要な文字は削除され、スペースで区切られた文字列に変換されました。
Power BI作成のためデータを準備④:列を分割する
次に、列内の情報を分割し、1セルの中に、1つの情報のみを持つように変更していきます。
先ほどと同様に、画面上部にあるリボンの中にある、変換タブの中から、列の分割をクリックし、区切り記号による列の分割を選択します。
区切り記号にスペースを選択し、スペース毎に文字列を分割し、分割した分、新たに列を追加します。
これで、スペースで区切られて格納されていた診療科名が、各列に診療科名1、診療科名2、診療科名3・・・という形で分割され、各診療科名のセルに1つの情報のみが格納された状態に変更することが出来ました。
これで、当初の目的は達成されました。
しかし、疑問が残ります。これでは、同じ診療科という項目が、複数列作成されてしまっている状態です。果たしてこれで良いのでしょうか?
そうです。このままでは、データとして扱いにくい状態となってしまっております。確かに、分割はされましたが、これでは、この後に待つデータの集計作業に支障が生じてしまいそうです。(Power BIは、グラフなどを作成し、データを視覚化していくツールですが、その視覚化は主に、データの集計値を視覚化しています。)
そのため、同じ属性の項目(ここでは、診療科という項目)が、複数列存在してしまうと、その集計が正しく行うことが困難になってしまいます。そこで、複数列に存在している同じ属性項目を、一つの属性列にまとめ、Power BIで処理しやすい状態に加工していきます。
Power BI作成のためデータを準備⑤:列のピボット解除をする
ここで登場するのが、列のピボット解除という機能になります。
この機能は、名前からも分かる通り、Excelにあるピボットテーブルをイメージして頂ければ、比較的イメージしやすいのかなと思います。
Excelのピボットテーブルでは、元となる表データの集計結果を、表示してくれる機能となりますが、Power BIの列のピボット解除では、範囲選択した複数列の項目名を使用して、属性という名前の列を作成し格納します。また、その値を、値という名前の列を作成し、そこに挿入してくれる機能となります。
ちょっとわかりにくいので、実際に見てみましょう。まず、ピボット解除したい列を範囲指定します。ここでは、診療科名全てを範囲指定した状態で、列のピボット解除を選択します。
すると、以下のような形でデータが作成されます。↑↓の画像を見比べて頂けるとお分かりになるかと思いますが、↑の画像では、診療科名という項目が複数列作成されておりますが、列のピボット解除を行った後の↓の画像をご覧いただくと、新たに属性、値という列が作成されています。
その属性という列には、↑では、複数列に作成されていた診療科名1、診療科名2・・・がまとめられ、値という列には、診療科名1、診療科名2・・・で、それぞれに格納されていた値(「内」、「外」、「呼」等)が格納しなおされています。
つまり、Excelでいうところのピボットテーブルを作成する前のデータに戻してくれたようなイメージです。
これで、集計もできるスッキリとしたデータに加工ができました。
あとは、最初に記載した方法で、不要な属性列を削除し、値の項目名を診療科名に変更することで、データの完成となります。
Power BI作成のためデータを準備⑥:列の名前を変更する
では、最後に列の名前変更です。
列の変更方法も、文字の置換などと同様に、リボン内にある変換タブ内から行うことが出来ます。
名前の変更という項目があるので、そちらをクリックすると選択している列の名前が変更出来るようになります。 名前を変更したい列の名前を右クリックし、「名前の変更」からも変更することが可能です。
以上で、抽出用クエリの作成が完了となります。
このような形で、Power BIにあるPower Queryエディターを利用することで、取込んだデータの加工を行うことが可能です。
今回は、まずPower Queryエディターを使用して、データを準備していくことをメインにお届けしました。
終わりに
次回は、作成したクエリをもとに、DAX(Data Analysis Expressions)関数を使用してレポートを作成していきたいと思います。
詳しくは次回以降で触れますが、DAX関数というのは、データ分析とレポート作成のための式言語です。エクセルでいうところの関数のようなものです。これによって数あるデータを任意の形で集計したりすることができるようになります。
尚、今回のブログで使用しているデータを利用して、より複雑な表現をしている分析レポートも公開しております。
ご興味のある方は、そちらもご覧いただけると幸いです。
とはいえ、もっと詳しいことを聞いてみたい方もいらっしゃるかと思います。
弊社ではそういったご相談に対しても対応が可能ですので、是非お気軽にお問い合わせください。
<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら
<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら
<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら