チュートリアル: Microsoft Fabric でPower BI レポートを作成する

このチュートリアルでは、Microsoft Fabricを使用して、Power BIレポート用のデータを準備、読み込み、モデル化する方法について説明します。 Dataflows Gen2 を使用して、データを取り込んでレイクハウスに変換し、データ パイプラインを使用してデータ更新を調整し、Direct Lake モードを使用してデータをインポートせずに Lakehouse から直接データを読み取るディメンション モデルを構築します。 最後に、最新の売上データを視覚化するレポートを自動的に生成します。

このチュートリアルでは、次の操作を行います。

  • データを準備してレイクハウスに読み込む
  • データ パイプラインを調整してデータを更新し、エラー発生時に電子メールを送信する
  • レイクハウスでセマンティック モデルを作成する
  • クイック作成を使用してレポートを自動作成する

前提条件

データを格納するレイクハウスを作成する

まず、データを格納するレイクハウスを作成します。 Dataflows Gen2 を使用してデータを準備および変換し、パイプラインを使用してスケジュールされた更新と電子メール通知を調整します。

  1. ワークスペースで、ページの上部にある [新しい項目 ] を選択します。

    Microsoft Fabric ワークスペースで [新しい項目] を選択している画面のスクリーンショット。

  2. [ 新しい アイテムの作成] 画面で、 Lakehouse を検索または選択します。

    Microsoft Fabric のレイクハウス作成画面のスクリーンショット。

  3. 名前として SalesLakehouse を入力し (名前には文字、数字、アンダースコアを含めることができますが、特殊文字やスペースは含めず)、[ 作成] を選択します。

    [Lakehouse name]\(Lakehouse 名\) 入力フィールドを示すスクリーンショット。

  4. Lakehouse エディターで、リボンから [新しいデータフロー Gen2 ] を選択します。 または、リボンから [データの取得 ] を選択し、[ 新しいデータフロー Gen2] を選択します。

    [データの取得] ドロップダウンで [新しいデータフロー Gen2] が強調表示されたスクリーンショット。

  5. データフロー OnlineSalesDataflow に名前を付け (文字、数字、アンダースコアのみを使用)、[ 作成] を選択します。

Dataflows Gen2 を使用してデータを準備し、Lakehouse に読み込む

  1. dataflows Gen2 の Power Query Online エディターでは、 Power Query テンプレートから Import を選択し、prerequisites にダウンロードした ContosoSales.pqt テンプレート ファイルを選択します。

    Power Query テンプレートのインポートのスクリーンショット。

  2. [データ読み込み] グループで DimDate クエリを選択します。 メッセージが表示されたら、[ 接続の構成] を選択し、[認証] を [匿名] に設定して、[ 接続] を選択します。

  3. DimDate を選択した状態で、データ プレビューで DateKey 列を見つけます。 列ヘッダーでデータ型アイコンを選択し、ドロップダウンから [日付/時刻 ] を選択します。

    Power Query エディター内でのデータ型の変更を示すスクリーンショット。

  4. [ 列の種類の変更 ] ウィンドウで、[現在の列の 置換] を選択します。

Lakehouse のデータ保存先を構成する

  1. DimDate を選択し、右下にあるデータ変換先の設定を確認します。 構成された Lakehouse の上にマウス ポインターを合わせると、そのプロパティが表示されます。

    作成した Lakehouse は、すべてのテーブルの宛先です。 既定の更新方法は Replace で、更新のたびに以前のデータが上書きされます。

    [データ変換先] セクションと構成オプションのスクリーンショット。

  2. FactOnlineSales テーブルを選択し、そのデータ変換先の設定を確認します。

    FactOnlineSales ソースは頻繁に変更されるため、新しいデータを追加して更新を最適化します。 X アイコンを選択して、データの現在の転送先を削除します。 他のテーブルの宛先を削除しないでください。

    [データ変換先の変更] セクションと [設定] アイコンのスクリーンショット。

  3. FactOnlineSales が選択された状態で、+ アイコンを選択してデータ変換先を追加し、[Lakehouse] を選択します。

    メッセージが表示されたら、認証を [組織アカウント ] に設定し、[ 次へ] を選択します。

    データ変換先として Lakehouse を追加するスクリーンショット。

  4. ナビゲーターでワークスペースを選択し、展開してすべての Lakehouse アイテムを表示します。 SalesLakehouse を選択し、[新しいテーブル] が選択されていることを確認し、[次へ] を選択します。

    格納先ターゲットのナビゲーター ウィンドウのスクリーンショット。

  5. [データ変換先の設定] パネルで、[自動設定を使用する] をオフにし、[更新方法] を [追加] に設定して、[設定の保存] を選択します。

    Append メソッドは、更新のたびにテーブルに新しい行を追加し、既存のデータを保持します。

    格納先設定メニューの選択を示すスクリーンショット。

  6. [ ホーム ] タブで、[ 保存して実行] を選択します。

    Power Query Online 内の [保存して実行] ボタンのスクリーンショット。

  7. Power Query Online エディターを終了するには、左側のレールにある OnlineSalesDataflow 項目の X を選択します。

    [X] を選択するとエディターは閉じますが、データフローは削除されません。

    Power Query Online 内の [閉じる] ボタンのスクリーンショット。

データ パイプラインを調整して自動更新を行う

キーの詳細を含むカスタマイズされた Outlook メールを送信して、データフローの更新を自動化し、エラーを処理します。

  1. ワークスペースで、[ 新しい項目] を選択します。

    ワークスペースで [新しい項目] を選択しているスクリーンショット。

  2. [ 新しい 項目の作成] 画面で、[ データ パイプライン] を検索または選択します。

    [データ パイプライン] を新しい項目として選択しているスクリーンショット。

  3. パイプラインに SalesPipeline という名前を付け、[ 作成] を選択します。

    パイプライン名の入力ダイアログのスクリーンショット。

  4. パイプライン エディターで、[ パイプライン アクティビティ] を選択し、[ データフロー] を選択します。

    リボンから [データフロー] を選択することもできます。

    パイプラインにデータフロー アクティビティを追加するスクリーンショット。

  5. パイプライン エディターでデータフロー アクティビティを選択します。 [ 全般 ] セクションで、[ 名前 ] を OnlineSalesActivity に設定します。

    データフロー アクティビティの名前付けのスクリーンショット。

  6. データフロー アクティビティが選択されたら 、[設定] に移動し、[データフロー] の一覧から [OnlineSalesDataflow ] を選択します。 必要に応じて、[ 更新 ] アイコンを選択して一覧を更新します。

    アクティビティ設定でデータフローを選択するスクリーンショット。

  7. Activities タブを選択し、Office365 Outlook アクティビティを追加します。

    Important

    [同意の付与] ウィンドウが表示されたら、[OK] を選択し、組織のアカウントでサインインし、アクセスを許可します。

    Office365 Outlook アクティビティの追加のスクリーンショット。

  8. パイプライン エディターで Office365 Outlook アクティビティを選択します。 [全般] セクションで、名前失敗時にメールに設定します。

    Office365 Outlook アクティビティに名前を付けるスクリーンショット。

  9. Office365 Outlook アクティビティが選択されている状態で 、[設定] に移動します。 [宛先] フィールドにメール アドレスを入力し、[パイプラインエラーの件名] を設定します。 本文のメールの場合は、式ビルダーで「表示」を選択します。

    [詳細設定] プロパティでは、From (Send as)CCBccSensitivity ラベルなどの追加の電子メール オプションを使用できます。

    Office365 Outlook のアクティビティ設定のスクリーンショット。

  10. パイプライン式ビルダーで、次の式をページの上部にあるテキスト ブロックに貼り付けます。

    @concat(
        'Pipeline: '
        , pipeline().PipelineId
        , '<br>'
        , 'Workspace: '
        , pipeline().WorkspaceId
        , '<br>'
        , 'Time: '
        , utcnow()
    )
    

    この式は、パイプライン ID、ワークスペース ID、および現在の UTC 時刻を電子メール本文に動的に挿入します。

  11. パイプライン エディターで、[ OnlineSalesActivity] を選択します。 "X" (失敗時) ハンドルをドラッグして、失敗時のメールアクティビティにドロップします。 このアクションにより、データフロー アクティビティが失敗した場合に電子メールが送信されます。

    障害時パスの構成のスクリーンショット。

  12. [ホーム] タブから [スケジュール] を選択します。 スケジュールを次のように構成し、[ 適用] を選択します。

    名前
    スケジュールされた実行 オン
    繰り返し 毎日
    時間 午前 12:00:00
  13. [ホーム] タブから [実行] を選択します。 メッセージが表示されたら、[ 保存して実行] を選択して続行します。

    パイプラインの状態を監視するには、アクティビティの進行状況を表示する 出力 テーブルを表示します。 テーブルが自動的に更新されるか、更新アイコンを選択して手動で更新できます。

    パイプライン アクティビティの進行状況のスクリーンショット。

  14. 状態が [成功] と表示されたら、ワークスペースに戻ってチュートリアルに進みます。

    ワークスペースに戻るスクリーンショット。

レイクハウスでセマンティック モデルを作成する

読み込んだデータは、レポートのための準備がほとんど完了しています。 次に、lakehouse のテーブルを使用してセマンティック モデル (物理データを整理して論理オブジェクトに変換するメタデータ レイヤー) を作成します。 セマンティック モデルは、ビジネス構造を反映し、データの分析を容易にするように設計されています。

  1. ワークスペース ビューで、 SalesLakehouse 項目を選択します。

    ワークスペース内の lakehouse 項目のスクリーンショット。

  2. エクスプローラーで、[ ホーム ] タブから [ 新しいセマンティック モデル] を選択します。

  3. [新しいセマンティック モデル] ウィンドウで、モデルに SalesModel という名前を付けます。 次に、 dbo スキーマと Tables グループの両方を展開します。 次の表を選択し、[ 確認] を選択します。

    テーブル名
    ディムカスタマー
    DimDate
    DimEmployee
    ディムプロダクト
    DimStore
    FactOnlineSales

    ワークスペース内の lakehouse 項目を示すスクリーンショット。

スター スキーマリレーションシップを作成する

このモデルでは、データ ウェアハウスで一般的なスター スキーマを使用します。 星の中心はファクト テーブルであり、ファクト テーブルに関連するディメンション テーブルで囲まれています。

  1. リレーションシップを作成するには、FactOnlineSales テーブルから DimCustomer テーブルの CustomerKey 列に CustomerKey 列をドラッグ アンド ドロップします。

  2. [ リレーションシップの作成 ] ウィンドウで、次の設定を確認し、[ 確認] を選択します。

    このリレーションシップをアクティブにする テーブル 1 から (列) テーブル 2 へ (列) カーディナリティ クロスフィルター方向
    FactOnlineSales (CustomerKey) DimCustomer (カスタマーキー) 多対一 (*:1) シングル
  3. 次のリレーションシップごとにこれらの手順を繰り返します。

    このリレーションシップをアクティブにする テーブル 1 から (列) テーブル 2 へ (列) カーディナリティ クロスフィルターの方向
    FactOnlineSales (ProductKey) DimProduct (ProductKey) 多対一 (*:1) シングル
    FactOnlineSales (StoreKey) DimStore (StoreKey) 多対一 (*:1) シングル
    FactOnlineSales (DateKey) DimDate (日付キー) 多対一 (*:1) シングル
    DimStore (StoreKey) DimEmployee (ストアキー) 多対一 (*:1) 両方

    次の図は、すべてのリレーションシップが含まれるセマンティック モデルの完成したビューを示しています。

    モデル ビュー ペインのテーブル リレーションシップのスクリーンショット。

DAX でメジャーを作成する

総売上金額を計算するための基本指標を作成します。

  1. FactOnlineSales テーブルを選択します。 [ ホーム ] タブで、[ 新しいメジャー] を選択します。

  2. 数式エディターで、次の DAX メジャーを入力し、コミットする チェック マーク を選択します。

    Total Sales Amount = SUM(FactOnlineSales[SalesAmount])
    

    チェック マークを選択して DAX メジャーを確定する画面のスクリーンショット。

レポートを自動作成する

データをモデル化したので、クイック作成を使用してデータをすばやく視覚化して探索できます。

  1. 左側のレールからワークスペースを選択して、ワークスペースに戻ります。 SalesModel 項目にカーソルを合わせ、省略記号 (...) を選択して、[レポートの自動作成] を選択します。

    ワークスペースでのレポートの自動作成オプションのスクリーンショット。

    レポートが自動的に生成され、[ データ ] ペインの列の選択に基づいて動的に更新されます。

    Microsoft Fabric で自動作成された完成済みの Power BI レポートのスクリーンショット。

  2. リボンから [保存] を 選択して、コピーを現在のワークスペースに保存します。

    Tip

    完全なビジュアル作成エクスペリエンスを入力するには、リボンの [編集] を選択します。

リソースをクリーンアップする

このチュートリアル用の専用ワークスペースを作成した場合は、削除できます。 または、チュートリアル中に作成した個々の項目を削除することもできます。