チュートリアル: Power BI ユーザー向け Fabric
このチュートリアルでは、Dataflows Gen2 とパイプラインを使ってレイクハウスにデータを取り込み、ディメンショナル モデルを作成する方法について説明します。 また、最初から最後までわずか 45 分で、美しいレポートを自動的に生成して、最新の売上高を表示する方法についても説明します。
それでは始めましょう。
- データを準備してレイクハウスに読み込む
- レイクハウスでディメンショナル モデルを構築する
- 簡易作成でレポートを自動的に作成する
前提条件
- 開始する前に、組織で Fabric を有効にするように Fabric 管理者に依頼してください
- まだサインアップしていない場合は、無料試用版にサインアップしてください。
- 新しいワークスペースを作成し、Fabric 容量を割り当てます。
- 既存のワークスペースを使うこともできますが、チュートリアルをわかりやすくするために非運用ワークスペースを使うことをお勧めします。
- Contoso データのサンプル クエリを含む Power Query テンプレート ファイルをダウンロードします。
データを格納するレイクハウスを作成する
まず、データを格納するレイクハウス、列を準備および変換するための Dataflows Gen2、スケジュールされた更新とメール アクティビティのオーケストレーションを処理するパイプラインを作成します。
ワークスペースに移動し、[新規] を選択します。 その後、[その他のオプション] を選びます。
[新規] 項目の作成画面で、[Data Engineering] カテゴリの [Lakehouse] (レイクハウス) を選択します。
レイクハウスの名前を「SalesLakehouse」に設定します。 [作成] を選択します。
レイクハウス エディターに移動したら、[New Dataflow Gen2] (新しい Dataflow Gen2) を選択します。
Note
リボンから [データを取得] を選択し、[New Dataflow Gen2] (新しい Dataflow Gen2) を選択することもできます。
データを準備してレイクハウスに読み込む
次の手順を実行して、レイクハウスにデータを読み込みます。
Dataflows Gen2 の Power Query Online エディターに移動したら、[Import from a Power Query template] (Power Query テンプレートからインポート) を選択し、「前提条件」でダウンロードしたテンプレート ファイルを選択します。
[データの読み込み] クエリ グループで DimDate クエリを選択し、[接続の構成] を選択します。 必要に応じて、[接続] を選択する前に、認証の種類を [匿名] に設定します。
DimDate クエリを選択した状態で、データ プレビュー ウィンドウで、左上のアイコンを選択して DateKey 列のデータ型を Date/Time に変更します。
[列タイプの変更] ウィンドウ内で [現在のものを置換] を選択します。
データ格納先を追加する
次の手順を実行して、データ格納先を追加します。
DimDate テーブルを選択した状態で、[ホーム] タブから [Add data destination] (データ格納先の追加) を選択し、[Lakehouse] (レイクハウス) オプション メニュー項目を選択します。
必要に応じて、認証を [組織アカウント] に設定した後、[次へ] を選択します。
ナビゲーターから、このチュートリアルで使用するワークスペースを選択し、展開してすべてのレイクハウス項目を表示します。 [SalesLakehouse] を選択し、既定の [新しいテーブル] が選択されていることを確認してから、[次へ] を選択して続行します。
[更新方法] を [置換] に設定し、[設定の保存] を選択します。
注意事項
更新方法を [置換] に設定すると、後続の更新のたびに既存のデータがすべて削除され、新しいデータに置き換えられます。
Note
Power Query Online エディターの右下隅には、クエリ用に構成された [データの格納先] 設定が表示され、そこでさらにカスタマイズしたり、削除したりできます。
このチュートリアルの次のセクションに進む前に、このセクションで前に行ったのと同じ手順を実行して、次の各クエリのデータ格納先としてレイクハウスを構成してください。
クエリ DimCustomer DimEmployee DimProduct DimStore データ変換クエリ グループで、FactOnlineSales クエリを選択します。 [ホーム] タブで、[データ送信先の追加] を選択します。 [Lakehouse] オプションを選択します。
必要に応じて、認証を [組織アカウント] に設定した後、[次へ] を選択します。
ナビゲーターから、このチュートリアルで使用するワークスペースを選択し、展開してすべてのレイクハウス項目を表示します。 [SalesLakehouse] を選択し、既定の [新しいテーブル] が選択されていることを確認してから、[次へ] を選択して続行します。
[更新方法] を [追加] に設定し、[設定の保存] を選択します。
Note
このプロセスでは、後続の更新のたびにデータが挿入され、テーブル内の既存の行は保持されます。
[発行] を選択してデータフローを保存し、Power Query Online エディターを終了します。
ワークスペース内の作成したデータフローの上にマウス ポインターを合わせ、省略記号 ([...])、[プロパティ] オプションの順に選択します。
データフローの名前を「OnlineSalesDataflow」に変更して、[保存] を選択します。
データ パイプラインを調整する
パイプラインを使って、まずデータ フローの更新を調整します。 エラーが発生した場合は、重要な詳細情報を含むカスタマイズした Outlook メールを送信します。
ワークスペース内で SalesLakehouse という名前のレイクハウス項目を選択します。
レイクハウス エディターに移動したら、[New data pipeline] (新しいデータ パイプライン) を選択します。
Note
リボンから [データを取得] を選択し、[New data pipeline] (新しいデータ パイプライン) を選択することもできます。
パイプライン名を「SalesPipeline」に設定します。 [作成] を選択します。
[キャンセル] を選択して、データのコピー アシスタントを閉じます。 データのコピー ウィンドウの終了を確認するメッセージが表示されたら、[Yes, cancel] (はい、キャンセルします) を選択します。
パイプライン エディターに移動したら、[Add pipeline activity] (パイプライン アクティビティの追加) を選択し、[データフロー] を選択します。
Note
リボンから [データフロー] を選択することもできます。
パイプライン エディター内でデータフロー アクティビティを選択し、[全般] セクション内でその [名前] の値を「OnlineSalesActivity」に変更します。
データフロー アクティビティを選択したまま、[設定] を選択し、[データフロー] の一覧から [OnlineSalesDataflow] を選択します。 一覧を更新する必要がある場合は、[最新の情報に更新] アイコンを選択します。
[アクティビティ] タブを選択し、[Office365 Outlook] アクティビティを選択します。
Note
[同意する] ウィンドウが表示されたら、[OK] を選択して、組織のアカウントでサインインし、[アクセスを許可] を選択します。
パイプライン エディター内で [Office365 Outlook] アクティビティを選択し、[全般] セクション内でその [名前] の値を「Mail on failure」に変更します。
Office365 Outlook アクティビティを選択したまま、[設定] を選択します。 [宛先] フィールドを自分のメール アドレスに、[件名] を「Pipeline failure」に更新します。 メール本文の [動的なコンテンツの追加 [Alt+Shift+D]] を選択します。
Note
From (差出人)、Cc、Bcc、秘密度ラベルなどのその他のメール構成オプションは、[詳細プロパティ] から使用できます。
パイプライン式ビルダーに、次の式のコード ブロックを貼り付けます。
@concat( 'Pipeline: ' , , '<br>' , 'Workspace: ' , , '<br>' , 'Time: ' , )
[システム変数] を選択して、以下の変数を挿入します。次の表から対応する名前を選択してください。
値の名前 折れ線 システム変数 パイプライン: 3 パイプライン ID ワークスペース: 6 ワークスペース ID [関数] を選択し、以下の関数を挿入します。次の表から対応する名前を選択してください。 完了したら [OK] を選択します。
値の名前 折れ線 システム変数 Time: 9 utcnow OnlineSalesActivity を選択します。 使用可能なパス オプションから、"X" (失敗時) を選択します。 これにより、失敗時にメール送信アクティビティにドロップされる矢印が作成されます。 これで、OnlineSalesActivity が失敗した場合にこのアクティビティが呼び出されるようになりました。
[ホーム] タブから [スケジュール] を選択します。 以下の構成を更新したら、[適用] を選択して変更内容を保存します。
名前 値 Scheduled run オン Repeat 毎日 時刻 午前 12:00:00 [ホーム] タブから [実行] を選択します。 ダイアログ ウィンドウが表示されたら、[保存および実行] オプションを選択して続行します。
パイプラインの現在の状態を監視するには、現在のアクティビティの進行状況が表示される [出力] テーブルを確認できます。 テーブルは自動で定期的に更新されます。更新アイコンを手動で選択して更新することもできます。
状態が [成功] を返したら、ワークスペースに戻ってチュートリアルの次のセクションに進むことができます。
レイクハウスでセマンティック モデルを作成する
読み込んだデータは、レポートのための準備がほとんど完了しています。 まず、SQL エンドポイントを使って、レイクハウスにリレーションシップと SQL ビューを作成しましょう。 これにより、セマンティック モデル内のデータに簡単にアクセスできるようになります。これは、抽象化され論理ディメンションに変更された物理データベース オブジェクトを含むメタデータ モデルです。 これは、ビジネスの構造に従って分析用にデータを提示するように設計されています。
リレーションシップの作成
このモデルは、データウェアハウスで見られるスター スキーマです。つまり、星の形に似ています。 星の中心にあるのは、ファクト テーブルです。 周囲にあるテーブルはディメンション テーブルと呼ばれ、リレーションシップにより、ファクト テーブルと関連付けられます。
ワークスペース ビューで、[SalesLakehouse] という名前の SQL エンドポイント項目を選択します。
エクスプローラーで、画面の下部にある [モデル] ビューを選択して、リレーションシップの作成を開始します。
FactOnlineSales テーブルの列 CustomerKey を、DimCustomer テーブルの CustomerKey にドラッグ アンド ドロップして、リレーションシップを作成します。
[リレーションシップの作成] ウィンドウで、次の表に示すように、正しいテーブル、列、設定が選択されていることを確認します。 [確認] を選択して続行します。
このリレーションシップをアクティブにする テーブル 1 から (列) テーブル 2 へ (列) カーディナリティ クロス フィルターの方向 ☑ FactOnlineSales (CustomerKey) DimCustomer (CustomerKey) 多対一 (*:1) Single 次の表に示す残りの各テーブルと列に対して同じ手順を実行し、リレーションシップを作成します。
このリレーションシップをアクティブにする テーブル 1 から (列) テーブル 2 へ (列) カーディナリティ クロス フィルターの方向 ☑ FactOnlineSales (ProductKey) DimProduct (ProductKey) 多対一 (*:1) Single ☑ FactOnlineSales (StoreKey) DimStore (StoreKey) 多対一 (*:1) Single ☑ FactOnlineSales (DateKey) DimDate (DateKey) 多対一 (*:1) Single ☑ DimStore (StoreKey) DimEmployee (StoreKey) 多対一 (*:1) 両方 次の図は、作成したすべてのリレーションシップが含まれている、完成したセマンティック モデルのビューを示しています。
DAX でメジャーを作成する
総売上高を計算する基本的なメジャーを記述してみましょう。
Tables フォルダーの FactOnlineSales テーブルを選択します。 [ホーム] タブで、[新しいメジャー] を選択します。
数式エディターで、総売上高を計算する次のメジャーをコピーして貼り付けるか、入力します。 チェック マークを選択してコミットします。
Total Sales Amount = SUM(FactOnlineSales[SalesAmount])
SQL ビューを作成する
月別の総売上高を計算する SQL ステートメントを記述しましょう。 次に、このステートメントをビューとしてレイクハウスに保存します。 これにより、今後、月別の総売上高に簡単にアクセスできます。
[ホーム] タブで [新しい SQL クエリ] を選択します。
クエリ エディターで、以下のクエリをコピーして貼り付けるか、入力すると、月の番号ごと (降順) に総売上高が計算されます。 入力したら、[実行] を選択して結果を表示します。
SELECT MONTH(DateKey) as "MonthNumber", SUM(SalesAmount) as "TotalSalesAmount" FROM FactOnlineSales GROUP BY MONTH(DateKey)
クエリ テキスト全体を強調表示して、[ビューとして保存] を選択します。
[ビューとして保存] ウィンドウで、[ビュー名] を「TotalSalesByMonth」に設定し、[OK] を選択します。
エクスプローラーで、[ビュー] セクションを展開し、[TotalSalesByMonth] を選択して、結果を [データのプレビュー] で確認します。
SQL エンドポイント エディターの探索が完了したら、ワークスペースに戻って、チュートリアルの次のセクションに進むことができます。
レポートの自動作成
データをモデル化できたので、次は簡易作成を使って、データを視覚化して調査しましょう。
ワークスペース ビューで、項目の種類 [Dataset (default)] (データセット (既定)) と項目名 [SalesLakehouse] の上にマウス ポインターを合わせます。 省略記号 ([…]) を選択し、[レポートを自動作成する] を選択します。
レポートが自動的に生成され、[データ] ペインでの列の選択に基づいて動的に更新されます。
- 表示されるレポートは、画像とは異なる場合があります。
リボンから [保存] を選択して、現在のワークスペースにコピーを保存します
- 完全な視覚化作成エクスペリエンスに移動する場合は、リボンの [編集] を選択できます。
[レポートの保存] ダイアログ ボックスの [レポートの名前を入力してください] フィールドに、「Sales Summary」と入力します。 完了したら、[保存] を選択します。
詳しくは、簡易作成に関する記事を参照してください。
関連するコンテンツ
これでチュートリアルは完了です。 チュートリアル用にワークスペースを作成した場合は、今すぐ削除することもできます。 または、チュートリアル中に作成された個々の項目を削除することもできます。
Power BI ユーザーが Microsoft Fabric を使ってあらゆる規模のデータに関する分析情報を簡単に提供できることが、このチュートリアルでご理解いただけたでしょうか。