22
6

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.

Microsoft Power BIAdvent Calendar 2022

Day 22

ExcelからPower BIへ!とりあえずやってみてドヤろう!

Last updated at Posted at 2022-12-21

はじめに

DX、市民開発、BI(ビジネスインテリジェンス)
もはや五月蠅いほど、こういったワードを聞くようになった世の中です。

このような中でPower BIが超お勧めなので紹介させてください!

ターゲット

  • Excelに強い方!
  • vlookup関数なら負けない!ユーザーズ!

Why Power BI??

端的に述べると超初心者Welcomeツールだからです!
Microsoft StoreもといMicrosoftのページで無料でダウンロード可能!

アドベントカレンダーで既に紹介されているかと思いますが、とにかく入りやすいんです!
まずカッコいいレポート作ってみませんか??

小声
BIはとにかく映えるんでウケが半端じゃないです!


ということでやってみよ~!!

ダミーデータをUserLocal様のサービスをもじって作りました。
とりあえず 「一人事担当がPower BIさわったら、え?あたし凄すぎぃ」 なラノベ風な感じで記事を書いてみます。

使いたい方はご自由にどうぞ


公開データをもとに人事データダッシュボードを作る!

私のターゲットはバックオフィス、事務部門で虎視眈々と出世の機会を狙っている方々です!
こんな感じでやると映える! といった私見でお伝えします!

データセットを作る

  1. まずはPower BI Desktopを開きましょう
    image.png

    「データを取得」からローカルのExcelファイルを選択します。
    image.png

    • 様々なデータに対応しています。ローカルのデータでなく、クラウド上の自動で更新されるデータであれば、BIのダッシュボードも自動で更新されていきます。
    • 今回はExcelで実施してみましょう
  2. Downloadフォルダの「data.xlsx」が対象です。
    image.png

    • データのソースは「テーブル」か「ワークシート」か自由に選択できます
    • データを読み込むと、 Power Query Editor が立ち上がり、データの整形が可能です。
  3. Power Query Editorで進められたステップに注目する
    image.png

    • よく見ると既に「適用したステップ」が見受けられますね。
    • Queryで適用されたアクションは下記のとおりです。
    Step 概要 説明
    ソース データの読み込み先を選択 どこのデータを参照しているか
    ナビゲーション 読み込んだデータの参照先を指定 複数のデータの中で何を参照するか
    昇格されたヘッダー数 ヘッダーを指定 読み込んだデータの一行目をヘッダーとして指定する
    変更された型 データ型の設定 各列のデータ型をここで指定します
  4. とりあえずこちらのデータを閉じて適用してみる
    image.png

閉じて適用をクリックするとデータが、Power BI上の要素として指定することが出来ました。

image.png


ダッシュボードをデザインするうえで

BIを作る!といっても

  • [デザイン] どのようなレポートがカッコいいのか
  • [内容] どのようなインサイトを得たいのか

さっと思いつくのは難しいと思います。何もないところから上記をイメージして作ることは確かに難しい。


例を見てみる

まずは楽しく学んでいく上で、Microsoftが出しているサンプルを一度見てみることを提案します
上記のlearnのページからサンプルをダウンロードしてみることが可能です。

  • 人工知能のサンプル
  • COVID-19 US サンプル
  • Power BI リリース計画レポート
  • お客様の収益性のサンプル
  • IT 支払い分析のサンプル
  • 人事のサンプル
  • 営業案件の分析のサンプル
  • 調達の分析のサンプル
  • 小売りの分析のサンプル
  • 売上およびマーケティングのサンプル
    • 売上およびマーケティングのサンプル テンプレート アプリ
  • サプライヤー クオリティ分析のサンプル
  • 財務サンプル ブックのダウンロード

人事のサンプルをダウンロードして見てみます。

人事のサンプルを見てみる

  • MicrosoftのPower BI Sample
    image.png

早速カッコいい画面が出てきました。
こうした出来上がったデータは

  • デザインのアイディア
  • どういった分析が有用なのか
  • データのリレーションズはどうなのか
    そういったことを自分のペースで確認することができます。

上記のレポートは、日付(月)に応じた「新規採用者数」「退職者数」の分析されています。


さてこの画面を参考に実際にレポートを作ってみます。

1. テキストボックスでタイトルを入れてみる

image.png
手始めにそれらしくタイトルを入れてみます。位置やサイズ、フォントといったプロパティは、サンプルと同一にしてみましょう。

2. 従業員数をカードで表現する

  • 視覚化で実現できるグラフ📊は多様です。
    image.png

  • カードはコチラのアイコンになります。
    image.png

  • プロパティを修正しながら作っていく

    • 文字の大きさ、タイトル名、丸み、サイズを変えて、ビジュアルを組み立てていきます。
      image.png

カードはスライサーと組み合わせると、ダイナミックに数字が表現される、Coolなビジュアルです。

3. 性別の円グラフを挿入する

  • Sampleを参考に作っていきます
  1. Sampleの情報を深堀するとレポート全体のテーマが指定されています。
    1. 合わせてみましょう。リボンの [表示] からテーマ設定ができます。
      クラシックに設定

image.png

それらしさが、Power Upしました!

4. 年齢別構成比を円グラフで表現してみる

  • 円グラフで「年齢構成比」をだしてみましょう
    image.png

  • ここで大切なのは 年齢層ってどうやって表現するんだろう?ということです。
    サンプルを見てみましょう。
    image.png

  • AgeGroupとEmployeeという二つのテーブルを組み合わせて表現されています。
    ここで リレーションシップ の考えが登場してきます。
    image.png

[Employee]というテーブルで年齢層を当て込み、[AgeGroup]というマスタで順序や定義付けをしているようです。
「1対n」の関係を作ると、ビジュアルを作った際の「名前」や「凡例の順序」などが、マスタとなるテーブルで定義することが可能です。
image.png

上記を参考に[AgeGroup]テーブルを作ってみましょう。こちらについては、Excelといった他の媒体からデータを読み込むのではなく、直接Power BI Desktop上で入力して作成してみます。

4. Power BI Desktopで直接テーブルを作ってみる

ex)

AgeGroupID AgeGroup
1 <30
2 30-39
3 40-49
4 50-59
5 60+

テーブルの作成は、[データの入力]で実行することが出来ます。
image.png

直接入力で作った例です。Excelから直接データをペーストして作ることもできるので 静的なデータテーブルは、
こうした形でテーブルを作るとラクになります。
image.png

5. [data]テーブルに[AgeGroupID列]を作る

さて、ここで[data]テーブルと[AgeGroup]テーブルを紐づけるには[data]テーブルにも[AgeGroup]列が必要になります。
Power Query Editorでつくることもできますが、DAX関数にも触れてみましょう。

Data Analysis Expressions (DAX) は Analysis Services、Power BI、および Excel の Power Pivot で使用される数式表現言語です。 DAX の数式には、表形式データ モデルの関連テーブルと列のデータで高度な計算やクエリを実行するための関数、演算子、値が含まれます。

image.png

[データ]の[新しい列]より、Excelの関数に似通った方法で計算列を作成することができます。

警告
奥が深い列でExcel関数イコールではないのでご注意ください

IF関数のネストですが、AgeGroupIDを求める計算式のサンプルはこちらです。

AgeGroupID = IF(data[Age] < 30, 1 ,
                IF(data[Age] <= 39, 2, 
                    IF(data[Age] <= 49, 3,
                        IF(data[Age] <= 59, 4, 5)
                    )
                )
            )

このように関数を設定し、列を作成することができます。
出来上がったID列でリレーションシップを組んでみましょう。

image.png

ドラッグアンドドロップでリレーションシップを構築します。

この状態でビジュアルを作ってみます。
image.png
image.png

年齢層別にデータはできましたが順序が、どうやら人数の多い順に定義されています。
これを修正するためには、[AgeGroup]テーブルで、下記の作業が必要です。

AgeGroupの並び順をAgeGroupID順に設定する

image.png

このマスタにより、年齢層の並び順が定義できます。
逆にこれをしないと、文字列での並び順で評価されるため、欲する見方でグラフを見ることができません。

image.png

こうした[元データ]と[マスタ]の関係を紡いでいくことがPower BIでは非常に重要になります。

組み方を考えるコツはVlookup関数でイメージしていただければわかりやすいかと思います。

[検索キーとなる元データ]から[一意のIDに対する文字列を返す]

必要なことは1対Nの関係を丁寧に紡いでいくことです。
これにより、DBにちりばめられたデータをつないでインサイトを得ることができます。

マスタを細分化していくことは少し大変ですが正確なビジュアル、欲しいインサイトを得るためには必要なプロセスです。
是非頑張って進めてみましょう。

さて、この記事は導入編という立ち位置で考えていますので、残りの部分は割愛します。
ひとまずあるデータで作ってみたダッシュボードは下記のとおりです。


最終的に作ってみたPower BI Dashboardがこちら

image.png

とりあえずビジュアル📊を詰めてみた結果です。
「どういったインサイトを得たいのか」 によってダッシュボードの作り方は変わってきます。
このデータでは従業員の分布くらいの要素しか分析ができません。

しかしPower BIはとにかく簡単に映えます。
目的に対し、Excelで培ったノウハウをさらに活かすうえで強力なツールです。

Vlookup関数というキーワードから始めてみるBIということで、作成してみましたが、興味のある方は書籍やUdemyから是非Power BIについて学んでみていただければ幸いです。

おすすめの学習法


Viva! Power BI!!
素晴らしいデータ分析ライフを!では!

22
6
2

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
22
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?