1. はじめに
1-1 ご挨拶
初めまして、井村と申します。
表題の通り、今までPower BIをぼんやりと把握して資格試験前にドキュメントを閲覧する程度でした。
今回はしっかりMSLearnを読み込んで演習を行うまでを備忘録として残します。
1-2 MSLearnの紹介
今回は「データ視覚化の基礎について探索する」を使います。
こちらは「Microsoft 認定: Azure Data Fundamentals」のラーニングパスである「Azure での Microsoft Azure データ分析の概要」内の1つのモジュールです。
2. MSLearnの要約
-
データモデリングとビジュアライゼーション(視覚化)の重要性
- ビジネスインテリジェンス(BI)ワークロードの中心であり、大規模なデータ分析ソリューションをサポートします。
- 組織の成功に役立つレポートと意思決定を支援します。
[!NOTE] ビジネスインテリジェンス(BI)とは、企業が意思決定を行うために必要な情報を収集、分析、可視化するプロセスや手法のことです。BIを活用することで、企業はデータから有用な知見を得て、ビジネス戦略の改善や新たなビジネスチャンスの発見に役立てることができます。
[!NOTE] データモデリングとは、企業内に蓄積されたデータの構造や関係性を整理し、図やモデルで表現する設計手法です。具体的には、顧客情報、購買履歴、商品データなど、バラバラに存在するデータがどのように関連しているかを明確にし、効率的なデータベースの設計や活用につなげていきます
- Power BI のツールとワークフロー
データアナリストがデータを探索し、分析情報を視覚化するためのツールには、以下のようなものがあります。
- Microsoft Excel: 生産性向上ツールで、グラフのサポートが充実しています。
- Azure Synapse AnalyticsおよびAzure Databricks: 実行中のデータの探索に使用されるノートブック上に組み込まれるデータ視覚化ウィジェットです。
しかし、エンタープライズ規模のビジネス分析では、以下のような統合ソリューションが必要です。
- 複雑なデータモデリング
- 対話型のレポート
- セキュリティで保護された共有のサポート
これらをサポートするために、 Microsoft Power BI のようなツールが使用されます。
-
Microsoft Power BI Desktop
- Power BI Desktopは、Windowsアプリケーションであり、さまざまなデータソースからデータをインポートし、データモデルを作成してレポートを作成するためのツールです。
- データの整理、インタラクティブ(対話型)の視覚化、レポート作成が可能です。
-
Power BI サービス
- クラウドベースのサービスで、Power BI Desktopで作成したレポートやデータモデルをパブリッシュし、共有するために使用されます。
- Webブラウザーを使用して基本的なデータモデリングやレポート編集が可能ですが、機能はPower BI Desktopに比べて制限されています。
- レポートの更新スケジュール設定や他のユーザーとの共有が可能です。
-
Power BI Phone app
- モバイルデバイスからPower BIのレポートやダッシュボードにアクセスするためのアプリです。
- どこからでもデータにアクセスし、ビジネスインサイトを得ることができます。
-
データ モデリングの主要概念について
-
データモデリングの基本
- 分析モデル: データを構造化し、分析やレポートの対象となる数値(メジャー)と、それらを集計するエンティティ(ディメンション)を定義します。
- キューブ構造: ディメンションが交差するポイントでメジャーを集計する多次元構造を形成します。
以下の分析モデルですと、売上 (収益や数量など) の数値メジャーと、製品(wrenches)、顧客(Samir)、時間(January)のディメンションを含むテーブルが含まれます。 これにより、1 つ以上のディメンションにわたって売上メジャーを集計できます。
- テーブルとスキーマ
- ディメンションテーブル: 数値メジャーを集計するエンティティ(例:製品、顧客)を表します。
- ファクトテーブル: 数値メジャーが関連付けられたイベントを記録します。スター・スキーマやスノーフレーク・スキーマが使用されます。
[!NOTE]
- スター・スキーマは、中心にファクトテーブルがあり、その周囲にディメンションテーブルが配置されるシンプルな構造です。
- スノーフレーク・スキーマは、ディメンションテーブルがさらに正規化され、複数の関連テーブルに分割される複雑な構造です。
- メリット:データの冗長性が減り、データベースの効率が向上します。
- デメリット:クエリが複雑になることがあります。
- 属性階層(Attribute hierarchies)
- 階層の作成とは:ディメンション内の異なるレベルで集計された値をドリルアップやドリルダウンするための階層を作成します。
例としては Product テーブルでは、各カテゴリに複数の製品名が含まれる階層を形成できます。 同様に、Customer テーブルでは、各都市の顧客名を表す階層を形成できます。 最後に、Time テーブルで、年、月、日の階層を形成できます。
- 階層の作成とは:ディメンション内の異なるレベルで集計された値をドリルアップやドリルダウンするための階層を作成します。
- Microsoft Power BI での分析モデリング
データモデリングインターフェイスを使用して、ファクトおよびディメンションテーブル間のリレーションシップの作成、階層の定義、フィールドのデータ型と表示形式の設定などが行えます。
3. 演習スタート
演習 - Power BI を使用してデータ視覚化の基礎を調べる
上記URLから演習を開始できます。
3-1 Power BI Desktop をインストールする
1 . power-bi-desktopから Power BI Desktop インストーラーをダウンロードします。
2 . ファイルのダウンロードが完了したら、ファイルを開き、セットアップ ウィザードを使用してコンピューターに Power BI Desktop をインストールします。
3-2 データのインポート
1 . デスクトップ上に作成されたショートカットの [Power BI Desktop] から起動します。
2 . 起動後、[他のソースからデータを取得する]をクリックします。
3 . [接続]をクリックします。
4 . [Webから]ダイアログボックスのURLに以下URLを入力します。入力後、[OK]をクリックします。
https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals/raw/master/power-bi/customers.csv
5 . [Webコンテンツへのアクセス]ダイアログボックスで[接続]をクリックします。
6 . URLにより、顧客データを含むデータセットが開くことを確認します。 次に、[読み込み] を選択して、レポートのデータ モデルにデータを読み込みます。
7 . メインの Power BI Desktop ウィンドウの [ホーム] タブから、 [データを取得] 、 [Web] の順に選択します。
8 . [Webから]ダイアログボックスのURLに以下URLを入力します。入力後、[OK]をクリックします。
https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals/raw/master/power-bi/products.csv
9 . ダイアログで、 [読み込み] を選択して、このファイル内の製品データをデータ モデルに読み込みます。
10 . 同様の手順を行い、次の URL から注文データを含む 3 番目のデータセットをインポートします。
https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals/raw/master/power-bi/orders.csv
3-3 データ モデルを探索する
インポートした 3 つのデータ テーブルがデータ モデルに読み込まれたため、今度はこれを探索して検索条件を絞ります。
1 . Power BI Desktop の左側の端で、 [モデル ビュー] タブを選択します。
2 . 右側のペインで>>アイコンをクリックし、[orders] テーブルで、[Revenue] フィールドを選択します。
3 . [プロパティ] ペインで、[Format] (書式) プロパティを [Currency] (通貨) に設定します。
この手順により、収益の値がレポートの視覚化より通貨形式で表示されます。
4 . [products] テーブルで、[Category] フィールドの[・・・]をクリックし、 [階層の作成] を選択します。
5 . この手順によって、[Category 階層]という名前の階層が作成されます。
6 . [products] テーブルで、[ProductName] フィールドの[・・・]をクリックし、 [階層に追加] > [Category 階層] を選択します。
7 . 前に作成した階層に [ProductName] フィールドが追加されます。
8 . 右側ペインより、[Category 階層] の[・・・]をクリックし、[名前の変更] を選択します。
9 . [Categorized Product] に変更します。
10 . 左端にある [テーブル ビュー] タブを選択します。
11 . [データ] ペインで [customers] テーブルを選択します。
12 . [City] 列ヘッダーを選択します。
13 . [データ カテゴリ] プロパティを [市区町村] に設定します。
この手順により、この列の値が市区町村名として解釈されるようになり、マップの視覚化を含める場合に役立てることができます。
3-4 レポートを作成する
これでレポートを作成する準備がほぼ完了しました。 まず、いくつかの設定を確認して、すべての視覚化が有効になっていることを確認する必要があります。
1 . [ファイル] メニューを選択します。
2 . [オプションと設定] をクリックします。
3 . [オプション]をクリックします。
4 . [セキュリティ] セクションで、[地図と塗り分け地図の画像を使用する] が有効にし、[OK] を選択します。
[WARN]
設定後、Power BIを保存し、Power BIの再起動をおすすめします。このあと、手順を進めて地図の視覚化を行いますが、私の場合は反映されませんでした。おそらく設定後に再起動が必要だと思われます。
5 . 左端にある [レポート ビュー] タブを選択し、レポート デザイン インターフェイスを表示します。
6 . レポート デザイン画面の上にあるリボンで [テキスト ボックス] を選択します。
7 . 「Sales Report」というテキストを含むテキスト ボックスをレポートに追加します。 テキストの書式を設定して、フォントサイズを 32 にして太字にします。
8 . レポート上の空の領域を選択して、テキスト ボックスを選択解除します。 次に、 [データ] ペインで [products] を展開し、 [Categorized Products] フィールドを選択します。 この手順により、テーブルがレポートに追加されます。
9 . テーブルを選択したまま、 [データ] ペインで [orders] を展開し、 [Revenue] を選択します。 テーブルに Revenue 列が追加されます。 テーブルを表示するため、サイズを拡大します。
[!NOTE]
収益は、モデルで指定したとおりに通貨として書式設定されます。 ただし、小数点以下の桁数を指定していないので、値には小数部が含まれます。今回の演習で行いませんが、 [モデル] タブまたは [データ] タブに戻って小数点以下の桁数を変更することもできます。
10 . テーブルを選択したまま、[視覚化] ウィンドウで、[積み上げ縦棒グラフ] の視覚化を選択します。
11 . テーブルが、カテゴリ別の収益を示す縦棒グラフに変更されます。
12 . 選択した縦棒グラフの上にある [↓] アイコンを選択して、ドリルダウンをオンにします。
13 . 次に、グラフで [階層内で1レベル下をすべて展開します]を選択します。この操作により、カテゴリ内の各製品の収益を確認できます。
14 . 個々の製品の収益を確認することができました。この機能は、カテゴリと製品の階層を定義したため使用できます。
15 . [↑] アイコンを使用して、カテゴリ レベルにドリルアップして戻ります。 次に、 ( [↓] ) アイコンを選択して、ドリルダウン機能をオフにします。
16 . レポートの空白の領域を選択し、 [データ] ペインで、 [orders] テーブルの [Quantity] フィールドと [products] テーブルの [Category] フィールドを選択します。 この手順により、製品カテゴリ別の売上数量を示す別の縦棒グラフが表示されます。
17 . 新しい縦棒グラフを選択した状態で、[視覚化] ウィンドウの [円グラフ] を選択し、円グラフに変更されることを確認します。
18 . グラフのサイズを変更して、カテゴリ別の収益の縦棒グラフの横に配置します。
※このタイミングで、各グラフの位置を調整します。
- レポートの空白の領域を選択し、 [データ] ペインで、 [customers] テーブルの [City] フィールドと [orders] テーブルの [Revenue] フィールドを選択します。 これにより、都市別の売上高を示すマップが作成されますが、私の場合以下ポップアップが表示されました。
20 . 一度Power BIを再起動するため保存します。保存後、Power BIの再起動を実施します。
21 . 正常に都市別の売上高を示すマップを確認することができました。
22 . マップでは、ドラッグ、ダブルクリック、マウスホイールの使用、またはタッチスクリーン上でのピンチやドラッグを行って対話することができます。 次に、特定の都市を選択すると、レポート内の他の視覚化が変更されて、選択された都市のデータが強調表示されるのがわかります。
以上で演習は完了です。ご覧いただきありがとうございました。