第5回では以下の内容をご説明します。
1-3. CopilotがMicrosoft Fabricの各種エクスペリエンスでできること
1. Copilot機能とは
CopilotはMicrosoftが開発した生成AIを活用したアシスタント機能です。特に、Microsoft FabricにおけるCopilotはデータ分析や処理のプロセスを簡素化し、初心者からプロフェッショナルまで幅広いユーザーが効率的にデータを活用できるように設計されています。以下では、Copilotの概要、特徴、活用例について詳しく説明します。
1-1. Copilotの概要
Copilotは、AI技術(特に生成AI)を活用し、ユーザーが自然言語での操作や質問を通じて、複雑なデータ処理や分析を実行できる機能です。Microsoft Fabric内の複数のエクスペリエンス(Data Factory、Power BI、Data Warehouseなど)に統合されており、自然言語での操作を特徴としています。Microsoft Fabric内では、以下の役割を果たします。
- 自然言語で操作可能
ユーザーが”2023年の売上データをグラフにしてください”などと指示を入力すると、SQLやコードを生成して自動的に作業を実行できます。特にIT初心者にとって、専門知識不要で簡単に使える点が大きな利点です。
- 高度なAIアシスト
データの処理、エラー修正、分析結果の洞察提供などを支援し、”このデータの欠損値を埋めてください”や”異常値の原因を調査してください”といった具体的な依頼にも対応可能です。
- データ分析の自動化
データを取り込み、加工、分析、可視化する一連の作業をAIが支援し、繰り返し行うタスクをテンプレート化し、自動で処理します。
- Copilotの存在意義
従来、データ操作や分析にはSQLやプログラミングスキルが必要でしたが、Copilotにより誰でも簡単にデータの価値を引き出せる環境が整備され、データを活用できる人材の拡大にもつながります。
1-2. Copilotの活用例
Copilotは、Microsoft Fabricの各エクスペリエンスでデータの収集、加工、分析、可視化、洞察の提供を自然言語ベースで支援します。以下に、代表的な活用シナリオをいくつか具体的に説明します。
1-2-1. Power BIを使用した日次レポートの作成
シナリオ:営業部門が毎日売上データを確認するために日次レポートを作成したい。
Copilotの操作:
指示: “昨日の売上データを取得し、地域ごとのグラフを作成してください”と入力します。
結果: Copilotがデータベースから昨日のデータを取得し、自動的に地域ごとに売上を分類した棒グラフを作成します。
Copilot を使用して Power BI サービスでレポートを作成する - Power BI | Microsoft Learn
1-2-2. Data Factoryを使用したデータフィルタ
シナリオ:マーケティング部が広告データを分析する前に、地域でデータセットを分けたい。
Copilotの操作:
指示: “ヨーロッパ地域の顧客にフィルタしてください”と指示します。
結果: Copilotが自動的に顧客データセットを確認し、フィルタリングをかけて出力されます。
データ ファクトリ用 Copilot の概要 - Microsoft Fabric | Microsoft Learn
1-3. CopilotがMicrosoft Fabricの各種エクスペリエンスでできること
Microsoft Fabricが提供する各種エクスペリエンス(Data Factory、Power BI、Data Warehouseなど)において、Copilotがどのような機能を提供し、業務効率化や意思決定支援に貢献するのかについて簡潔に解説します。
1-3-1. Data Factory
データの収集、統合、変換を簡単に指示可能で具体的に以下4つの機能があります。
- 新規テーブル作成
- 列の生成/削除/変換
- テーブルの結合
- テーブル内のクエリの要約
例: “Azureからデータを取得して、不要な列を削除して保存してください”と指示するとデータ取得・加工処理を実行します。
1-3-2. Power BI
データの可視化やレポート作成をサポートします。
例: “売上データを棒グラフにしてダッシュボードに追加してください”と指示するとダッシュボード作成を実行します。
1-3-3. Data Warehouse
複雑なSQLクエリの自動生成を行います。
例: “商品ごとの売上トップ10を表示してください”と指示するとクエリ実行結果を取得します。
1-3-4. Real-Time Intelligence
リアルタイムでのデータ分析や可視化を行います。
例: “リアルタイムの在庫状況をモニタリングするダッシュボードを作成してください”と指示すると要件を満たすダッシュボードを実行します。
1-3-5. Data Science
データモデルや機械学習ワークフローの構築支援を行います。
例: “このデータを使って予測モデルを作成してください”と指示するとAIモデルの構築を実行します。
1-3-6. Data Engineering
データの加工や整形を行います。
例: “このデータセットの異常値を特定してください"と指示するとデータチェックを実行します。
1-4. Copilotのメリット・デメリット
Copilotが提供する利便性や効率化といった「メリット」に加え、コストやカスタマイズの限界といった「デメリット」についても簡単に解説します。
1-4-1. メリット
- 初心者でも使いやすい
自然言語で操作できるため、専門知識が不要です。
- 対話型レスポンス
リアルタイム応答と細かい修正指示が可能です。
- 効率的な作業
繰り返し行うタスクを自動化し、時間を大幅に節約できます。
- インサイトの即時提供
データから有益な洞察を迅速に得られます。
- 統合環境
Microsoft Fabric内の他エクスペリエンスとスムーズに連携可能です。
1-4-2. デメリット
- 複雑なカスタマイズには限界
高度な分析やカスタマイズが必要な場合、Copilotだけでは対応が難しいことがあります。
- コスト
大規模なデータ処理や長時間の使用では、コストが増加する可能性があります。
- 学習が必要
初心者向けの設計ですが、Microsoft Fabricの全体のCopilot活用には多少の学習が必要です。
1-5. Copilotが向いているユーザー
Copilotは、Microsoft Fabricを支える革新的なAIアシスタント機能で、初心者でも直感的に使える設計が特徴です。自然言語を使った操作、データ分析の自動化、インサイトの提供など、多くのメリットがあり、データ活用を効率化します。特に初心者にとっては、データ分析の第一歩を踏み出すのに最適なツールです。
2. Copilotの設定および使用方法について
次にMicrosoft FabricにてCopilotを使用するための設定および使用方法についてご説明します。
2-1. Copilotを使用するための前提条件について
Copilotを使用するためにはSKU(最小在庫管理単位)がF64以上となっている必要があります。試用版(無料)の場合もSKU F64が使用できますが、Copilotは使用することができないので、その点は注意してください。
また、F64未満のSKUでは、Power BI を使用するユーザーごとにPower BI Pro または Premium Per Userライセンスが必要です。F64 以上の Fabric容量のワークスペース内のコンテンツは、ワークスペース上のViewerロールを持っていれば、無料ライセンスを持つユーザーが使用できます。
Microsoft Fabric の概念 - Microsoft Fabric | Microsoft Learn
※2024年12月時点
Microsoft Fabricの「管理ポータル>ファブリック容量」から「容量SKU」がF64以上の容量が存在することをご確認ください。
もし、F64以上の容量が存在しない場合は「【第2回】Microsoft Fabricの初期設定とアクセス」の「3. AzureでのFabricリソースの作成」をご確認いただき、Azure PortalのMicrosoft Fabricから新規容量を作成してください。
SKU 別の Microsoft Fabric 機能 - Microsoft Fabric | Microsoft Learn
2-2. ワークスペースの設定
Microsoft FabricでCopilotを使用するためには2-1で確認したSKU F64の設定と使用するワークスペースを紐づいている必要があります。
ワークスペースの設定画面を開き「ライセンス情報>ライセンス容量」でSKU F64の容量が割り当てられていることをご確認ください。より詳細な設定方法に関しては「【第2回】Microsoft Fabricの初期設定とアクセス」「5. Microsoft Fabricへのアクセスと使用例」をご確認ください。
Fabric で Copilot を有効にする - Microsoft Fabric | Microsoft Learn
3. Data Factoryでの使用例
Data Factoryではデータフロー(Gen2)とパイプラインでCopilotを使用できます。今回はデータフロー(Gen2)での使用例についてご説明します。
3-1. Copilotの起動
データフロー(Gen2)を開き、ホームタブからCopilotをクリックします。
クリックすると画面右側にCopilotの入力エディタが表示されます。これでCopilotを使用する準備は完了です。
3-2. Copilotの簡易的な使用例
下記図のテーブルtest_tableから[ValueA]列×[ValueB]列の結果列[MultiplicationAB]の追加と[ValueC]列の削除操作をCopilotで実装していきたいと思います。
3-2-1. Copilotの入力画面に”test_tableのValueAとValueBの積を計算し、計算結果を新規列MultiplicationABに入れてください”と入力します。
処理が完了するとメッセージが表示され、実際にテーブルtest_tableに新規列[MultiplicationAB]が追加されていることを確認できます。
3-2-2. 次に”test_tableのValueCを削除してください”と入力します。
同じく処理が完了するとメッセージが表示され、テーブルtest_tableから[ValueC]が削除されていることを確認できます。
また、Copilotの入力画面の元に戻すボタンをクリックすると、行った操作を簡単に取り消すことができます。
実際に[ValueC]の削除処理が取り消され、処理直前にデータが戻っていることが確認できます。
なお、直前以外の操作や複数の操作を同時に元に戻すことはできないので、その点は注意してください。
このようにCopilotを使用してデータの加工を簡易的に実施することができます。
3-3. Copilotの実践的な使用例
次に、より実践的な使用例として「【第3回】Microsoft Fabricを用いて製薬会社向けレポートを作成する 」で実施したデータ加工の一部をCopilot用いて実装してみたいと思います。
MR活動状況「MR_Activity」と講演会参加者リスト「Event_Attendee_List」の二つのテーブルを結合したテーブルから、講演会後指定期間内に参加医師へフォロー活動を行うことができたかのフラグ立てを行います。
以下はそれぞれのデータ例です。
MR活動状況「MR_Activity」
※【第3回】の「Event_MRact_dmy_v3_utf8_sig.csv 」と同様のデータです。
講演会参加者リスト「Event_Attendee_List」
※【第3回】の「Event_participants_dmy_v4_utf8_sig.csv」と同様のデータです。
Dr_codeで結合されたテーブル「Event_Attendee_List_join_MR_Activity」
訪問活動がイベント実施日の20日以内に実施できている、または、メール活動がイベント実施日の15日以内に実施できている場合に講演会後指定期間内に参加医師へフォローができているとしてフラグを立てることにします。
3-3-1. まず、実施日がテキスト型になってしまっているので、比較ができるように日付/時刻型に変換していきます。
Copilotの入力フォームに“Event_Attendee_List_join_MR_Activityの実施日を日付/時刻型に変換してください”と入力します。
処理自体にエラーは発生していないものの、実施日がErrorとなってしまっているので、この処理を元に戻して、もっと具体的な内容で指示を出してみます。
今回は問題なく変換が完了しました。日本語や曖昧な指示の場合、うまく処理を実施してくれないケースがよくありましたので、現段階では1クリックで終わるような処理や複雑すぎる処理などはCopilotを使用しない方が良いかもしれません。
3-3-2. 次に条件に合ったデータにフラグを付けるよう指示を出してみます。
“次の条件でEvent_Attendee_List_join_MR_Activityに「MR活動フラグ」を追加してください。
・もし活動日_visitが実施日より大きく、実施日+20日以下の場合は”1”を入力
・もし活動日_mailが実施日より大きく、実施日+15日以下の場合は”1”を入力
・条件に当てはまらない場合は”0”を入力”
と指示します。
Errorとなっていますが、式は概ね完成していそうです。
エラーの詳細をチェックするとnullの場合に処理が正常に動いていないことがわかるので、活動日がnullではないときに日付範囲の判定を実施するように、式の条件に”[活動日_visit] <> null”と”[活動日_mail] <> null”を追加してみます。
これでエラーが無くなり、講演会後指定期間内に参加医師へフォロー活動を行うことができたかのフラグ立てが完了しました。
複雑な処理や完璧には対応しきれているとは言い難いものの、数式などの書き方がわからない人であっても命令を工夫することで、簡単に結合処理や数式込みのカスタム列の追加などが簡易的になります。
4. Power BIでの使用例
Power BI ではPower BI ServiceとPower BI Desktop でCopilotを使用できます。今回は、Power BI Service での使用例について、レポート閲覧者、作成者に分けてご説明します。
4-1. レポート閲覧者向けのCopilot
レポート閲覧者はCopilotを使用すると、レポートの概要を知ることや、ビジュアルに関する質問等が可能です。
レポート閲覧者というのは以下のような方々を指します。
- ビジネス上の意思決定をする方
- レポートの概要を知りたい方
- レポートについてより詳しく知りたい方
どのように活用可能か具体例をもとに見ていきます。
今回使用するレポートは、製薬会社における講演会について、各回の参加者数やアンケートによる満足度、MRの情報提供実施数・割合等をまとめた講演会集計レポートです。
※MRとは、Medical Representative(メディカル・リプレゼンタティブ)の略で、日本語では「医薬情報担当者」を指します。製薬会社などに所属し、医師や薬剤師などの医療関係者に自社の医療用医薬品に関する情報を提供する営業担当者の職種です。
4-1-1. レポートの要約を生成
講演会集計レポートについて、Copilotに要約してもらいます。
4-1-1-1. “このレポートの概要を教えてください。”と入力すると、レポート全体を上手く要約してくれます。
4-1-1-2. 赤枠で囲った数字をクリックすると対象のビジュアルがライトアップされます。
4-1-2. ビジュアル化していないデータ項目についての質問
※様々な質問をしてみましたが、質問する文章のクオリティ(Copilotが理解できるか)やデータ項目の指定が閲覧ユーザーの呼び方になっているかなどによって返答に差異があります。
- 意図する返答を得られた場合
以下のような形式の視聴履歴データを裏側で持っています。
“各イベントの平均視聴時間を求めてください”と入力すると、”集合横棒グラフ”で結果を返します。データから視聴時間の列を参照し、各講演会の平均視聴時間を算出します。
また、”表形式で表示してください”と入力すると、表形式で結果を返します。
- 意図しない返答を得た場合
医師に対して、「ターゲットフラグ」をテキスト型で持っています。ターゲット医師は、1で示されています。
①:”ターゲット医師”の意味が伝わらず回答を得られないパターン
”講演会1に参加した医師の中で、ターゲット医師は何名いましたか?”と入力すると、”ターゲット医師とは何を意味するのかよくわかりません。”と返されます。
”ターゲットフラグが1になっている医師です。”と入力すると、”よくわかりませんでした。リクエストを言い換えてみてください。”と返されます。
②:回答を得られ数値も合っているが、質問文章が閲覧者向けではないパターン
”講演会1に参加した医師の中で、ターゲットフラグが1の人は何名いましたか?”と入力すると、”5455”と返されます。講演会1に絞った上で、ターゲット医師の人数を算出します。
- 意図しない返答 → 意図する返答が得られるようにする
レポート作成者向けの内容になってしまいますが、以下のように「ターゲットフラグ」を”ターゲット医師・Nonターゲット医師”のように変更することで意図する返答を得られます。
”講演会1に参加した医師の中で、ターゲット医師は何名いましたか?”と入力すると、”5455”と返されます。講演会1に絞った上で、ターゲット医師の人数を算出します。
4-2. レポート作成者向けのCopilot
レポート作成者はCopilotを使用すると、レポート作成時のサポートやセマンティックモデルに関する概要を知ること等が可能です。
※出力結果が必ずしも正しいとは限らないため、正確性と妥当性を十分に確認する必要があります。
レポート作成者というのは以下のような方々を指します。
- どのビジュアルを使用して、どのようなページを作成するか迷っている方
- 概要レベルでレポート要件が決まっているが、ビジュアル化までは至っていない方
どのように活用可能か具体例をもとに見ていきます。
4-2-1. ベストプラクティス
下表は公式サイトを参考に、考慮するとよい推奨事項の一部をまとめたものです。4-1-2.の「意図しない返答 → 意図する返答が得られるようにする」でご紹介したように、閲覧者の言葉遣いを意識したデータを持つことも重要です。
考慮事項 |
説明 |
例 |
---|---|---|
テーブル同士のリレーションシップ |
一対多や多対多などのリレーションシップを明確に定義する。 |
DateテーブルとSales テーブルは、DateIdフィールドを用いて一対多で紐づける。 |
テーブル名、列名 |
明確でわかりやすい名前を使用する。 |
ProdID ではなく Product_Nameを使用する。 |
列のデータ型 |
すべての列に正しいデータ型を適用する。 |
数値型で持つべき列をテキスト型で設定していなか確認する。 |
詳しくは下記公式サイトをご覧いただければと思います。
Copilot for Power BI で適切に動作するようにデータ モデルを更新する - Power BI | Microsoft Learn
4-2-2. セマンティック モデルを要約
レポートで使用されているセマンティック モデルについて要約してくれます。
“このレポートに使用されているデータについて概要を教えてください。”と入力すると、セマンティック モデルについての要約を提供し、理解を深ぼりができます。
※日本語で質問したところ、英語で返答がきました。完全な日本語対応はもう少し先になりそうです。
4-2-3. データに基づいたトピックの提案
データに基づいたトピックを提案し、レポート作成に役立てることができます。
“どのようなトピックのページを作成したら良いか提案してください”と入力すると、候補が複数表示されます。
一番上の候補の「+Create」をクリックすると、レポートが作成されます。
どのビジュアルを使用して、どのようなページを作成するか迷っている際に使用すると便利です。
※使用されるビジュアルが意図したものと異なる場合があるため、その際は手動で編集する必要があります。
4-2-4. レポートページの作成
概要レベルの指示を伝えるとページを生成してくれます。
“ドーナツグラフを使用して、診療科の割合を「参加者数」、「アンケート回答者数」、「満足者数」、「フォロー数」ごとに表示するビジュアルを作成してください。”と入力すると、ページが作成されます。
どのデータをビジュアル化したいのか、ある程度決まっている際に使用すると便利です。
一部サポートされていないビジュアルもあります。その際は、手動で作成する必要があります。
4-2-5. 説明ビジュアルで要約を生成する
説明ビジュアルを使用する際に、特定のビジュアル、ページ全体、レポート全体など説明範囲を柔軟に変更し、対象範囲に関する要約を生成してくれます。
説明ビジュアルを追加し、「Copilot(プレビュー)」をクリックします。
説明が生成されます。説明範囲を変更する場合は、「参照ビジュアル」をクリックし、任意のビジュアルを選択します。
4-2-6. メジャーに関する説明を記載
設定を有効化することで、DAX 数式に基づいたメジャーの説明を記載してくれます。
※Direct Lake セマンティック モデル、または API または XMLA エンドポイントを使用したセマンティック モデルの編集には適用されないため注意が必要です。
4-2-6-1. データモデルの設定を有効化する
「ワークスペースの設定」→「Power BI」→「全般」の順にクリックし、「データモデルの設定」を「有効化」します。
4-2-6-2. データ モデルを開く
型が「セマンティックモデル」となっている項目を「…」→「データ モデルを開く」の順にクリックするとデータモデルが開きます。
4-2-6-3. メジャーに関する説明を生成する
データ モデルでメジャーを選択し、「Copilotの作成(プレビュー)」をクリックすると、説明が記載されます。
※日本語で質問したところ、英語で返答がきました。完全な日本語対応はもう少し先になりそうです。
5. 最後に
Microsoft FabricのCopilot機能について、前提条件・設定方法、メリット・デメリット、Data FactoryやPower BIでの使用例などをご紹介しました。複雑な処理に対して完璧に対応しきれているとは言い難いものの、命令を工夫することで、簡易的な処理やレポート作成を行うことができます。
ただ、出力結果が必ずしも正しいとは限らないため、正確性と妥当性を十分に確認する必要があることをご留意いただければと思います。
しかしながら、今後アップデートが進めばデータ加工や機械学習、レポート作成などの分析業務において大きな手間を削減することが見込めます。そうなると、より多くのバックエンドを持つ人材が利用できるのでチーム開発のレベルも確実に高いものになっていくと想定されます。
弊社では引き続きCopilotのアップデートをトラッキングして、可能性を追求していきます。
これまでのご紹介内容で疑問点がございましたら以下よりお気軽にお問合せください。
本記事は、2024年11月時点のMicrosoft Fabric環境を元に記述しております。最新情報は、Microsoftの公式ドキュメントでもご確認ください。