Power BI サービスのエクスポート可能な書式設定されたテーブル（プレビュー）

# はじめに
2022年5月にプレビュー機能として公開された 「エクスポート可能な書式設定されたテーブル」についてご紹介します。
[Power BI Blog での発表](https://powerbi.microsoft.com/en-us/blog/exportable-formatted-data-tables-preview/)
[Microsoft 公式ドキュメント](https://learn.microsoft.com/ja-jp/power-bi/paginated-reports/paginated-formatted-table)

(2022.11.18 更新) Power BI Pro ライセンスでもページ分割されたレポートが利用できるようになるため、ライセンス関わる記述を更新しました。
[Power BI Pro でのページ分割されたレポートのサポートの発表(Power BI Blog)](https://powerbi.microsoft.com/en-us/blog/announcing-support-for-paginated-reports-in-power-bi-pro/)

# Power BI におけるデータエクスポート
Power BI をご紹介している中で、よく「Power BI のデータを Excel や CSV へエクスポートできるか」 というご質問をいただきます。
本来的な話をすると、Power BI データセットにまとめたデータをさらにエクスポートしてしまうと、データの分断化が進み、言わば帳票から帳票を生み出しているような状況になってしまうため、**データエクスポート機能は積極的にはオススメできません**。
しかしながら、企業の中に散らばるデータを統合するのは長く大変な労力を要する作業のため、Power BI 導入過渡期にデータエクスポート機能を使って、データ統合が進んでいない領域へデータ連携して凌ぐというのは考えられる手段ではあります。


# Power BI のデータエクスポート機能

Power BI でデータエクスポートをしようとする際、考えられるのは、大きく分けてこちらの５つの機能くらいかと思います。
<font color=green>※下記、すべて Microsoft 公式ドキュメントのリンクで細かい手順まで書いていないものもあります。</font>

- [視覚エフェクトの作成に使用されたデータをエクスポートする](https://learn.microsoft.com/ja-jp/power-bi/visuals/power-bi-visualization-export-data?tabs=powerbi-desktop)
    - Power BI ビジュアルで使用されるデータをエクスポート可能（現在のレイアウト、概要データ、基になるデータ）
    - 主な制限事項
        - Power BI Desktop は CSV ファイルのみ（最大行数は 30,000 行）
        - Power BI サービス から Excel ファイル（最大行数は 150,000 行）及び CSV ファイル（最大行数は 30,000 行）

- [ページ分割されたレポートからエクスポートする](https://learn.microsoft.com/ja-jp/power-bi/consumer/end-user-paginated-report)
    - ページ分割されたレポートを作成してファイルとしてエクスポート。
    - 主な制限事項
        - ~~Power BI Premium Per User もしくは Power BI Premium Per Capacity が必要~~
        (2022.11.18 更新) Power BI Pro ライセンスでもページ分割されたレポートが利用できるようになります。
        - Power BI レポートとは違う、別の種類のレポート（ページ分割されたレポート）を作成する必要がある
        - 出力形式は Excel、PDF、CSV、PowerPoint、Word、mhtml、xml

- [XMLA エンドポイント経由で Power BI データセットからデータをエクスポートする](https://learn.microsoft.com/ja-jp/power-bi/enterprise/service-premium-connect-tools)
    - DAX Studio などの外部ツールや プログラムから接続してエクスポート
    - 主な制限事項
        - Power BI Premium Per User もしくは Power BI Premium Per Capacity が必要
        - 外部ツールの知識もしくはプログラム知識が必要

- [Power BI REST API 経由で DAX Query を実行して抽出する](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/execute-queries-in-group)
    - Power BI REST API の Datasets - Execute Queries を使用してデータセットからデータエクスポート
    - 主な制限事項
        - クエリあたり最大 100,000 行または 1,000,000 値 (いずれか早い方)。
例えば、5 列のデータをエクスポートする場合は、最大 100,000 行を取得可能。20 列のデータをエクスポートすると、最大 50,000 行 (50,000 行 * 20 列 = 1,000,000 値) を取得可能。
        - クエリあたり最大 15MB
        - プログラム知識が必要

- [書式設定されたテーブルからエクスポートする](https://learn.microsoft.com/ja-jp/power-bi/paginated-reports/paginated-formatted-table) 
<font color=red> ※当記事にて紹介※ </font>

それぞれ一長一短で、エクスポートできる行数に制限があったり、Premium ライセンスが必要、プログラム知識が必要など様々な条件・制限事項が存在します。

# エクスポート可能な書式設定されたテーブルとは
Power BI サービスで利用できる機能で、Power BI データセットから項目を選択するだけで、テーブル形式のエクスポート可能なレポートを作成できる機能です。
**多くのファイル形式でエクスポート可能で、エクスポートの行数制限がなく、Premium ライセンス無しで利用可能、外部ツールやプログラム知識も不要な点**が特徴です。
※ただし、行数制限はありませんが、メモリの限界はあるため、無限にデータをエクスポートできるというわけではありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/f363c5ad-0053-3935-7fb5-a67d114995b8.png)

### 前提条件
- Power BI Pro もしくは Power BI Free ライセンスが必要（Free はマイワークスペースのみ）
- 基となるデータセットの[ビルドアクセス許可](https://learn.microsoft.com/ja-jp/power-bi/connect-data/service-datasets-build-permissions)が必要

# 書式設定されたテーブルへのアクセス方法

### アクセス方法 その１ (ワークスペースのリストビュー)
1. Power BI サービスへサインインし、ワークスペース もしくは マイワークスペースへ移動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/00a9c166-baa6-0103-0877-648358ca3e0e.png)

2. エクスポートしたいデータセットの右側の「その他のオプション(･･･)」をクリックし、「書式設定されたテーブルの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/9d9e3d1b-1711-0aee-0d32-704fc9f68aef.png)

### アクセス方法 その２ (Data ハブ)
1. Power BI サービスへサインインし、Data ハブへ移動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/027bafeb-2266-c067-0b0d-5a605def381a.png)

2. エクスポートしたいデータセットの右側の「その他のオプション(･･･)」をクリックし、「書式設定されたテーブルの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/408a43f5-7189-9143-a12f-de57bb1be00b.png)

### アクセス方法 その３ (データセットの詳細ページ)
1. Power BI サービスへサインインし、ホーム画面、ワークスペース、Data ハブなどでエクスポートしたいデータセットをクリックし、データの詳細ページを開く
※下図はホーム画面のデータセットをクリックする例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/d7217576-e92b-747a-1b03-7c816e9f67e7.png)

2. 「＋レポートの作成」の右のｖをクリックし、「書式設定されたテーブルとして」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/f7075876-d7b4-1b58-ecab-1e5d15006639.png)

# 書式設定されたテーブルの作成方法
1. 起動時の画面
Power BI レポートエディタ風の画面が起動します。
Power BI レポートと違い、フィルターペインや視覚化ペインは無く、リボンの部分が簡略化されています。
メニュー部分は、ページ分割されたレポートと似たメニューとなっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/ba423c5c-d07d-009a-331c-083da997af9f.png)

2. エクスポートしたいフィールドウィンドウのテーブルの項目にチェック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/4c35c328-2f03-9578-998f-1ea12f465ba3.png)

3. 項目をビルドウィンドウのフィールドの値にドラッグ＆ドロップしたり、ビルドウィンドウ内で項目の順番をドラッグ＆ドロップで入れ替えることも可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/f2852ac5-2c67-e6dc-298c-2ad6bbbb055a.png)

4. ビルドウィンドウでテーブルのスタイルを設定することも可能
※下図は「1行おきに色付け」を適用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/c8c1d839-be83-8417-e866-e37de79bbb1a.png)

5. Power BI レポートエディタと同様、ビルドウィンドウのフィールドの右のｖをクリックして、各種[フィールドの集計](https://learn.microsoft.com/ja-jp/power-bi/create-reports/service-aggregates#change-how-a-numeric-field-is-aggregated)を利用することも可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/018a13e1-0b1f-cb03-a0de-783267d70ec5.png)

6. メニューの「ファイル」→ 「保存」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/0209391c-1296-ae64-6090-3299852f678c.png)

7. レポートの保存ダイアログで、レポートの名前と保存するワークスペースを指定して、保存ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/2aaf1e49-a9e7-7462-7d62-304ffb375d01.png)

8. 保存したワークスペースへ移動するとレポートが作成されているので、レポート名をクリック
※レポートのアイコンが通常の Power BI レポートでなく、ページ分割されたレポートのアイコンになっていることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/e3ed0ec9-2590-4686-7b96-27395021e504.png)

9. レポートを開き、「エクスポート」をクリックし、保存したい形式をクリックすることで、データのエクスポートが可能
※ Excel、PDF、アクセシブル PDF、CSV、PowerPoint、Word、Web アーカイブ、XML 形式にエクスポート可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/97a6fe0c-646a-6b08-82d6-186a3761ef55.png)

10. ダウンロードフォルダにファイルがエクスポートされる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/b034dcbd-54e9-272f-665c-98097b15d0b3.png)

# 印刷・エクスポートしたファイルイメージ
印刷・エクスポートしたファイルのイメージは以下の通りです。
※ PrintLayout と PDF、PowerPoint については、日本語が文字化け
※ CSV と XML は列名が「テーブル名_列名」

1. Print Layout
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/ffac2c8d-b851-f39d-5f4a-7d7071047dd6.png)

2. Excel
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/02b748d9-d7cc-5dc4-a27e-8c00246c9d0f.png)

3. PDF
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/2afe1c01-6f5e-b077-048a-19f8b2684f99.png)

4. アクセシブル PDF
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/dff6de23-dc6b-cc9e-b763-16b7c8b1ac42.png)

5. CSV
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/f4b6f5f7-772f-bf5e-30fc-864f659ba14e.png)

6. PowerPoint
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/70c193c6-2078-7711-13cc-379d4d7ddc78.png)

7. Word
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/6b2899a6-60aa-60c2-d843-9f86435b49cd.png)

8. Web アーカイブ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/f8d5acbd-8946-89a6-8b09-7b6f7262b0a0.png)

9. XML
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/e872b372-1cb4-5c9e-782a-df82e6907849.png)

# 書式設定されたテーブルを編集したい場合
書式設定されたテーブルを再度編集したい場合は、保存したレポートを開いて、メニューの「編集」ボタンをクリックすれば、編集モードとなり、再度項目の選択等を行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/0f4bfe3b-dd1b-af4b-d2da-dd773b0f4b9c.png)

# 書式設定されたテーブルの残念な点と対応策
とても簡単な操作で作成でき、様々なファイル形式へ行数制限無しでエクスポートでき、Pro もしくは Free ライセンスで利用可能な書式設定されたテーブルですが、一方で残念な点もいくつかあります。
- 日本語が一部文字化けする
- 作成時にフィルターを入れることができず、ユーザーが絞り込み条件を入れられない

### 対応策
書式設定されたテーブルは、「ページ分割されたレポート」として編集・保存することができます。
※ 要 [Power BI Report Builder](https://learn.microsoft.com/ja-jp/power-bi/paginated-reports/report-builder-power-bi) インストール 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/c34ef863-aa0c-3dd8-295b-963bba90b470.png)

- 文字化けしている原因は既定のフォントが日本語に対応していないからで、Power BI Report Builder 上で、フォントを 「Yu Gothic UI」などに変更すれば、日本語を表示できるようになります。
- フィルターについては、エンドユーザーが選択できるパラメーターを Power BI Report Builder 上で追加可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/492f5ee7-f003-c822-33fd-17783f2ebdac.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/26d52d52-ca92-4339-bd67-6f8f92ba0167.png)

### Power BI Report Builder で対応後
- 日本語対応 (Print Layout)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/7a8f6185-223c-2855-b76e-0eb9db460fe4.png)

- フィルター対応（検索条件で絞り込み可能）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2642886/e806dfe5-298d-e4bb-e6d3-15072cda6390.png)

このように、Power BI Report Builder で編集し「ページ分割されたレポート」として再発行することで、上記に対応することが可能です ~~が、**ページ分割されたレポートを利用するには、Power BI Premium Per User もしくは Power BI Premium Per Capacity のライセンスが必要となります**。日本語の文字化けやフィルターによる絞り込みに対応させたい場合は、Premium ライセンスの導入も検討してみてください。~~
(2022.11.18 更新) Power BI Pro ライセンスでもページ分割されたレポートが利用できるようになります。

# まとめ
書式設定されたテーブルの登場により、Pro 及び Free ユーザーがより手軽に、Power BI データセットのデータをエクスポートできるようになりました。冒頭でお話しました通り、本来的にはデータエクスポートは推奨されませんが、必須要件となる場合は選択肢の一つとして検討いただければよいかと思います。また、日本語文字化けやフィルターによる絞り込みを行いたい場合は、ページ分割レポートでの編集 ~~Premium ライセンス~~ も検討ください。
(2022.11.18 更新) Power BI Pro ライセンスでもページ分割されたレポートが利用できるようになります。