次の方法で共有


Lakehouse チュートリアル: セマンティック モデルを作成してレポートを作成する

チュートリアルのこのセクションでは、Lakehouse データからセマンティック モデルを作成し、ファクト テーブルとディメンション テーブル間のリレーションシップを定義します。 データ モデルを配置すると、Power BI レポートを作成できます。

前提条件

開始する前に、このシリーズの前のチュートリアルを完了する必要があります。

  1. ワークスペースを作成する
  2. レイクハウスを作成する
  3. レイクハウスにデータを取り込む
  4. データの準備と変換

セマンティック モデルを作成する

Power BI は Fabric にネイティブに統合されています。 レイクハウスからセマンティック モデルを作成すると、 Direct Lake モードが使用されます。Direct Lake モードでは、データをインポートまたは複製することなく、高速分析のために OneLake からメモリに直接データを読み込みます。

  1. ブラウザーで、 Fabric ポータルで Fabric ワークスペースに移動します。

  2. wwilakehouse を選択して開きます。

  3. 画面の右上にある Lakehouse ドロップダウン メニューから、SQL analytics エンドポイント を選択します。

    右上のドロップダウン メニューから SQL 分析エンドポイントを検索して選択する場所を示すスクリーンショット。

    [SQL 分析エンドポイント] ウィンドウから、作成したすべてのテーブルを表示できます。 まだ表示されない場合は、左上にある [更新 ] アイコンを選択します。

  4. リボンから [新しいセマンティック モデル ] を選択します。

  5. [ 新しいセマンティック モデル ] ダイアログ ボックスで、次の手順を実行します。

    • セマンティック モデルの名前を入力します (例: "WWI Sales Model")
    • 保存するワークスペースを選択する
    • このチュートリアル シリーズで作成したすべてのテーブルを選択する
    • [確認] を選択します

lakehouse スキーマを使用して不足しているテーブルのトラブルシューティングを行う

セマンティック モデルの作成時に lakehouse スキーマ を有効にし、"ソース Delta テーブルにアクセスできません" のようなエラーが発生した場合、テーブルが Spark メタストアに登録されていない可能性があります。 この問題を解決するには、lakehouse に接続されているノートブックを開き、次のコードを実行してテーブルを明示的に登録します。

ヒント

前のチュートリアルで使用したノートブックに戻り、新しいノートブックを作成する代わりに、このコードを新しいセルとして追加できます。

tables = ['fact_sale', 'dimension_city', 'dimension_customer', 'dimension_date',
          'dimension_employee', 'dimension_stock_item',
          'aggregate_sale_by_date_city', 'aggregate_sale_by_date_employee']

for table in tables:
    df = spark.read.format("delta").load(f"Tables/{table}")
    df.write.mode("overwrite").option("overwriteSchema", "true").format("delta").saveAsTable(table)

コードが正常に実行されたら、SQL 分析エンドポイントに戻り、セマンティック モデルをもう一度作成します。

テーブルのリレーションシップを定義する

複数のテーブルのデータを結合するレポートを作成するには、ファクト テーブルと各ディメンション テーブルの間のリレーションシップを定義します。 これらのリレーションシップは、視覚化を構築するときにテーブルを結合する方法を Power BI に指示します。

  1. ワークスペースに移動し、作成したセマンティック モデルを選択して開きます。

  2. ツール バーから [開く ] を選択して、Web モデリング エクスペリエンスを開きます。

  3. 右上隅にあるドロップダウンを選択し、[ 編集] を選択して編集モードに切り替えます。

  4. fact_saleテーブルから CityKey フィールドを選択し、dimension_city テーブルの CityKey フィールドにドラッグしてリレーションシップを作成します。

    リレーションシップを作成するためのテーブル間のフィールドのドラッグ アンド ドロップを示すスクリーンショット。

  5. [ 新しいリレーションシップ ] ダイアログ ボックスが表示され、次の既定の設定が表示されます。

    • テーブルから取得する: fact_sale列の CityKey
    • テーブルへ: dimension_city列 CityKey
    • カーディナリティ: 多対 1 (*:1)
    • クロス フィルターの方向: 単一
    • このリレーションシップをアクティブに設定します:選択されました。

    [ 参照整合性を想定する] の横にあるボックスを選択し、[保存] を選択 します

    [新しいリレーションシップ] ダイアログ ボックスのスクリーンショット。[参照整合性の想定] を選択する場所が示されています。

    注意

    このレポートのリレーションシップを定義するときは、 fact_sale が常に From テーブル であり、 dimension_* テーブルが To テーブルであることを確認します。その逆ではありません。

  6. 前の手順を繰り返して、残りのディメンション テーブルのリレーションシップを作成します。 リレーションシップごとに、キー列を選択し、 fact_sale からディメンション テーブル内の一致する列にドラッグします。 参照整合性の想定を含め、以前と同じ新しいリレーションシップ設定を使用します。

    fact_saleからドラッグする テーブルへ 列へ
    StockItemKey(在庫アイテムキー) dimension_stock_item ストックアイテムキー
    SalespersonKey ディメンション_従業員 EmployeeKey
    カスタマーキー dimension_customer (ディメンション_カスタマー) カスタマーキー
    請求書日付キー 日付ディメンション 日付

    これらのリレーションシップを追加すると、次の図に示すように、データ モデルをレポートする準備が整います。

    複数のテーブルリレーションシップを示す [新しいレポート] 画面のスクリーンショット。

レポートを作成する

セマンティック モデルとリレーションシップを配置すると、データ モデルをレポートする準備が整います。 セマンティック モデルから、リボンの [新しいレポート ] を選択して Power BI レポート キャンバスを開き、データを使用して視覚化を作成できます。

レポートの作成の詳細については、「 Microsoft Fabric でのセマンティック モデルに関するレポートの作成」を参照してください。

次のステップ