レポートを別のセマンティックモデルに切り替える際は、リバインドという操作をすることでレポートを再作成する必要がなくなり、切り替えにかかる工数や負担を軽減することができます。
今回はREST APIを使い、Importモードのセマンティックモデルに紐づいているレポートを、DirectLakeモードのセマンティックモデルへリバインドする方法について紹介します。
REST APIとは
Microsoft Fabric上のリソースをAPI経由で操作・管理するためのインターフェースです。
REST APIを利用することで、レイクハウスやパイプラインなどのデータ基盤操作や、サービス自体の管理・自動化することができます。
各アイテムに対する操作だけでなく、容量やワークスペースに対する操作も可能です。
構成図
今回の構成図は下記の通りです。
データフローGen2やImportモードのセマンティックモデルおよびレポートの作成手順は省略します。
今回は、Importモードのセマンティックモデルに紐づいているレポートを、ウェアハウスから作成したDirect Lakeモードのセマンティックモデルへのリバインドを行います。
Direct Lakeモードのセマンティックモデルの作成
レポートのリバインド先となるDirect Lakeモードのセマンティックモデルを作成していきます。
ウェアハウスの作成
ワークスペース画面の「+新しい項目」より、ウェアハウスを作成します。
ウェアハウスの名前は任意ですが、今回は「Warehouse」として作成しています。
ウェアハウスへのデータ書き込み
ImportモードのセマンティックモデルのデータソースとなっているデータフローGen2を開き、データの同期先の「+」から「ウェアハウス」を選択します。
「次へ」をクリックします。
「新しいテーブル」にチェックを入れ、先ほど作成した「Warehouse」を選択し、「次へ」をクリックします。
任意の更新方法を選択し、「設定の保存」をクリックします。
データの同期先にカーソルを合わせ、先ほど設定した「Warehouse」が指定されていることを確認します。
「ホーム」タブの「保存と実行」をクリックし、データフローGen2を閉じます。
データフローGen2の更新が終了したら、ワークスペース画面よりウェアハウスを開き、下図のようにデータが書き込まれたことを確認します。
Direct Lakeモードのセマンティックモデルの作成
ウェアハウスの画面上部メニューバーより「報告」を選択し、「新しいセマンティックモデル」をクリックします。その後、セマンティックモデル名とテーブルを選択し、「確認」をクリックします。
セマンティックモデルのデータモデル編集画面に遷移後、セマンティックモデルを構築していきます。
※ Importのセマンティックモデルと同様のモデル構造にする必要があります。
参考として、今回利用するインポートモードのセマンティックモデルは下図の通りです。
これで、Direct Lakeモードのセマンティックモデルの作成が完了しました。
REST APIを使ったレポートのリバインド
データ系列ビューの確認
レポートのリバインドを実施する前に、現状のデータ系列ビューを確認します。
ワークスペース画面右上の「データ系列ビュー」をクリックします。
現状は、Importモードのセマンティックモデルにリバインド対象のレポートが紐づいており、Direct Lakeモードのセマンティックモデルにはレポートが紐づいていないことが確認できます。
事前準備
REST APIによるレポートのリバインドには以下要素の情報が必要となるので、事前にメモとして控えておきます。
要素 | 説明 |
ワークスペースID | リバインド対象のレポートやセマンティックモデルが配置されているワークスペースのID |
レポートID | リバインドを行うレポートのID |
データセットID |
リバインド先のデータセットID |
ワークスペースIDの取得方法
ワークスペース画面のURLから、ワークスペースIDを取得することができます。
レポートIDの取得方法
リバインド対象のレポートを開いた状態で、URLからレポートIDを取得します。
データセットIDの取得方法
リバインド先のデータセット(セマンティックモデル)を開いた状態で、URLからデータセットIDを取得します。
ノートブックの作成
今回、REST APIはノートブックで実行していきます。
ワークスペース画面の「+新しい項目」より、ノートブックを作成します。
作成後、下図の画面が立ち上がります。
レポートのリバインド
初めに、必要なライブラリやモジュールをインポートします。
事前に取得しておいたワークスペースIDやレポートID、データセットIDをそれぞれ定義します。
クライアントオブジェクトを作成します。
APIエンドポイントを定義します。
リクエストボディを定義します。
REST APIに対してPOSTリクエストを送信します。
REST APIから返ってきた結果を表示します。HTTPステータスコードが「200」と出力されていれば「成功」です。
データ系列ビューを再度確認
レポートのリバインドを実施後に、ワークスペースのデータ系列ビューを再度確認してみます。
ワークスペース画面右上の「データ系列ビュー」をクリックします。
先ほどまでImportモードのセマンティックモデルに紐づいていたレポートが、Direct Lakeモードのセマンティックモデルにリバインドされていることが確認できます。
これで、REST APIを使ったレポートのリバインドが完了しました。
まとめ
Microsoft FabricでREST APIを使い、レポートをリバインドする方法について紹介しました。
REST APIを使うことで、手動でレポートを再作成することなく、別のセマンティックモデルにリバインドができるのは便利だと感じました。
この他にも様々なREST APIが用意されているので、色々と試してみたいと思います。