【Microsoft×生成AI連載】【Microsoft Fabric】Copilot in Microsoft Fabric for Data Factoryを使ってみた

Microsoft Fabricはデータ収集・加工・分析・可視化、AI活用を一元化するクラウドベースの分析プラットフォームです。

その中の一つであるData Factoryでは、Copilotを活用することで、SQLやDAXの知識が無くても自然言語でデータ変換やクエリ作成が可能になり、データ準備やデータから迅速にインサイトを得ることが可能となります。

本記事では、Copilot in Microsoft Fabric for Data Factory(以降、Data FactoryのCopilotと記載)についてFabricにおけるData Factoryの概要を知りたい方、Data FactoryにおけるCopilotの使い方やユースケースを知りたいという方向けに詳しく解説していきます。

※なお、本記事はMicrosoft Fabricについて基礎的な知識を有していることを前提としています。

これまでの連載

これまでの連載記事一覧はこちらの記事にまとめておりますので、過去の連載も確認してみたいという方はこちらの記事をご参照ください。

blog.jbs.co.jp

Data FactoryのCopilotの機能概要について

Data FactoryのCopilotは、データ統合や変換といった処理を自然言語で指示できるAIアシスタントです。

ユーザーは、SQLやM言語に関する知識が無い場合であっても、Copilotに自然言語でプロンプトを入力し送信するだけで、クエリの生成やエラー箇所提案などのコード補完をさせることが可能です。

具体的には以下のような機能を提供しています。

  • データソースの選択
    • Copilotに自然言語で「SQL Serverから売上データを取得して」などと指示することで"データソースの選択"が可能です。
  •  データ変換
    • Copilotに自然言語で指示することでフィルタ、列追加、集計、結合などの"データ操作"が可能です。
  • コードの自動生成
    • Copilotに自然言語で指示することでSQLクエリやM言語の自動生成が可能です。

使用方法

本記事では実際にサンプルデータを用意して、これらの機能を解説していきます。Microsoft Fabricにアクセスし、Data Flow Gen2を起動します。

事前準備

事前準備に関しては以下に記載しています。なお事前準備の詳細説明については今回は省略とします。

  • 必須条件
    • Microsoft Fabric テナントアカウント
    • Fabric有効化済みワークスペース
  • Data Flow Gen2の作成
    • Fabric上でData Flow Gen2を作成
  • データソースの準備
    • データの用意(例:サンプルデータ)
    • ストレージアカウントの用意
    • Azure Blob Storageへデータ格納

データソースの選択

まずサンプルデータを利用して、「データソースの選択」機能を試してみます。

データソースについては今回はAzure Blob Storage上にサンプルデータを格納したものを使用します。

Data Flow Gen2画面上部のメニューバーより「ホームタブ」 > 「Copilot」を押下します。

※サンプルデータ:Studentperformancefactors(生徒の学業成績に影響する要因)

Copilotチャットペインを開き、プロンプト入力欄にて「Azure Blobからデータを取得する」と入力し、「送信アイコン」を押下します。

次に「データソースの選択」というポップアップが表示されるので、「Azure Blob」を押下します。

次に「データソースへの接続」画面へと遷移するので、画面中央の赤枠部分にて接続設定を行い、「次へ」を押下します。今回はAzure Blobに格納したcsvファイルをデータソースとします。

ここで必要な情報は以下の3つのどれか一つとなります。いずれもAzure Portalから確認できます。

  • ストレージアカウント名:<ストレージアカウント名>
  • BlobサービスのURL:https://<ストレージアカウント名>.blob.core.windows.net/
  • 特定のコンテナーに接続する場合:https://<ストレージアカウント名>.blob.core.windows.net/<コンテナー名>

「フォルダーデータのプレビュー」画面へと遷移するので、確認後「作成」を押下します。

結果、以下のように新しくAzure Blob内のcsvファイルがデータソースとして追加されます。

このように、Data FactoryのCopilotにより追加されたデータソースは以下のようなことが可能です。

  • 中身をテーブルとして取り込みファイル内容を展開することができます。
  • 追加されたデータソースを対象にデータ変換・整形が可能です。
  • 様々なデータソースから複数のファイルを追加し、同じ構造であれば一括で結合する等といった、複数ファイルの一括処理も可能となっています。

加えて、Fabric Data Factoryのパイプラインより、BlobをソースとしてETL処理を構築することも可能となっています。

データ変換

次に「データ変換」機能を試してみます。

「データ変換」機能では列追加、集計、結合等そのほかにも様々なデータ操作が可能ですが、今回は"列追加"と"集計"を試してみます。

まずは"列追加"についてです。

Copilotチャットペインを開き、プロンプト入力欄にて「Studentperfomancefactorsテーブルに"add column"という列を追加してください」と入力し、「送信アイコン」を押下します。

結果、以下のように回答が生成され、テーブルの末尾(右端)に列が追加されます。赤枠部分"add column"が新たな列として追加されています。

次は"集計"についてです。

例えば「Exam_Score(テストスコア)」に着目して"集計"するとします。

同様にCopilotチャットペインを開き、プロンプト入力欄にて「"Exam_Score"列の平均、中央値、最大値、標準偏差を計算してください」と入力し、「送信アイコン」を押下します。

結果、以下のように回答が生成され、集計結果が表示されます。赤枠部分"Exam_Score"列の平均、中央値、最大値、標準偏差の集計結果が表示されています。

コードの自動生成/解説

次に「コードの自動生成/解説」機能を試してみます。自動生成するコードとして適切なのは、Power QueryのM言語やSQLクエリです。

先ほど「データ変換」のセクションでご紹介した「Exam_Score(テストスコア)」の基本統計を計算するM言語の自動生成/解説を試してみます。

同様にCopilotチャットペインを開き、プロンプト入力欄にて「"Exam_Score"列の平均、中央値、最大値、最小値、標準偏差を計算し、#table構文で結果を表示するMコードを生成してください」と入力し「送信アイコン」を押下します。

結果、以下のように回答が生成され、自動生成されたM言語が表示されます。

画面上部の赤枠部分の数式バーで自動生成されたM言語を確認することができます。

また、「ホームタブ」 > 「クエリ」 > 「詳細エディタ」の順で押下すると、数式バーよりも詳細に確認、編集することができます。

利用シーンとメリット、注意点

利用シーン

  • データソースの接続
    • 「Azure Blobからデータを取得して」などの指示で、接続設定を自動生成できます。
  • データ変換/整形
    • 「この列を日付型に変換」「不要な列を削除」などを自然言語で実行できます。
  • データフローの作成
    • 「売上データを集計して月次レポート用に整形」など、ETL処理を自動構築できます。
  • パイプラインの自動化
    • 「毎日午前9時にBlobから最新ファイルを取り込んでLakehouseにロード」など、スケジュール設定を含むパイプラインの生成ができます。
  • クエリの自動生成
    • SQLやM言語を自然言語で生成できます。

メリット

Data FactoryのCopilotを活用することで以下のようなメリットが考えられます。

  • 専門知識が不要
    • M言語やSQLを直接書かなくても、自然言語でプロンプトを投げるだけデータ変換や集計等が可能です。
    • ビジネスユーザーや非データエンジニアであっても高度な処理を実行できます。
  •  データ準備の効率化
    • 複雑なETLやデータフローを短時間で構築できます。
    • 列追加、フィルタ、集計などの操作をワンクリック+自然言語で実現できます。SQLクエリを書く必要はありません。
  • クエリの自動生成
    • Power QueryのMコードやSQLを自動生成させることができます。
    • 自然言語で指示すれば、処理内容を詳しく解説してくれます。

注意点

  • 出力内容の正確性について
    • Copilot機能は便利ですがAIアシスタントであり、必ず正しい出力結果を返すとは言えません。意図しない回答や不正確な出力結果を返す可能性が十分にあります。
    • 生成されたクエリや提案は、正確性とシステム要件への適合性を十分に確認する必要があります。
  •  パフォーマンスとコスト
    • 大規模なデータに対する複雑な質問は処理に時間が掛かるケースがあります。
    • Fabric容量(コンピューティングリソース)を消費するため、コスト管理も重要となります。

まとめ

Data FactoryのCopilotを活用することでデータエンジニアリングの民主化を加速させます。

専門的な知識を持つデータエンジニアなどのユーザーは、Data FactoryのCopilotを活用することで、自然言語でパイプラインやData Flow・複雑なETLロジック・変換処理を簡単に構築できるため、コード記述や設定作業を大幅に削減することができます。これにより、データエンジニアはアーキテクチャ設計、データガバナンスなど戦略的領域に集中できます。

一方、非データエンジニアでも、Data FactoryのCopilotの自動提案などの機能を活用することで専門知識不要で分析が可能になります。これにより、データ活用なハードルが大きく下がり、だれでも効率的にデータから価値を引き出せるようになります。

おまけ(Copilot Chatによる本記事の要約)

【記事の概要】
Microsoft Fabricは、データ収集・加工・分析・可視化、さらにAI活用までを一元化するクラウドベースの分析プラットフォームです。その中核機能の一つであるData Factoryでは、Copilotを活用することでSQLやDAXの知識がなくても自然言語でデータ変換やクエリ作成が可能になります。
 
【Data FactoryのCopilot機能概要】
・自然言語で指示可能
データ統合や変換をAIアシスタントに指示でき、SQLやM言語の知識も不要。
・主な機能
データソース選択:「SQL Serverから売上データを取得して」などの指示で接続。
データ変換:列追加、集計、結合などを自然言語で実行。
コード自動生成:SQLやPower QueryのMコードを生成し、解説も提供。
 
【使用例】
列追加:「StudentPerformancefactorsテーブルに列を追加して」 →新しい列が追加。
集計:「Exam_Score列の平均、中央値、最大値、標準偏差を計算して」 →結果が表示。
コード生成:「Exam_Score列の統計を計算するMコードを生成して」 → 自動生成されたコードを確認・編集可能。
 
【メリット】
専門知識不要:非データエンジニアでも高度な処理が可能。
効率化:複雑なETLやデータフローを短時間で構築。
クエリ自動生成:自然言語で指示すればSQLやMコードを生成し、解説も付与。
 
【注意点】
正確性の確認:AI出力は必ずしも正確ではないため、検証が必要。
パフォーマンスとコスト:大規模データでは処理時間やFabric容量消費に注意。
 
【まとめ】
Data FactoryのCopilotは、データエンジニアにとってはコード記述や設定作業を削減し、戦略的業務に集中できる環境を提供します。非データエンジニアにとっては、専門知識不要でデータ分析が可能となり、データ活用の民主化を加速します。
執筆担当者プロフィール
砂原 琉栄

砂原 琉栄(日本ビジネスシステムズ株式会社)

2024年度入社。Data&AI系ソリューションを扱うグループに所属しています。SnowflakeやMicrosoft Fabricなどのデータソリューションの他、Azure OpenAI Service、Microsoft 365 Copilot(エージェント含む)などのAI案件をメインに担当しています。

担当記事一覧