0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[備忘録] Microsoft Fabric データフローとセマンティックモデルの列追加の反映挙動を検証してみた

Last updated at Posted at 2025-06-18

はじめに

Microsoft Fabric を利用して、Dataflow Gen2 → Lakehouse → セマンティックモデル → Power BI レポートの一連の構成を組む中で、

データフローで列を追加したら、その列はセマンティックモデルにも自動で反映されるのか?

という疑問があったため、実際に手順を踏んで挙動を検証してみました。


1. Dataflow Gen2 の作成と Lakehouse への書き込み

データフローの作成と接続設定

  • Fabric のワークスペースから 新しいデータフロー (Gen2) を作成
  • 任意の名前を付けて開始
  • 今回はデータソースとして、SQL Server をデータソースとして選択し、接続を設定
  • カスタム SQL ステートメントでクエリを記述し、必要な列を取得

PowerQuery での編集処理

  • 必要に応じて、列のデータ型変更や変換処理などを実施
  • 編集が完了したら、「次へ」で同期先の設定へ進む

Lakehouse を同期先に設定

  • 出力先に「Lakehouse」を指定し、テーブル名を設定
  • 「自動設定を使用する」を選択し、マッピングが正しく行われているか確認
  • 設定が完了したら「保存と実行」を実施

同期結果の確認

  • 実行ステータスが「成功」となれば OK
  • Lakehouse 側に新たなテーブルが作成され、データが反映されていることを確認

2. セマンティックモデルとレポートの作成

セマンティックモデルの作成

  • Fabric 上で「新しいセマンティックモデル」を作成
  • 対象の Lakehouse テーブルを選択し、モデルを作成
  • メジャーやデータ型の微調整が可能

レポートの作成

  • 作成したセマンティックモデルをベースに、新規レポートを作成
  • グラフやカードなどを使ってビジュアルを構成し、「保存」

3. データフローでの列追加とセマンティックモデルへの反映検証

データフローで列を追加・編集

  • 既存のデータフローを編集
  • カスタム SQL に新しい列を追加するなどして、PowerQuery 上に列が増えるよう調整
  • 編集後、「保存と実行」で再度実行

Lakehouse テーブルへの反映確認

  • テーブルを開いて新しい列が追加されていることを確認
  • 値の変化や型も正しく反映されているかチェック

セマンティックモデルに反映されるか?

  • 結論:セマンティックモデルには自動では反映されません

「更新」操作をしても、初回作成時の列スキーマが保持され、新しい列は表示されません。

手動で列を反映させる方法

  1. セマンティックモデルの「編集モード」に入る
  2. 該当のテーブルをクリックし、「テーブルを編集」
  3. 上部の「リロード」ボタンをクリック
  4. 最新のスキーマが取得され、「確認」をクリックすると列が反映される

レポートへの反映

  • モデルに列が取り込まれると、レポート側でも新しい列が使用可能になります
  • グラフやテーブルに追加して可視化することができます

おわりに

Microsoft Fabric のセマンティックモデルは非常に便利ですが、Lakehouse 側のスキーマ変更(列追加など)は自動では反映されないことを確認しています。

そのため、データフローやソースを更新した後は、セマンティックモデルで手動の「リロード+確認」操作を忘れずに行いましょう。


参考リンク


詳細手順(画面キャプチャー付き)

それぞれの詳細手順は以下になります。

1.データフローを作成・設定・実行し、Lakehouse側にデータを書き込む

データフロー(Gen2)を作成する
image.png

データフローの名前を指定する
image.png

SQL Server からインポートする
image.png

SQL Server と接続して、カスタマイズSQLステートメントを指定する
image.png

PowerQuery操作画面で、要件に応じて列のデータ型を変更したり、クエリ設定で処理ステップ(データ型変更など)を実施する
image.png

データ同期先に、+ボタンをクリックし、レイクハウスを選択する
image.png

接続先のレイクハウスを指定する
image.png

新しいテーブルを選択する。
同期先のレイクハウス名を選択し、テーブル名を指定する。
image.png

「自動設定を使用する」を選択し、列マッピングにエラーがないことやマッピングされたデータ型に警告がないことを確認してから設定を保存する。
自動設定詳細については、必ず、下記公開情報を参考にしてください。
https://learn.microsoft.com/ja-jp/fabric/data-factory/dataflow-gen2-data-destinations-and-managed-settings
image.png

データ同期先の設定が完了したら、念のため設定内容を確認する。(データ同期先のレイクハウスにカーソルを合わせるとポップアップが表示される)
image.png

データフローを実行する。「保存と実行」をクリックする。
image.png

データフローの最新の実行を確認し、状態が進行中であることを確認する。
image.png

しばらくすると、状態が「成功」になることを確認する。
image.png

アクティビティ名をクリックすると、データがレイクハウスに書き込まれたことを示す情報が表示される。
image.png

Lakehouse側でテーブルが新たに作成されていることを確認し、列名やデータ型が想定どおりであるかを確認する。
image.png

ーーーここまで、データフローの作成・設定・実行を一通り終え、Lakehouse側にテーブルとデータが書き込まれたことを確認ーーー

2.Lakehouseのテーブルを基にセマンティックモデルを作成し、レポートを作成する

Lakehouseのテーブルをもとに、新しいセマンティックモデルを作成する
image.png

セマンティックモデルの名前を指定し、対象テーブルを選択する。
image.png

要件に応じてメジャーを追加する
image.png

新しいレポートを作成する。必要に応じて、セマンティックモデルのバージョン履歴に保存しておく。
image.png

レポートのレイアウトを整え、保存する。
image.png

レポートを保存する
image.png

レポートが表示されることを確認。
image.png

3.データフローで分析対象データの編集や列の追加を行い、その変更がLakehouseテーブルおよびセマンティックモデルに反映されることを確認する

要件に応じて、データフロー側で処理の変更や追加のデータ加工が必要な場合は、データフロー上で対応する。
この例では、値の修正やSQLステートメントを用いた列の追加を想定している。
・値の修正:
image.png

・SQLステートメントの修正を用いて、新しい列を追加する:
image.png

各修正内容が PowerQuery の操作画面に反映されていることを確認する。
image.png

変更したデータフローを実行する。
image.png

データフローの実行が成功したことを確認する。
image.png

Lakehouseテーブル側でデータ変更が反映されるか、最新の情報に更新する。
image.png

各種の変更がテーブルに反映されたことを確認する。
image.png

セマンティックモデルは、初回作成時のスキーマを基に構築されるため、後からテーブルに列を追加しても自動では反映されないことを確認している。
以下の例ですと、「更新」を実施しても新規の列は追加されていないことを確認。
image.png

更新完了
image.png

このとおり、セマンティックモデルを更新しても初回作成スキーマのままが保持されます。
image.png

追加した列をセマンティックモデルに反映するには、手動での編集を実施する。
image.png

テーブルを編集する。
image.png

テーブル情報を取得するには、このリロードボタンをクリックし、最新スキーマが取得されたあと、確認ボタンをクリックする。
image.png

新しい列が追加されたことを確認する。
image.png

レポート側にも新しい列が追加されたことを確認する。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?