Excel と Power BI の融合

# はじめに

:::note
本記事は「Microsoft Power BI Advent Calendar 2023」、7日目の記事です。
https://qiita.com/advent-calendar/2023/powerbi

**いいね！** 👍 よろしくお願いします！
:::

# Excel と Power BI の融合

Power BIとExcelはできることや得意なことがそもそも違います。Power BIはExcelの上位互換ではなく、本来はお互いがサポートしあって共存しあうようなツールです。にも拘わらず、**Excelからの脱却！** のようなテーマを掲げてPower BI導入を進めている組織も多いのでは？

### 一番使う機能は「データのエクスポート」？🤔

さらに、Power BIを構築して、一番使う機能は「データのエクスポートです！」という組織ありませんか？可視化したい、データの更新を自動化したい！最初のきっかけは様々かもしれませんが、結局最後は「ExcelでDLして手元で集計し直し！」なんてことありませんか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/11d39e13-e660-9ea4-7217-6b5385058e1b.png)

それなら最初からExcelでレポートを作成したほうが速いシナリオも多いはず。

そこで、**セマンティックモデルがExcelとPower BI 相互で利用できるようになっている機能をふんわり紹介**します。お互いがサポートしあって、データ可視化、データ管理、BIのエコシステムが形成されているのが少しでも伝わればうれしいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/33fe1d02-bec9-ff46-e0e3-6863d6e7af40.png)

# （準備）Power BI でレポートを作成 → 公開

Power BI Desktopでレポートを作成し、Power BI Serviceに公開をしておきます。
手元にレポートがさっとない場合はサンプルレポートを使用してください。

:::note
Microsoftが公開しているサンプルPBIXがこちら。
https://github.com/microsoft/powerbi-desktop-samples
:::

# Power BI Serviceの画面から「Excelで分析」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/4c5432eb-dc2a-1de0-eaa6-1e0729e7174c.png)

Power BI Serviceにレポートを公開すると、レポートとセマンティックモデル（旧：データセット）がワークスペースの中に作成されます。セマンティックモデルは、Power BIのデータやリレーションシップ、Power Queryなどが定義されているアイテムです。**「Excelで分析」** を使用すると、セマンティックモデルに接続されたExcelを開くことができます。

## 手順

セマンティックモデルをクリックすると、上部に「Excelで分析」というボタンが出てきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/330b83b1-e574-6882-5ace-a1f69bc4b482.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/3f522f15-2396-1f8d-3684-f46a5826d4e1.png)

Excel for the web で開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/745d7d4f-1cc1-a287-40f8-a532eadf4d44.png)

## ピボットテーブルの画面に遷移

Excelユーザーならなじみのあるピボットテーブルの画面に遷移します。
フィールドにはPower BI セマンティックモデルで定義したメジャーやテーブルが表示されているのが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/71110b0c-6da4-e090-b236-f30fc0461a68.png)

この画面ではモデルの編集（メジャーの追加や列の削除）はできません。あくまでもすでに用意されているモデルを利用してピボットテーブルを作成することだけです。

# 今度はExcelからセマンティックモデルにアクセス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/d7f51853-30a7-b230-dc8b-42744c17551b.png)

Excelからセマンティックモデルに直接アクセスを開始することもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/0596388c-941e-66a7-203e-959b0f6f6267.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/642069a5-1f11-a497-5b3f-363c33d4e4ef.png)

先ほど同様、Excelからセマンティックモデルにアクセスを構成することができ、ピボットテーブルを作成することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/8837463a-064b-5724-ae13-53c537121dd3.png)

# Excelでセマンティックモデルを作成 → Power BI Serviceへ発行

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/dcfed45b-9309-b647-04b9-e06d4941db69.png)

Excelでそもそものセマンティックモデルを作成することもできます。

### データの読み込み

Power BIでもおなじみ、データの取得。データタブから行きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/4d33da85-f488-fac4-6bfc-a32585da9635.png)

### リレーションシップの作成

同じくデータタブから、リレーションシップの作成もできます。
データモデルの管理にいくと、ダイアグラムビューを見ることも。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/34150545-3c49-f5db-5d6f-6f4eb07adfac.png)

 ### メジャーの作成

 もちろんメジャーも作成可能。
 ピボットテーブル作成画面で、テーブル名で右クリックするとでてきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/4c727eeb-70da-e423-0b11-25f2e230e2db.png)

### Power BI Serviceへ発行

ファイルタブ→発行 にいくと、こうして作成したデータモデルをPower BI Serviceへ発行することが可能。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/8ca4bdfc-ed3d-5e82-4926-4df28dd1fb46.png)

# まとめ

ExcelからPower BIで作成したデータに対してアクセスすることができました。Excelで作成したセマンティックモデルをPower BI Serviceにアップロードして、Power BIで可視化をすることもできました。Excelだけでセマンティックモデルを作成し、Power BI Serviceへ発行もできました。

表形式でデータを表示したいときは、Excelのほうが見やすいユーザーも多いと思います。逆に、可視化するならPower BIのほうがExcelよりも素早くきれいにグラフを作ることができるユーザーも多いです。

**データを消費する人やシナリオに応じて使用するツールを適切に選択しましょう。**

**正しくセマンティックモデルをつくることができれば**、その上で動作するアプリケーションにこだわる必要はないはずです。

**Power BI <font color="red">or</font> Excel ?**

ではなく、

**Power BI <font color="red">with</font> Excel !**

でいきましょう！

Excelから脱却ではなく、<font color="red">with</font> Excel。
シナリオ、ユーザーによって適切なツールを使い分けましょう。
その真ん中にセマンティックモデル。