以下の記事で、Power BIのデータをエクスポートするボタンを作成しました!
しかし、この方法では、1000行以上あるデータをエクスポートすることはできません。
今回の記事では1000行以上のデータでもエクスポートできる方法をご紹介します!
![パパ](https://yuki-papa.com/wp-content/uploads/2022/09/yuki.jpg)
では、早速やっていきましょう!
※すでに上記の記事を見ている方は「エクスポートするデータの設定(最難関)」からご覧ください。
通常のエクスポート方法の場合
レポートの閲覧者はグラフ右上の「・・・」から「データのエクスポート」をクリックすると該当のデータをダウンロードできます。
![レポートの右上から「データのエクスポート」を選択する](https://yuki-papa.com/wp-content/uploads/expoert_img-1.png)
しかし、この方法では1000行までのデータしかエクスポートできません。
これを解決するためにはPower Auotmateと連携する必要があります。
設定には少し知識が必要ですが、わかりやすく解説していきます!
1000行以上のデータをエクスポートする場合
作業の流れは以下のようになります。
DAXクエリという記法を用いてエクスポートするデータの設定をします。
また、Power BI Desktopを利用の方は事前にレポートをクラウドに発行した状態にしてください。
Power Automateを起動する
Power BIからPower Automateを利用するためには、画面右側の「視覚化」の中にあるPower Automateのアイコンをクリックします。
![「視覚化」の項目からPower Automateのアイコンを選択](https://yuki-papa.com/wp-content/uploads/insert_automate-1.png)
Desktop版から編集する場合には「挿入」タブからも選択できます。
![デスクトップ版の場合のPower Automateの挿入場所](https://yuki-papa.com/wp-content/uploads/insert_power_automate-1.png)
以下の画面がレポートに挿入されればOKです!
![レポートに挿入されたPower Automateの画面](https://yuki-papa.com/wp-content/uploads/power_automate_explanation-1.png)
次からPower Automateのフローを作成してきます。
フローの編集画面の起動
フローの編集画面にいくには、挿入されたPower Automateの画面右上の「・・・」から「編集」をクリックします。
![Power Automateのフローの編集画面へ行く方法](https://yuki-papa.com/wp-content/uploads/flow_edit-1.png)
すると、Power Automateの編集が画面になるので、「Power BIからExcelテーブルを更新する」を選択してください。
![テンプレートのフローを選択](https://yuki-papa.com/wp-content/uploads/choose_template-1-1024x560.png)
表示されたフローのうち、最初のアクション以外を削除したら準備は完了です。
新しいステップをクリックしてフローを追加していきます。
![](https://yuki-papa.com/wp-content/uploads/delete_excel-1.png)
エクスポートするデータの設定(最難関)
この記事で一番難しい手順です。
画像を使いながら丁寧にゆっくり説明していきますね!
まず、「データセットに対してクエリを実行する」を追加してください。
![](https://yuki-papa.com/wp-content/uploads/action_query.png)
それぞれの項目には以下の情報を入力します。
- ワークスペース ⇒ レポートを発行している場所
- データセット ⇒ 作成したレポートのデータセット
- クエリテキスト ⇒ 取り出すデータを指定するクエリ(これが難しい…)
「クエリ」とは何かを厳密性ガン無視で表現すると「データベースに対してデータを要求すること」です。
![「クエリ」の概念図](https://yuki-papa.com/wp-content/uploads/explain_query.png)
今回のデータベースに当たるのはBIレポートのデータセットということになります。
どんなデータが欲しいかをテキストで記述する必要がありますが、このときの記法を「DAXクエリ」といいます。
DAXクエリについては以下の公式ページも参考にしてください。
DAX関数はいきなりゼロから書くのは難しいので、BIレポートから取得する方法をご紹介します。
BIレポートからDAXクエリを取得する
Power BI Desktopでレポートを開き、「表示」タブの「パフォーマンスアナライザー」を選択し、「記録の開始」をクリックします。
![パフォーマンスアナライザーで「記録の開始」をクリックする](https://yuki-papa.com/wp-content/uploads/paformance_analyser.png)
次に、「ホーム」タブから「更新」からクリックします。
![](https://yuki-papa.com/wp-content/uploads/refresh.png)
するとパフォーマンスアナライザーの欄にレポートに表示されているオブジェクト(グラフや図形など)が表示されます。データをエクスポートしたいグラフのオブジェクトを選択し、「クエリのコピー」をクリックします。
![](https://yuki-papa.com/wp-content/uploads/dax_query.png)
コピーしたクエリを先ほどのフローの「クエリのテキスト」にペーストしてみます。
![DAXクエリの全文](https://yuki-papa.com/wp-content/uploads/copy_query-1.png)
このままだと何が書かれているかさっぱりなので少し解説します。
まず、今回のクエリを4つに分けてみます。
![クエリを1~4に分割](https://yuki-papa.com/wp-content/uploads/dax_detail.png)
それぞれについて解説します。
- データの項目(列)を定義
- ①のデータの上から501行のみを取り出す
- 最終的に取り出すデータ(テーブル)を指定
- データの順番をソートする
この中の必須項目は③にあるEVALUATEの構文のみですが、その他の部分で詳しい設定や絞り込みを行っています。
まず、①で「SUMMARIZECOLUMNS」という関数を使っていますが、この関数で最初にデータに必要な列を指定してデータのベースを作っています。さらに、これを「_DS0Core」という変数で定義しています。
①によって以下のようなテーブルができているイメージです。
![SUMMARIZECOLUMNSで作成されたテーブル「_DS0Core」のイメージ図](https://yuki-papa.com/wp-content/uploads/table_sample.png)
②では①で定義したテーブルを上から501行だけ取り出して「__DS0PrimaryWindowed」という変数にしていますね。
しかし、今回は1000行以上のすべてのデータが欲しいので、この項目は削除します。
③で最終的に取り出すテーブルをEVALUATEで決定します。
ペーストした状態では、501行だけ取り出した「__DS0PrimaryWindowed」になっているので、これを①の「_DS0Core」に変更します。
④はテーブルを氏名でソートしているだけなのでそのままにしておきます。
最終的なクエリテキストは以下のようになりました。
![最終的なクエリテキスト](https://yuki-papa.com/wp-content/uploads/dux_final.png)
次に「CSV テーブルの作成」のアクションで取得したテーブルをCSVに変換します。
![「CSV テーブルの作成」のアクションを追加](https://yuki-papa.com/wp-content/uploads/make_csv_table-1.png)
「開始」の欄には動的なコンテンツから「最初のテーブルの行」を選択します。
![動的なコンテンツから「最初のテーブルの行」を選択](https://yuki-papa.com/wp-content/uploads/output_query-2.png)
作成したCSVテーブルをシェアポイント上にCSVファイルとして保存します。
「ファイルの作成」で先ほど作成したCSVをファイルコンテンツに指定してファイルを作成します。
![ファイルを作成するアクション](https://yuki-papa.com/wp-content/uploads/make_csv_table-2.png)
CSVファイルに日本語が混ざっている場合には「decodeUriComponent(‘%EF%BB%BF’)」を挿入しましょう。
詳しく知りたい方は前回の記事を確認してみてくださいね!
作成したファイルを確認してみましょう!
![エクスポートされたCSVファイルの結果](https://yuki-papa.com/wp-content/uploads/export_result-1.png)
問題なく、1000行以上のデータがエクスポートできていますね!
今回の内容はこれで終了です!最後までご覧いただきありがとございました!