ページ分割されたレポート(paginated reports)

# ページ分割されたレポート？

なんだそれ？と思ったあなた。
私もそうです。

ドキュメントを読みながら、初めての「ページ分割されたレポート」作成をしたいと思います。

::: note info
Power BI のページ分割されたレポートは、Power BI Premium の機能です。
:::

# ネーミングおかしくないか？

日本語的なネーミングではないなと思ったらまずは英語のドキュメントをあたりましょう。

https://docs.microsoft.com/en-us/learn/modules/create-paginated-reports-power-bi/

**paginated reports**

*paginated* = ページ数をつける

https://ejje.weblio.jp/content/paginated

ページ数をつけることができる。

つまり

:::note info
レンダリング要件が厳密に制御された Power BI 成果物
:::


を作成することができる機能のことをいうらしい。

# 使用用途

売上請求書、領収書、発注書、表形式データを作成するのに最適。

なるほど。

# Microsoft® Power BI Report Builder

ページ分割されたレポートを作成するには、 *Microsoft® Power BI Report Builder* のインストールが必要。Power BI Desktop のようなものでしょう。

https://www.microsoft.com/ja-JP/download/details.aspx?id=58158

# 最初の画面

新しいレポートから始めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/128bda51-26c9-2f20-f67c-c7149ba1e9ef.png)

# データセットの選択
Power BI Desktop ほどではないのですが、複数種類から選ぶことができます。結局Power BI データセットを選択することができるので、事実上、Power BI DesktopやServiceで使用することができる接続先はすべてOKのようですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/92860da5-df01-f038-fc6d-541dd5c04856.png)

# Power BI Desktop でクエリの発行

ここからが少しややこしくなります。データセットからは、クエリを使って、Report Builder で使用するためのデータセットを作成する必要があります。

DAX studio や Tableau Editor などでもできると思うのですが、ドキュメントを読むと、Power BI Desktopのパフォーマンスアナライザーからクエリを吐きだしています。

## 今回元となるテーブルは↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/e0259192-3baa-4ffb-11a8-ad126ea443e9.png)

## パフォーマンスアナライザーでクエリを吐き出す。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/fa02e856-268d-9c53-a665-960adb7c22ce.png)

```
// DAX Query
DEFINE
  VAR __DS0Core = 
    SUMMARIZECOLUMNS(
      'Products'[商品名],
      'Products'[商品ID],
      'Sales'[単価],
      "Sum数量", CALCULATE(SUM('Sales'[数量])),
      "受注額", 'Sales'[受注額]
    )

  VAR __DS0PrimaryWindowed = 
    TOPN(501, __DS0Core, 'Products'[商品ID], 1, 'Products'[商品名], 1, 'Sales'[単価], 1)

EVALUATE
  __DS0PrimaryWindowed

ORDER BY
  'Products'[商品ID], 'Products'[商品名], 'Sales'[単価]
```

## Report Builder用のデータセットを作成する。

これを Report Builder でデータソースのところに表示されているPower BI データセットを右クリックして、Report Builderをに張り付けると、Report Builder 用のデータセットが生成されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/666f32b8-4037-2eda-750e-513776b771b4.png)

こんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/26500c25-af90-f5df-e807-64b0b7b969dd.png)

# Reportを作成
挿入タブから、テーブル→ウィザードで作成を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/42fb52ad-f530-0790-73a5-20bb2d7bb279.png)


細かい調整は各項目のプロパティやリボンで設定していくようですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/1e39473c-5864-c506-9550-4e7d3ade6894.png)

## 実行

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/ecd9deba-978b-e6b3-3918-a428ae299d89.png)

## こんな感じ

罫線をいじったり、文字の配置を少しいじって実行を押すとこんな感じに実行されます。
A4 ４枚のReportが完成しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/7cd156ff-3ab7-2131-9106-959709e16ac9.png)

# 公開

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/977bb1f1-c7a6-d1c2-3aba-496c0ebd9a66.png)

# まさかの結末

:::note warn
2021/12/18 Per User でも公開できるはずとコメントをいただいたので、改めて発行済のデータセットを使用して検証します。
:::

公開できず・・！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/02a2d134-789a-5bf9-11cd-d64df8a05c56.png)

現状私のライセンスはPower BI Premium Per User になっていますが、公開できませんでした・・。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/4f91b9bb-422c-425e-bdb7-c9f900044fde.png)

Documentsにはできると書いてあるのに・・。



Per Capacity ライセンスでないと公開できないようですね。

Power BI Service に発行すれば、常に最新のデータに集計されたReportになります。
印刷対応がどうしても必要な場合はこのページ分割されたReportの作成も検討してもいいですね。

# MS のサンプルページ

やはり請求書や売上報告書などの利用されるのが一般的なんでしょうか。
パラメーターの設定やボタンを配置しているReportも確認できます。

https://docs.microsoft.com/ja-jp/power-bi/paginated-reports/paginated-reports-samples

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/49034e00-dcde-1e82-9064-f04d0d9b4453.png)