0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power BIを使ったはじめてのデータ分析

Last updated at Posted at 2023-05-05

はじめに

システムに入っているデータを分析して報告資料を作りたい!!できればリアルタイムに最新情報を把握したい!!でもシステムには思ったような状態のデータがないし、必要なデータをシステムから大量に出力して、エクセルに張り付けて加工して、、分析して、、きれいに整頓して、、とてもではないが大変すぎて毎回はできない!!そんなシーンは誰もが考えたと思います。

こんな時に役立つツールがTableauやPower BIと呼ばれるデータ分析用のツールです。
BIツールを使うことでシステム側の改修を依頼しなくとも、必要なデータの収集・加工・分析が可能となります。

今回はそんなツールの中でも、無料版のあるマイクロソフト社の提供するPower BIについてご紹介します。

尚、レポートの共有/公開まで実施したい場合は、Microsoft 365アカウントが必要となります。

データ分析ってどうやるの?

データ分析は大まかに3ステップで進めます。

  1. 必要なデータの決定とPower BIへの取り込み
  2. 分析を目的としたデータ加工
  3. 加工したデータをもとに可視化する(レポート作成)
    image.png

実際にやってみる

ここから実際にやってみながら説明します

ステップ1. データ選定・取り込み

image.png

まずは分析対象データを決めます。データの決め方は目的から決めていくことになると思いますが、今回はどこにでもある人事情報と売上の相関を確認したいとします。
システムからは以下のデータを個別に取得できるとします。

  • 各所属の月次売上
  • 社員台帳
  • 資格取得状況
  • 異動履歴
  • 組織一覧
  • 役職と原価の一覧

テストデータはこちらから取得してください。

ホームタブ>データを取得>テキスト/CSVを選択して必要なファイルを取込できます。

image.png

image.png

取込できたデータは右のデータ欄に表示されます。
image.png

今回はCSVというテキストファイルですが、ExcelやSharePointのファイル、データベースからも取込できます。

ステップ2. 分析用データの設計と加工

image.png

Power BIへの読み込みができましたら、分析用にデータを加工します。
分析用データを作成するためには、分析対象と分析尺度を必要があります。分析対象と分析尺度を整理しておくことで、後々に共通の尺度で複数の対象を比較しながら分析することが可能となります。分析対象や分析尺度の抽出・設計する際の考え方はスタースキーマという考え方に基づいてモデル化(抽象化)していく事が基本となります。スタースキーマについてはこちらの記事が参考になります。

今回は分析対象を三つ、分析尺度3つとし、これら作成していきます。
<分析対象>

  • 売上
  • 人件費(役職に基づく簡易版)
  • スキル情報

<分析尺度>

  • 年月
  • 社員情報
  • 組織情報

image.png

0. クエリの編集を開く

データの編集を行うためには、事前準備としてクエリの編集画面を開く必要があります。
クエリの編集画面はデータ欄より、右クリック>クエリの編集で開くことができます。
image.png

1. 売上ファクタ

売上情報は特に加工の必要はありません。分析対象テーブルであることが分かるように名前だけ変更しておきます(右クリック>名前の変更から変えられるので)

image.png

2. マスタテーブル

社員情報と組織情報は特に構成を変更する必要はありません。こちらも名前だけ変更しておきましょう。年月だけは取込情報にありませんので別途作成が必要となります。
ちょうど売上情報に年月情報があるのでこちらを参照コピーして年月マスタを作成します。

複製にあたっては、対象クエリを右クリック>参照を押すことでコピーできます(複製:加工ステップごとコピーする。参照:加工後の結果を呼び出すのみ)
image.png

コピーした売上ファクタを年月マスタに名前を変更しておきます。その後、「年月」列を選択して右クリック、他の列を削除することで「年月」列のみが残ります。
image.png

その後、重複の削除を行うことで年月マスタが出来上がります。
image.png

ちなみに加工内容は画面右の適用したステップに記憶されるので後から変更が可能です。
image.png

3. 人件費ファクタ

人件費ファクタは、年月、所属、役職単位の人件費データを指しています。そのため必要な情報は役職ごとの原価と各年月時点の在籍者情報となります。これらは先ほど作成した年月マスタをベースに異動履歴と役職一覧をマージすることで作成することができます。

まずは年月マスタを参照コピーして人件費ファクタと名前を変更しておきます。
次に列の追加>カスタム列の追加から、異動履歴テーブルを追加します。
image.png

こうすることで、年月1行ごとに異動履歴テーブル結合されます。
image.png

結合された異動履歴テーブルを展開すると、年月行数×異動履歴行数のデータが作成されます。
image.png

image.png

作成されたテーブルから年月時点で有効な異動情報のみになるよう絞り込みします(既成手順ではできないため、ちょっと複雑な手順になります。。。。)

まずは、年月で適当に絞り込みを行います。
image.png

でき上った関数について以下のように直接修正します。

(修正前)

= Table.SelectRows(#"展開された カスタム", each ([年月] <> #date(2000, 4, 1)))

(修正後)

= Table.SelectRows(#"展開された カスタム", each ([年月] >= [#"異動・発令日"] and ([年月] < [終了日] or [終了日] = null)))

image.png

次に、役職をキーに役職一覧をマージし、役職ごとの原価情報を取得します(ホーム>クエリのマージ)。
image.png

image.png

image.png

最後に年月、配属先、社員id、月給以外の列を削除して完了です。
image.png

4. スキルファクタ

人件費ファクタは参照コピーしてスキルファクタを作成します。月給列を削除したのち、人件費ファクタと同じ要領で資格履歴を社員idをキーにしてマージし、年月>=資格取得日でフィルタします。最後に不要な列を削除して完了です。

5. 編集結果の反映

ホーム>閉じて適用をクリックすることで編集結果を元画面に反映できます。
image.png

ステップ3. リレーションの設定とレポート作成

image.png

1. リレーションの設定

分析対象テーブルと分析尺度テーブルの準備が完成しましたら、いよいよ分析の準備に入ります。
分析するためには、モデルビュー画面より分析対象と分析尺度を結び付けます。
image.png

結び付けたい項目を選択して、結び付け先の項目までドラッグすることで結び付けができます。
image.png

想定していたモデルの通りに全ての結び付けを行います。
image.png

image.png

2.レポートの作成

レポートビューに戻り、グラフを作成します。例えば、年月マスタのX軸に配置し、売上ファクタの売上と人件費ファクタの月給をそれぞれY軸に配置することでX軸を共有したうえで売上と人件費の推移を比較することができます。
image.png

このように設定した分析対象を様々な尺度で比較することができます。図のようにタイムラインを用意することも可能です。
image.png

レポートを発行し、Power BIサービスに掲載して共有する場合はMicroSoftアカウントが必要となります。
image.png

おわりに

いかがでしたでしょうか。設定を変えることで様々な尺度でデータを比較することができますし、分析データを継続利用することも容易です。また設定次第ではリアルタイムに更新されるデータを共有することもできますので是非試してみてください!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?