テクテク日記

テクテク=テクノロジー&一歩ずつ(テクテク)https://aka.ms/techtech2 より、カテゴリー別にフィルターできるようになります。

Power BIがさらに賢く進化: Copilot ToolingとStandalone Copilot ①

Power BI における Copilot 機能が大幅に強化されました。今回追加された 2 つの新機能、「Copilot Tooling(AI 用にデータを準備)」と「Standalone Copilot(没入型 Copilot)」により、データの作成者と消費者の双方にとって、より直感的でインテリジェントな分析体験が実現されます。本ブログでは、これら 2 つの機能を中心に、「Chat with your Data(データとの対話)」体験やその他の仕様について解説していきます。細かな仕様にも触れるため、2 回に分けてご紹介していきます。

能登場の背景

Copilot Tooling が登場した背景には、従来の Copilot がいわば「ブラックボックス」的な振る舞いをしており、ユーザーはプロンプトを工夫しながら結果の精度を高める必要がありました。しかし、そのアプローチでは限界があり、作成者側から Copilot の挙動を制御したいというニーズが強く求められていました。Copilot Tooling により、モデル設計者が Copilot を「トレーニング」し、意図通りの回答を導きやすくなる機能が提供されたことで、この課題に対処できるようになりました。

また、Standalone Copilot による「Chat with your Data(CWYD)」体験は、ChatGPT のように自然言語でデータと対話できる環境を、Power BI 上の自社データにもたらすものです。さらにこの機能は、Power BI や Fabric にとどまらず、M365 などの他の Microsoft プラットフォームからもデータにアクセスできるように設計されており、今後のデータ活用の規模を一気に拡大させる重要なステップとなります。

Copilot Tooling(Prep your data for AI)の概要

Copilot Tooling は、Copilot による自然言語での分析精度を高めるための準備機能です。たとえば、セマンティックモデルに文脈情報を追加して Copilot が意図を正しく理解できるようにしたり、ユーザーに提示したい結果をレポート内のビジュアルとして定義したりすることが可能です。

今回のCopilot 機能にアクセスするには、2025年6月以降のバージョンの Power BI Desktop が必要です。基本的な設定については、以下の公式ドキュメントをご参照ください。
また、Copilot を利用するための前提条件についても、こちらのリンクから事前に確認しておくことをおすすめします。
learn.microsoft.com

そのほか、Power BI Desktop のオプション設定から「Copilot」タブを開き、下図のように構成を行う必要があります。この際、Fabric 容量または Power BI Premium 容量として割り当てられているワークスペースを選択して指定することが必要です。

Copilot tooling の主な機能としては以下3つがあります。

  1. データスキーマを簡略化する = AI データスキーマ (AI data schema) 
  2. 確認済みの回答 (Verified answers)
  3. AI への指示を追加 (AI instructions)

これらの設定を行うには、Power BI Desktop を起動し、以下の手順で設定画面にアクセスする必要があります。

Copilot を使う上の基礎知識

スキーマとは

AI データスキーマの話に入る前に、前提となる「スキーマ(schema)」という言葉について触れておきましょう。

Power BI を日常的に利用している方にとっては、「スタースキーマ」が最も耳なじみがあるかもしれませんが、「スキーマ」という言葉単体で語られる機会はあまり多くありません。しかし、スキーマはデータベースやデータ分析の分野において非常に重要な概念のひとつであり、データの構造や意味を理解する上で欠かせないものです。

スキーマとは、データの構造やルールを定義する「設計図」のようなものです。どのようなデータ項目(カラム)が存在し、それぞれがどのような型(数値、文字列、日付など)を持ち、どのような関係や制約があるのかを記述します。

用途によって、スキーマの意味合いも少しずつ異なります:

  • リレーショナルデータベース(RDB におけるスキーマは、テーブルの構成、カラム名、データ型、主キーや外部キーといった制約事項などを定義します。
  • JSONスキーマXMLスキーマ では、それぞれの形式でデータ構造や項目の定義、必須/任意のフィールドなどを指定します。
  • Power BI の Copilot における AI データスキーマ は、Copilot がデータを理解し、適切な提案や回答を行うための構造定義です。たとえば、「製品名」「売上金額」「期間」などの意味を持つ列や、どの DAX メジャーを活用すべきかといった情報を含みます。

なお、Fabricの中ではLakehouseにおいて、dboというスキーマ名が存在しますが、下図のように、別の名前で新しく作成することが可能です。

詳細は別の記事にしますが、スキーマを作る主な理由は以下の通りです。

  • 論理的な整理
    「売上データ」「マスターデータ」「監査ログ」など、データの種類ごとにスキーマを分けることで、管理しやすくなる
  • アクセス制御
    スキーマ単位で権限設定を行うことで、ユーザーごとのアクセス範囲を柔軟に管理可能
  • 名前の競合回避
    異なるスキーマに同名のテーブルを持つことができるため、複数チームやプロジェクトでの共存が可能に

スキルとは

Copilot for Power BIを使用する際、「スキル」と言われるものがあります。

learn.microsoft.com

詳細は上記公式ドキュメントを参考にしていただきたいのですが、①~③のように、異なるスキルを選択することができます。

  1. Answer questions about the data (データに関する質問に回答)
  2. Analyze report visuals (レポート ビジュアルの分析)
  3. Create new report pages (新しいレポート ページの作成)

Tipsとして、1に対する回答精度を高めたい場合、2と3を選択解除しておくと便利です。なお、それぞれの具体例については以下の通り。

① Answer questions about the data (データに関する質問に回答)
  • Input: データに関する質問(例:日本における売上トップ5の製品を教えて)
  • Output: 下記のいずれかになる
    • Copilot toolingで実施された場合、ビジュアルで設定した「承認済みの回答」が返る
    • レポートビジュアルをベースとしたテキストによる回答(Report Content Skill)
    • ビジュアル付の関連するテキストによる解説(Q&A Skill)
    • DAX Queryによるインライン状態のテーブル(NL2DAX Skill in DQV)
      ⇒ 編集・読取モード両方に対応済✅
      ※NL2DAX = Natural Language to DAXの略
  • Tips: 
    • ハイブリッドスキルが必要であり、どこで間違えたかDebugするにはスキルが必要となる
    • 結果はモデル・レポートの品質に大きく左右される

サンプルプロンプト:
2020年から2021年までの在庫推移はどうですか?

ご覧のとおり、日本語のプロンプトでは、残念ながら「データに関する質問に回答」スキルから期待するような返答を得ることができませんでした。これは、「承認済み回答」が設定されておらず、レポートのビジュアルをもとに回答が生成されたためと考えられます。

一方、同じ内容を英語で尋ねたところ、それらしい回答は返ってきました。しかし、よく確認すると、期待していた内容とは異なり、回答のクオリティも非常に低いものでした。

ここで注目すべき点は以下の3点です:

  1. 英語でプロンプトを入力している点
  2. Copilotは回答しようとする姿勢は見せるものの、現時点ではクオリティが十分ではない点
  3. AIに適した形でデータを準備する必要があるという示唆が得られる点

つまり、「データに関する質問に回答」スキルのクオリティを高めるには、「AIへの指示を追加」機能を活用し、AIが意図を正しく理解できるようにすることが重要です。

なお、LLMになりますので、私のテストが皆さんのテスト結果とは異なる可能性が高いことにご留意ください。

② Analyze report visuals (レポート ビジュアルの分析)
  • Input: 2020年から2021年までの在庫推移はどうですか?(数値を含むことが多い)
  • Output: レポートをハイライトするような直接な回答が返ってくる。
  • Tips: 
    • NL2DAX は使用されないため、このSkillだけを✅した場合、レポートビジュアルにない計算を行うことはできない
    • 比較分析に最も優れている
    • 現在のビューで可視化されていないデータについては対応できない(例: フィルターやスライサーが現在適用されていない部分。例えば、Japanとしてフィルターされていない場合、Japanについて聞くと回答できないと返ってくる場合や、直近1年間だけがフィルターされていた場合、前年売上が定義されていなければ結果が表示されない、等)
    • ビジュアルがデータの全範囲を表示していない場合、最小/最大値や最上級の質問は正確にならない(高密度な時系列データ、テーブルビジュアル、階層付きマトリクス等)

こちらのSkillだけを有効にした場合は以下の通りになります。

サンプルプロンプト:
A-Eの月次売上高と月次在庫を直近12ヵ月表示して

結果、レポートビジュアルに表示されたデータしか参照されなくなるため、Copilot の回答が誤って抽出される可能性があります(上図①の結果は間違っている)。Output に記載されている通り、ビジュアルに回答が含まれている場合に最も効果を発揮する Skill だと言えるでしょう。

活用のポイントとしては、「Answer questions about the data(データに関する質問に回答)」と併せて有効化(✅)することで、さらに効果を高めることができます。

③ Create new report pages (新しいレポート ページの作成)

最後のSkillはその名の通り、新しいレポートページを作成するスキルになります。

特徴:

  • 自分用のカスタムプロンプトを入力する
  • 既存のプロンプトを使用してプロンプトを送る
  • 現在、新しいページの作成は一気に作られるようになるが、今後は1つずつ作られる過程を観られるようになる予定(例: チャートを変更する際、ページ全体を更新するのではなく、1つずつ対応する等)

サンプルプロンプト:
粗利益率と値引率の関係(商品別)を示して。チャートの色はダークブルーで。

色まで指定できなかったですが、結果はまずまずでした。理想を言えば、下図のように凡例に Group を含めたレポートを一発で生成できるのがベストですが、現時点では、このようなビジュアルを自動で一度に生成することはまだできません。

最後に

今回は、Copilotの活用に関する基礎的なポイントを中心にご紹介しました。次回は、Copilotをより実務的に活用するための具体的な手段に踏み込みます。とくに、Copilot Tooling の設定と活用、そしてFabric ポータルに登場した「Standalone Copilot」の真価について詳しく取り上げていきます。