24
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Power BI] 「データを取得」時の工夫🤩 軽いデータでレポート作り→公開時は全件データ

Posted at

はじめに

レコード数の多いデータをインポートしてレポートを作成しなければいけないとき、こんな風にしてみるのはいかがでしょうか。

やりたいこと

  • レポートを作成するときは一部のデータで行いたい
  • Power BI Serviceで公開するレポートは全件表示したい

ホームタブの「データを取得」は全件取得

「データを取得」し始めるときにPower BI Desktopの ホームタブにある「データを取得」 から開始すると、データソースや、その資格情報を入力し終えて「取込」ボタンを押すと、全件取得 が開始します😃

image.png

データ量があらかじめわかっていて、少ない量だったらそれでもいいのですが、日々更新される売上データなど何億行もあるデータの場合はそうもいきません。取込に1時間以上かかる場合だってあるし、1時間待ったのに最後エラーを吐いて終了している・・ことだって起こりえます。ですので、大きいデータはデータ量を制限して取り込む必要があります。

Power Query Editorの「データを取得」

こういった場合、「データを取得」は Power Query Editor から行いましょう😁
ホームタブのデータの変換 をクリックします。

image.png

Power Query Editorが別ウィンドウで開いたら、新しいクエリ からデータを取得していきます。

image.png

Power Query Editorから読込むと上位1,000行のプレビュー表示 となります。
ですので、データの読込はサクッと終わり、ETL作業に入ることができます。

image.png

上位の行を保持

このまま「閉じて適用」を押してしまうと、結局全件取得に😥

image.png

いろいろ方法は考えられますが、今回は「上位の行を保持」を試してみましょう。
テーブル左上にあるボタンをクリックしメニューを出し、「上位の行を保持」 を選択します。

image.png

例えば、上位10,000行などを設定します。

image.png

この状態で「閉じて適用」をクリックすると、10,000行のデータで作業を開始することができます。

「下位の行を保持」を選択すると、行数を絞ることになり結果は一緒になりますが、テーブルデータ全体をスキャンする必要があるため処理が重くなる可能性があります。

パラメーターを作成😉

上記のように行数を絞ってレポートを作成すると、Power BI Serviceに発行するとその10,000行のデータしか入っていないレポートになります。

そこで、まずはパラメーターを作成しましょう。
Power Query Editorの 「パラメーターの管理」 をクリックします。

image.png

image.png

パラメーターを「上位の行数を保持」に適用

作成したパラメーターを、「上位の行数を保持」に適用します。

image.png

ここまで行ったら「閉じて適用」をクリックします。結果は先ほどまでと同じように、上位の行10,000行のみが取得されており、軽いデータでビジュアライズ作業を行うことができます。

ビジュアルを作成して、PowerBI Serviceへ発行

Power BI Desktopでこのようなビジュアルを作成します。行数を数えるだけの簡単なメジャーと、カードビジュアルを表に出しています。
当然、Power BI DesktopとPower BI Serviceでは同じ行数が表示されています。

Power BI Desktop
image.png

Power BI Service
image.png

Power BI Serviceでパラメーターの値を変更する😊

Power BI Serviceにアップしてあるデータだけ全件取得を行いたいので、パラメーターの値をService上で変更します。データセットの三点リーダーをクリックし、設定画面にいきます。

image.png

設定画面に行くと、「パラメーター」 という項目があるので、そこの数値を任意の値に変更します。全件データを取得したいときは絶対に超えない大きい数字に変更するといいでしょう。
今回も1300万件ほどのデータですが、適当に100000000000と設定しておきます。

image.png

データセットを更新

ここまで作業をしたら、あとはPower BI Service上でデータセットを更新するだけです😁
リフレッシュをしてしばらくまつと、全件取得できていることがわかります。

image.png

無事、最初にやりたかったことはできました。

  • レポートを作成するときは一部のデータで行いたい
  • Power BI Serviceで公開するレポートは全件表示したい

まとめ

大きなデータを扱うときはデータの準備、レポートの作成時、発行後と、いろいろと考えないといけないことが多くなってくる。パラメーターやデプロイパイプラインなどをうまく使いながらデータの荒波を乗り越えたい🐋

参考URL

24
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?