このチュートリアルでは、Microsoft Fabric を使用して Power BI レポート用のデータを準備、読み込み、モデル化する方法について説明します。 Dataflows Gen2 を使用して、データを取り込んで Lakehouse に変換し、パイプラインでデータ更新を調整し、Direct Lake モードを使用してディメンション モデルを構築します。 最後に、最新の売上データを視覚化するレポートを自動的に生成します。
このチュートリアルを終了すると、次のことができるようになります。
- データを準備してレイクハウスに読み込む
- データ パイプラインを調整してデータを更新し、エラー発生時に電子メールを送信する
- レイクハウスでセマンティック モデルを作成する
- 簡易作成でレポートを自動的に作成する
前提条件
作業を開始する前に、以下を必ず取得してください。
- まだ行っていない場合は、組織の Fabric を有効にします。
- アクセスできないならば、無料試用版に登録する。
- 新しいワークスペースを作成し、Fabric 容量を割り当てます。 既存のワークスペースを使用できますが、このチュートリアルでは非運用ワークスペースをお勧めします。
- Contoso データのサンプル クエリを含む Power Query テンプレート ファイルをダウンロードします。
データを格納するレイクハウスを作成する
まず、データを格納するレイクハウスを作成します。 Dataflows Gen2 を使用して準備と変換を行い、スケジュールされた更新と電子メール通知を調整するパイプラインを使用します。
ワークスペースで、ページの上部にある [新しい項目 ] を選択します。
[ 新しい アイテムの作成] 画面で、 Lakehouse を検索または選択します。
名前として SalesLakehouse を入力し (名前には文字、数字、アンダースコアを含めることができますが、特殊文字やスペースは含めず)、[ 作成] を選択します。
Lakehouse エディターで、リボンから [新しいデータフロー Gen2 ] を選択します。
注
または、リボンから [データの取得 ] を選択し、[ 新しいデータフロー Gen2] を選択します。
データフロー OnlineSalesDataflow に名前を付け (文字、数字、アンダースコアのみを使用)、[ 作成] を選択します。
Dataflows Gen2 を使用して Lakehouse にデータを準備してロードする
Dataflows Gen2 の Power Query Online エディターで、 Power Query テンプレートからインポート を選択し、前提条件でダウンロードした ContosoSales.pqt テンプレート ファイルを選択 します。
[データ読み込み] グループで DimDate クエリを選択します。 メッセージが表示されたら、[ 接続の構成] を選択し、[認証] を [匿名] に設定して、[ 接続] を選択します。
DimDate を選択した状態で、データ プレビューで DateKey 列を見つけます。 列ヘッダーでデータ型アイコンを選択し、ドロップダウンから [日付/時刻 ] を選択します。
[ 列の種類の変更 ] ウィンドウで、[現在の列の 置換] を選択します。
データ送信先を構成する
DimDate を選択した状態で、右下にあるデータ変換先の設定を確認します。 構成された Lakehouse の上にマウス ポインターを合わせると、そのプロパティが表示されます。
作成した Lakehouse は、すべてのテーブルの宛先です。 既定の更新方法は Replace で、更新のたびに以前のデータが上書きされます。
FactOnlineSales テーブルを選択し、そのデータ変換先の設定を確認します。
FactOnlineSales ソースは頻繁に変更されるため、新しいデータを追加して更新を最適化します。 X アイコンを選択して、データの現在の転送先を削除します。 他のテーブルの宛先を削除しないでください。
FactOnlineSales を選択したまま、+ アイコンを選択してデータ変換先を追加し、[Lakehouse] を選択します。
メッセージが表示されたら、認証を [組織アカウント ] に設定し、[ 次へ] を選択します。
ナビゲーターでワークスペースを選択し、展開してすべての Lakehouse アイテムを表示します。 SalesLakehouse を選択し、[新しいテーブル] が選択されていることを確認してから、[次へ] を選択します。
[データ変換先の設定] パネルで、[自動設定を使用する] をオフにし、[更新方法] を [追加] に設定して、[設定の保存] を選択します。
注
Append メソッドは、更新のたびにテーブルに新しい行を追加し、既存のデータを保持します。
[ ホーム ] タブで、[ 保存して実行] を選択します。
Power Query Online エディターを終了するには、左側のレールにある OnlineSalesDataflow 項目の X を選択します。
注
[X] を選択するとエディターは閉じますが、データフローは削除されません。
データ パイプラインを調整する
キーの詳細を含むカスタマイズされた Outlook メールを送信して、データフローの更新を自動化し、エラーを処理します。
ワークスペースで、[ 新しい項目] を選択します。
[ 新しい 項目の作成] 画面で、[ データ パイプライン] を検索または選択します。
パイプラインに SalesPipeline という名前を付け、[ 作成] を選択します。
パイプライン エディターで、[ パイプライン アクティビティ] を選択し、[ データフロー] を選択します。
注
リボンから [データフロー] を選択することもできます。
パイプライン エディターでデータフロー アクティビティを選択します。 [ 全般 ] セクションで、[ 名前 ] を OnlineSalesActivity に設定します。
データフロー アクティビティが選択されたら 、[設定] に移動し、[データフロー] の一覧から [OnlineSalesDataflow ] を選択します。 必要に応じて、[ 更新 ] アイコンを選択して一覧を更新します。
[ アクティビティ ] タブを選択し、 Office365 Outlook アクティビティを追加します。
注
[同意の付与] ウィンドウが表示されたら、[OK] を選択し、組織のアカウントでサインインし、アクセスを許可します。
パイプライン エディターで Office365 Outlook アクティビティを選択します。 [全般] セクションで、名前を失敗時にメールに設定します。
Office365 Outlook アクティビティが選択されている状態で 、[設定] に移動します。 [宛先] フィールドにメール アドレスを入力し、[パイプラインエラーの件名] を設定します。 本文のメールの場合は、式ビルダーで「表示」を選択します。
注
[詳細設定] プロパティでは、From (Send as)、CC、Bcc、Sensitivity ラベルなどの追加の電子メール オプションを使用できます。
パイプライン式ビルダーで、次の式をページの上部にあるテキスト ブロックに貼り付けます。
@concat( 'Pipeline: ' , pipeline().PipelineId , '<br>' , 'Workspace: ' , pipeline().WorkspaceId , '<br>' , 'Time: ' , utcnow() )
この式は、パイプライン ID、ワークスペース ID、および現在の UTC 時刻を電子メール本文に動的に挿入します。
パイプライン エディターで、[ OnlineSalesActivity] を選択します。 "X" (失敗時) ハンドルをドラッグして、失敗時のメールアクティビティにドロップします。 これにより、データフロー アクティビティが失敗した場合に電子メールが送信されます。
[ホーム] タブから [スケジュール] を選択します。 次のようにスケジュールを構成し、[ 適用] を選択します。
名前 値 スケジュールされた実行 オン 繰り返す 毎日 時刻 午前 12:00:00 [ホーム] タブから [実行] を選択します。 メッセージが表示されたら、[ 保存して実行] を選択して続行します。
パイプラインの状態を監視するには、アクティビティの進行状況を表示する 出力 テーブルを表示します。 テーブルが自動的に更新されるか、更新アイコンを選択して手動で更新できます。
状態が [成功] と表示されたら、ワークスペースに戻ってチュートリアルに進みます。
レイクハウスでセマンティック モデルを作成する
読み込んだデータは、レポートのための準備がほとんど完了しています。 次に、lakehouse のテーブルを使用して、物理データを整理して論理オブジェクトに変換するメタデータ レイヤーであるセマンティック モデルを作成します。 セマンティック モデルは、ビジネス構造を反映し、データの分析を容易にするように設計されています。
ワークスペース ビューで、 SalesLakehouse 項目を選択します。
エクスプローラーで、[ ホーム ] タブから [ 新しいセマンティック モデル] を選択します。
[新しいセマンティック モデル] ウィンドウで、モデルに SalesModel という名前を付けます。 次に、 dbo スキーマと Tables グループの両方を展開します。 次の表を選択し、[ 確認] を選択します。
テーブル名 ディムカスタマー DimDate DimEmployee ディムプロダクト DimStore FactOnlineSales
リレーションシップの作成
このモデルでは、データ ウェアハウスで一般的なスター スキーマを使用します。 星の中心は Fact テーブルで、ファクト テーブルに関連するディメンション テーブルで囲まれています。
リレーションシップを作成するには、FactOnlineSales テーブルから DimCustomer テーブルの CustomerKey 列に CustomerKey 列をドラッグ アンド ドロップします。
[ リレーションシップの作成 ] ウィンドウで、次の設定を確認し、[ 確認] を選択します。
このリレーションシップをアクティブにする テーブル 1 から (列) テーブル 2 へ (列) カーディナリティ クロス フィルターの方向 ☑ FactOnlineSales (CustomerKey) DimCustomer (カスタマーキー) 多対一 (*:1) シングル 次のリレーションシップごとにこれらの手順を繰り返します。
このリレーションシップをアクティブにする テーブル 1 から (列) テーブル 2 へ (列) カーディナリティ クロス フィルターの方向 ☑ FactOnlineSales (ProductKey) DimProduct (ProductKey) 多対一 (*:1) シングル ☑ FactOnlineSales (StoreKey) DimStore (StoreKey) 多対一 (*:1) シングル ☑ FactOnlineSales (DateKey) DimDate (日付キー) 多対一 (*:1) シングル ☑ DimStore (StoreKey) DimEmployee (StoreKey) 多対一 (*:1) 両方 次の図は、すべてのリレーションシップが含まれるセマンティック モデルの完成したビューを示しています。
DAX でメジャーを作成する
総売上金額を計算するための基本指標を作成します。
FactOnlineSales テーブルを選択し、[ホーム] タブで [新しいメジャー] を選択します。
数式エディターで、次の DAX メジャーを入力し、コミットする チェック マーク を選択します。
Total Sales Amount = SUM(FactOnlineSales[SalesAmount])
レポートの自動作成
データをモデル化したので、クイック作成を使用してデータをすばやく視覚化して探索できます。
左側のレールからワークスペースを選択して、ワークスペースに戻ります。 SalesModel 項目にマウス ポインターを合わせ、省略記号 (...) を選択して、[レポートの自動作成] を選択します。
レポートが自動的に生成され、[ データ ] ペインの列の選択に基づいて動的に更新されます。
リボンから [保存] を 選択して、コピーを現在のワークスペースに保存します。
注
完全なビジュアル作成エクスペリエンスを入力するには、リボンの [編集] を選択します。
クイック作成の詳細については、こちらを参照してください。
関連するコンテンツ
チュートリアルを完了しておめでとうございます! このチュートリアル専用のワークスペースを作成した場合は、そのワークスペースを削除するか、プロセス中に作成された個々の項目を削除することができます。
このチュートリアルでは、Power BI ユーザーが Microsoft Fabric を使用して任意の規模で簡単に分析情報を見つけ出す方法について説明します。