目次
1. はじめに
皆さんこんにちは。
今回からMicrosoft Fabricについての連載ブログを始めていきます。
全 5 回を予定しています。第2回ではPower BI ユーザー向け Fabric チュートリアルについて説明いたします。
第1回:Microsoft Fabric 概要と試用版の作成方法
第2回:Power BI ユーザー向け Fabric チュートリアル (今回)
第3回:Data Factory ユーザー向け Fabric チュートリアル
第4回:Synapse Data Engineering ユーザー向け Fabric チュートリアル_第1回
第5回:Synapse Data Engineering ユーザー向け Fabric チュートリアル_第2回
前回のブログで、Microsoft Fabric の概要について説明しました。今回は、Microsoft Fabric のPower BI の使用方法を簡単に説明していきます。
Dataflows Gen2 とパイプラインを使用し、レイクハウスにデータを取込んで、ディメンショナル モデルを作成します。 次は、レポートを自動的に生成してデータセットから売上高を表示します。
・データを準備してレイクハウスに読み込む
・レイクハウスでディメンショナル モデルを構築する
・簡易作成でレポートを自動的に作成する
2. 前提要件
実施する際の前提条件は以下の通りです。
・開始する前に、組織に対して Fabric を有効にする必要があります。
・まだサインアップしていない場合は、無料試用版にサインアップしてください。
・新しいワークスペースを作成し、Fabric 容量を割り当てます。
既存のワークスペースを利用することもできますが、初心者向けにわかりやすい非運用ワークスペースを使用することをおすすめします。
・Contoso データのサンプル クエリを含む Power Query テンプレート ファイルをダウンロードします。
3. Power BI の概要
Power BI は、ソフトウェアサービス、アプリケーション、およびコネクタのコレクションを組み合わせることで、関連性のないデータソースから豊富な対話型の分析情報を得ることができます。Excel スプレッドシート、クラウドベースのハイブリッドデータウェアハウス、およびオンプレミスのデータ ウェアハウスのコレクションなど、さまざまなデータを活用できます。Power BI を使用すると、データソースへの接続、重要な情報を可視化し、必要なユーザーと共有を簡単に実行できます。
4. データを格納するレイクハウスを作成する
データを格納するレイクハウス、列を準備・変換する Dataflows Gen2、スケジュールされた更新とメール アクティビティのオーケストレーションを処理するパイプラインを作成します。
① ワークスペースに移動し、「新しい項目」 を選択します。 次に、「すべての項目」 を選択します。
②「すべての項目」 新しい項目の作成画面で、「データの保管」 カテゴリの 「レイクハウス」 を選択します。
③ 新しいレイクハウスに SalesLakeHouse1 という名前を付けます。
④ レイクハウス の画面で 「データ フロー Gen2」 を選択します。
5. データを準備してレイクハウスに読み込む
5-1.データを準備する
レイクハウスにデータを読み込むために、次の手順を実行します。
① Dataflows Gen2 の Power Query Online エディターの画面で、「Power Query テンプレートからインポートする」 →「前提条件」でダウンロードしたテンプレート ファイルを選択します。
②「Data Load」 で DimDate クエリ → 「接続の構成」 を選択します。 必要に応じて、「接続」 を選択する前に、認証の種類を 「匿名」 に設定します。
③ DateKey 列のデータ型を「日付/時刻」に変更します。
④「現在のものを置換」 をクリックします。
5-2.データ格納先を追加する
① データ格納先を確認します。
更新方法を変更します。
② 既定のデータ変換先をクリックします。次に「削除」を選択します
デフォルトの宛先を削除した後、「データ同期先の追加」をクリックして新しいレイクハウス宛先を作成します。
③「次へ」 をクリックします。
④ 作成された「SalesLakeHouse1」を選択して 「次へ」 をクリックします。
⑤「自動設定を利用する」オプションを無効にして、「更新方法」 を 「置換」 に設定し、「設定の保存」 をクリックします。
同じ手順を実行して、次の各クエリをレイクハウスをに保存します。
クエリ |
DimCustomer |
DimEmployee |
DimProduct |
DimStore |
「FactOnlineSales」クエリに対して、同様な手順を実行しますが、更新方法 は「アペンドする」を選択します。
⑥「公開」 を選択してデータフローを保存し、Power Query Online エディターを終了します。
⑦ データフロー名を「OnlineSalesDataflow」に変更します。
5-3.データ パイプラインを調整する
パイプラインを使用して、作成されたデータ フローを実行します。 エラーの場合は、Outlook メールを送信します。
① 作成されたレイクハウスを選択します。
②「新しいデータパイプライン」 を選択します。
③ パイプライン名を「SalesPipeline」に設定して、 「作成」 をクリックします。
④「データのコピーを取り消しますか?」ダイアログで「 はい、キャンセルします」をクリックします。
⑤ エディターの画面で 「パイプラインアクティビティ」 → 「データフロー」 を選択します。
⑥「全般」 タブでアクティビティ名を「OnlineSalesActivity」に変更します。
⑦ データフロー アクティビティを選択したまま、「設定」 タブで「データフロー」 の一覧から 「OnlineSalesDataflow」 を選択します。 必要に応じて、「最新の情報に更新」 アイコンを選択します。
⑧「アクティビティ」 タブで「Office365 Outlook (プレビュー)」 アクティビティを選択します。
注意: 「同意する」 ウィンドウが表示されたら、「OK」 を選択して、組織のアカウントでサインインし、「アクセスを許可」 を選択します。
⑨「Office365 Outlook」 アクティビティを選択したまま、アクティビティ名を「Mailonfailure」に変更します。
⑩ Office365 Outlook アクティビティを選択したまま、「設定」タブに情報を入力します。
⑪ ポップアップの選択肢から情報を取得できますが、分かりやすくなるために、ソースコードを提供します。以下のコードをパイプライン式ビルダーにコピーペーストします。
1 |
@concat('Pipeline: ', pipeline().Pipeline, '<br>', 'Workspace: ', pipeline().DataFactory, '<br>', 'Time: ', utcnow()) |
⑫「OnlineSalesActivity」 アクティビティの 「X」 (失敗時) を選択したまま、 「Office365 Outlook」アクティビティと矢印で接続します。
「ホーム」 タブでパイプラインの 「スケジュール」 を設定できます。
⑬ パイプラインを保存して、「実行」ボタンをクリックします。
「Output」ダイアログでパイプライン実行の進捗状況を監視できます。Outputは自動でリフレッシュされますが、必要に応じて手動でリフレッシュします。
状態が 「成功」 を返しました。
6. レイクハウスでセマンティック モデルを作成する
6-1.リレーションシップの作成
ビジネスの構造を分析しやすくなるために、セマンティックモデルを作成します。
① ワークスペース ビューで、「SalesLakehouse1」 SQL エンドポイントを選択します。
② エクスプローラーで、 「モデルレイアウト」 を選択して、リレーションシップの作成を開始します。
③ FactOnlineSales テーブルの列 CustomerKey を、DimCustomer テーブルの CustomerKey にドラッグ アンド ドロップして、リレーションシップを作成します。
④ 以下のようにリレーションシップを作成します。
⑤ 次の表のように、リレーションシップを作成します。
上記の表を元に、次のリレーションシップ図が作成されました。
6-2.DAX でメジャーを作成する
総売上高を計算する基本的なメジャーを作成します。
① モデルレイアウトで、FactOnlineSalesの「…」を選択し、新しいメジャーを選択します。
② 数式エディターに次のコードをコピペします。
1 |
Total Sales Amount = SUM(FactOnlineSales[SalesAmount]) |
6-3.SQL ビューを作成する
月別の総売上高を計算する SQL ステートメントを作成します。
①「ホーム」 タブで 「新規 SQL クエリ」 を選択します。
② クエリ エディターで、次のコードを使用して月別の総売上高を計算します。コードをコピーペーストしてから、「実行」 をクリックして結果を表示します。
※ 文法
1 2 3 4 5 6 7 8 9 |
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s); |
※ 例
1 2 3 4 5 6 7 8 9 |
SELECT MONTH(DateKey) as "MonthNumber", SUM(SalesAmount) as "TotalSalesAmount" FROM FactOnlineSales GROUP BY MONTH(DateKey) |
③ クエリ テキスト全体を強調表示して、「ビューとして保存」 を選択します。
④ ビュー名を「TotalSalesByMonth」に設定し、「OK」 をクリックします。
7. レポートの自動作成
データをモデル化できたら、次は簡易作成を使って、データを可視化します。
ワークスペース ビューで、項目の種類 「セマンティック モデル (デフォルト) 」と項目名 「SalesLakehouse1」 をホバーします。 アイコン (「…」) を選択し、「レポートを自動作成する」 を選択します。
「データ」 ペインでの列に基づいてレポートが自動的に生成されます。
8. まとめ
Microsoft Fabric のPower BIの使用方法をについて実施してみました。 今回の記事が少しでも Microsoft Fabric を知るきっかけや、業務のご参考になれば幸いです。
第1回:Microsoft Fabric 概要と試用版の作成方法
第2回:Power BI ユーザー向け Fabric チュートリアル (今回)
第3回:Data Factory ユーザー向け Fabric チュートリアル
第4回:Synapse Data Engineering ユーザー向け Fabric チュートリアル_第1回
第5回:Synapse Data Engineering ユーザー向け Fabric チュートリアル_第2回
この記事を書いた人
- phongcq
この投稿者の最新の記事
- 2025年4月24日ブログ【Azure Databricks】 Delta Live Tablesストリーム更新テーブルで【badRecordsPath】を利用する方法
- 2025年4月22日ブログ【Microsoft Fabric】Synapse Data Engineering ユーザー向け Fabric チュートリアル_第2回
- 2025年4月16日ブログ【Microsoft Fabric】Synapse Data Engineering ユーザー向け Fabric チュートリアル_第1回
- 2025年3月12日ブログ【Azure Databricks】Databricksのボリュームに保存されたCSVファイルから、カタログのテーブルにデータを取り込む手順書