「Copilot、Copilot...」と連呼する前に、Power BIでは...

## はじめに
 2023年は一年中「Copilot、Copilot...」、「ChatGPT、ChatGPT...」の連呼を聞く毎日でした。チャットの入力で、人に聞くかのように自然な日本語で書くと、それに意味づけられた回答を丁寧な文章で回答してくれるのが、生成AI（Generative AI、略した表記はGenAI）の良さです。かなりの精度を持っていますが、誤った回答が含まれることもよく知られています。
 
 2023年12月頃からCopilot for Power BIのプレビューの展開がされ始めました。Power BI用の場合も同様な使い勝手等をイメージしてよいでしょうか？ **いいえ違います。** ビジュアルを自動生成してくれるタイプのCopilot for Power BIをいい感じで使っていくには、これまで通りデータの準備を行い、意味付けられたデータの形である、**セマンティックモデルを用意する**必要があります。
 以下では、2023年12月時点でのCopilot for Power BIに関する主なことや、関連するページのリンク等を書きます。

## データセットはセマンティックモデルに名称変更
![Semantic_Model-removebg-preview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/ffc46d49-33c8-8b29-689d-5b0d8a480351.png)

2023年11月に名称変更が発表されました。

https://powerbi.microsoft.com/ja-jp/blog/datasets-renamed-to-semantic-models/

ブログではセマンティックモデルには、データセットというと単にデータのセットだと思われがちだけど、いろんな機能も含むからね、という意味合いも含めているよといったことが書かれています。

> In the age of Fabric, the term “dataset” is too generic, and doesn’t do justice the rich functionality provided. The scope of personas, workloads, and services that create artifacts which could be labeled as “datasets” is far broader than when the term was originally introduced.
> Fabricの時代には、「データセット」という用語は一般的すぎ、提供される豊富な機能を正当化しません。「データセット」としてラベル付けできる成果物を作成するペルソナ、ワークロード、サービスの範囲は、この用語が最初に導入されたときよりもはるかに広くなっています。

Power BI サービスなどいたるところで「セマンティックモデル」が使われ始めています。公式ドキュメントもほぼ書き換わっています。なので、従前の各種ブログ等で**データセットとあったら、セマンティックモデルもことだ**と読み替えてください。

## データモデル、モデル、モデリングなどとも

データモデルはセマンティックモデルとも呼ばれ、Power BI サービスのワークスペースに発行すると従前データセットと呼び、、、といったことはこちらのMicrosoft Learn（以下、Learn）のユニットがわかりやすいです。

https://learn.microsoft.com/ja-jp/training/modules/choose-power-bi-model-framework/2-describe-power-bi-model-fundamentals?WT.mc_id=DP-MVP-5004418

> 💡ヒント
> データ モデルは、(特にエンタープライズ シナリオでは) セマンティック モデルとも呼ばれます。 一般に、デー
タに関する議論のコンテキストやこのモジュールでは、**データ モデルは単にモデル**と呼ばれます。

これらはどれも同じ意味と考えていいですね。
モデルを作成することを『モデリングする』ともいいます。

## データの準備のLearn

Power BIにおいて、最初の段階であるデータ準備は、ほぼ全てPower Queryを使用して行われます。
Learnでは以下が代表的なもののひとつです。

https://learn.microsoft.com/ja-jp/training/paths/prepare-data-power-bi/?WT.mc_id=DP-MVP-5004418

## セマンティックモデルのLearn

そしてデータモデルのLearnはこちらのラーニングパスで学ぶのをおススメします。

https://learn.microsoft.com/ja-jp/training/paths/model-data-power-bi/?WT.mc_id=DP-MVP-5004418

セマンティック モデルを簡潔にするための 1 つの方法である**スタースキーマ**に関しては、以下のモジュールにあります。

https://learn.microsoft.com/ja-jp/training/modules/design-model-power-bi/?WT.mc_id=DP-MVP-5004418

### 基本はImportモード

セマンティックモデルの開発で最も一般的に使用されるモードであるImportモードについては、以下のドキュメントを参照してください。

https://learn.microsoft.com/ja-jp/power-bi/connect-data/service-dataset-modes-understand?WT.mc_id=DP-MVP-5004418

データ準備としてPower Queryで、それがデータを読み込み（ロードして）リレーションシップを、というベーシックな流れはインポートモードで行っているものです。

### セマンティックモデルを種類別の観点で説明したもの

種類別（type）で整理したドキュメントはこちらです。

https://learn.microsoft.com/ja-jp/power-bi/connect-data/service-datasets-understand?WT.mc_id=DP-MVP-5004418

### より深くセマンティックモデルを知るには

Advent Calender 2023、22日目の @k_maki さんのQiitaをおススメします。

https://qiita.com/k_maki/items/dfa937809a64981bb8f2#3-%E3%82%BB%E3%83%9E%E3%83%B3%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF-%E3%83%A2%E3%83%87%E3%83%AB%E9%96%8B%E7%99%BA%E8%80%85%E3%81%B8%E3%81%AE%E9%81%93-%E3%83%A2%E3%83%87%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E9%87%8D%E8%A6%81%E6%80%A7%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B


## Copilot for Power BIが適切に動作するために

セマンティックモデルの段階ではこのような考慮をするとよいという推奨事項がまとまっています。極力こういったベストプラクティスに習っていきましょう。

https://learn.microsoft.com/ja-jp/power-bi/create-reports/copilot-evaluate-data?WT.mc_id=DP-MVP-5004418

## Copilot for Power BI利用ためのライセンス要件

https://learn.microsoft.com/ja-jp/power-bi/create-reports/copilot-introduction#power-bi-service&WT.mc_id=DP-MVP-5004418

対応するライセンスは以下2つです。
 - F64
 - Premium Per Camacity（Premium容量、キャパシティ単位 等と表記されることも

#### （参考）PremiumやFabricのライセンスについて

https://learn.microsoft.com/ja-jp/power-bi/enterprise/service-premium-what-is?WT.mc_id=DP-MVP-5004418

https://learn.microsoft.com/ja-jp/fabric/enterprise/licenses?WT.mc_id=DP-MVP-5004418

#### （参考）各種ライセンスの違いについて

https://jpbap-sqlbi.github.io/blog/powerbi/pbi_license/

#### （参考）SKUってなんだっけってなったら...

Power BI Embedded の説明の中に、SKUやプランていろいろあるんだなぁといった話があります。

https://jpbap-sqlbi.github.io/blog/powerbi/pbi_embedded_license/

以下、**対応しないライセンス**です。
- Premium Per User (PPU、ユーザー単位)
- Fabric 試用版
- Fabric 無料版

## Copilotのためのワークスペースの設定 / ライセンスの選択
ワークスペースのライセンスモードも対応するものに設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/f690908e-eae9-d2c6-584c-0158c93f008d.png)

## CopilotのためのPower BI サービスのテナント設定

Copilotを利用するためには、管理者が管理ポータルからこの設定を行う必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/3b98761c-c97e-d48c-3ce3-44a3c7f140db.png)

適用先を組織全体ではなく、特定のセキュリティグループに絞ることもできます。

https://learn.microsoft.com/ja-jp/fabric/admin/service-admin-portal-copilot?WT.mc_id=DP-MVP-5004418

## Power BI Desktopはプレビュー機能をオンに

設定～オプションからプレビュー機能をオンにします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/164eb9e2-e9a6-1674-e1b4-477ce996adc8.png)

プレビュー機能は今後のバージョンで増えたり、GA（一般提供）されたら減ったりします。

## Copilot for Power BIのLearn

2023年12月時点でプレビュー段階のCopilot for Power BIですが、もうLearnも用意されています。
こちらを学習の入口として取り組むのもおススメです。

https://learn.microsoft.com/ja-jp/training/modules/power-bi-copilot/?WT.mc_id=DP-MVP-5004418

ドキュメントの入口はこちらです。

https://learn.microsoft.com/ja-jp/power-bi/create-reports/copilot-introduction?WT.mc_id=DP-MVP-5004418

## サンプルレポートでの試行

画面の右側で対話していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/3c6f45d6-3895-d56e-359a-58086d5587ec.png)

日本語の問いかけで出ることもありますが、原則は英語です。

> Created a Purchase Process Report page.

のサンプル文から、オススメのトピックスの提案があったりもします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/6ef2edf7-4f79-fc1a-0f19-cd8b5ff45902.png)

こちらを選択しますと。。「処理中...」となり数秒後に新しいページが追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/89a60457-a641-dcd5-cc81-abc930e80934.png)

日本語で聞いてみると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/ce6c2f0d-9aa1-aed8-8620-0e187d8e3c93.png)

以下が作成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/95434388-6735-711a-51e6-6dc690df6be7.png)

ページ作成に関するドキュメントはこちらです。

https://learn.microsoft.com/ja-jp/power-bi/create-reports/copilot-prompts-report-pages?WT.mc_id=DP-MVP-5004418


## スマート説明にCopilot版も

スマート説明ビジュアルにもCopilotがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/f208020b-5646-5470-75e4-0c8244ac7309.png)

どこを参照して作成するかを指定して作成に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/39b9d2ec-8dc0-6812-19e3-7ad15badb73f.png)


2023年12月時点では、日本語でとすると結果は返るもののフォーマットが正しくないこともあります。日本語で、とした後、「日本語で」を削除すると、フォーマットを正しくしてしてくれて結果が返りました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/2133cd9a-d5b1-852d-6572-5ef720aedf16.png)

[1]、[2]等を押すとビジュアルがハイライトされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/26cb8e9d-4e79-2af9-5eab-1a8ef0224a67.png)

従来のスマート説明との切り替えはこちらからできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419691/9501aeab-22f5-4327-5be2-78ea88e109e2.png)


スマート説明のドキュメントはこちらです。

https://learn.microsoft.com/ja-jp/power-bi/create-reports/copilot-prompts-narratives?WT.mc_id=DP-MVP-5004418

テクテク日記でのレポート生成等のご説明はこちらです。

https://marshal115.hatenablog.com/entry/2023/12/22/082056


## Copilot for Power BIの機能（2023年12月時点）

現在用意されているCopilot for Power BIの機能は以下です。
- レポートを作成する
- 説明を書く（スマート説明の強化）
- Q&Aを改善する
- クイックメジャー / Copilotによる提案　(私の環境では現在未稼働）

## 今後増えるであろうCopilotの機能
今後も増えるであろうCopilot for Power BIには以下のようなことがあります。

#### DAX Query Viewで、自然言語を使ってクエリを作成することが可能になる（予定）

自然言語からのDAXは今後の対応が楽しみですね。

https://www.youtube.com/watch?v=OdkS7DF7ElY&t=1295s

#### Fabric / Data Factoryにおける、Dataflow Gen2の中のPower Queryでの利用

こちらのテクテク日記ではCopilot for Dataflow Gen2が紹介されています。

https://marshal115.hatenablog.com/entry/2023/12/06/002838

そうです。データの準備やセマンティックモデル作成や見直しに関する支援を行うCopilotがでてくるんですね。
じゃぁ、そういったGenAIがでてくるから勉強しなくいいのか？
答えは**いいえ**ですよね。**いつの時代も勉強は必要**です。
**GenAIは誤る可能性は絶えずある**のです。準備、モデリング、可視化といったどの段階でも、Copilotが支援してくれたとしても、その **生成された成果物が正しいのか間違っているのか見極められる力** を発揮することを目指していきましょう。

## おわりに
2024年以降も、Copilot for Power BIにはさまざまな機能が追加され続けます。
データ準備やモデリングに関する基本を押さえることの重要性は変わりませんが、どのようなユーザーを支援する新機能が追加されるのかについては、非常に楽しみにしています。