はじめに
非常に興味深いYouTubeを見て感銘を受け、
それをもとに、気ままに勉強会#28 で登壇した内容を簡単にまとめてます。
Power BI レポートへの反応をもらう
Power BI レポートを組織内で展開したときに、そのレポートに対してリアクションをもらいたいときありませんか?パッと思いつくのはFormsでアンケートを作成して、ユーザーに送信。ユーザーが答えた結果をまたPower BIで可視化して…みたいなシナリオでしょうか。Formsは簡単にアンケートを作成できるツールですが、Power BIレポートは組織内にいくつもあり、アンケートを作る方も答える方も全てに対して行うことは現実的には難しい…そんなときに使えるテクニックを紹介します!
イイね!ボタンを作成してユーザーに押してもらう
レポートの雛形はこんな感じにつくります。実際のレポートでは、イイねボタンはもっと小さくてもいいでしょうね😁
iconは任意のものを使用してOKですが、Microsoftもiconを配布してくれているので、今回はこれを使用しています。
レポートの雛形ができたら、今度はPower Automate ビジュアルにデータを渡すために必要なテーブルを作成していきます。
レポートの名前を渡すためにたった1行1列の簡単なテーブルを手動で作成します。
手動で作成したテーブルに、Measureを追加。
Up = 1
Down = -1
ここまでできたら、Power Automateビジュアルをクリック😮
Power Automateビジュアルにわたす値をいれておきます。
Power AutomateビジュアルはPower BI Desktop上でフローの作成をできます。フローの作成画面に入ったら、Power BI からExcelテーブルを更新するというTemplateがすぐに見つかるので、それを選択します。
また、それとは別に、データを格納するためのExcelを作成し、OneDriveやSharePointなどに保存しておきます。
UserName
やMail
はPower BIにログインしているユーザーのものを自動的に取得することができます。
Excelが完成したら、フローを完成させていきます。先程Templateから選択したアクションを変更していきます。今回はExcelの行を更新ではなく、追加したいので、更新のアクションを削除して、追加のアクションを選択します。表に行を追加というドンピシャなアクションがあります。
追加したアクションに、入れたいデータを動的なコンテンツから選択してきます。UserName
やMail
はPower BIでのボタンクリック時アクションから取得できます。
Power BIのPower Automateビジュアルでは、保存だけではだめで、保存して適用ボタンをクリックする必要があります。これを押しておかないとビジュアル側で使用ができません😮
ボタンにPower Automateのフローが適用されるとこのように青い背景のボタンが完成します。このままでもCTRL+クリックをするとフローが開始されますが、今回はこのビジュアルをイイねボタンの画像の上に配置をして、ユーザーがあたかもイイねボタンを押しているかのようにしていきます。
Power Automateビジュアルの書式設定をいろいろいじると、背景がなくなり、真ん中の三角ボタンだけ残ります。
三角ボタンが少し目立ちますが、まぁこのくらいはご愛嬌。参考にしているYouTube動画のような画像を用意すれば、三角ボタンもいい感じに消すことができますね😮
Power Automateボタンをクリックして、実際にPower Automateフローを動かすと、以下のように無事Excelに行が追加されています。
複数レポート、複数ページに対応したい😁
今までの形式でほぼほぼやりたいことの大枠が完成しました。
ただ🤔実際には、社内で展開しているレポートは複数あり、またそれぞれのレポートには複数ページがあることが当然です。こういった状況にも対応できるようにもう少し改造していきます。
手動で作成するテーブルにはレポート名とページ名の列名を追記しておきます。
先程の手順と同じように、Power Automateビジュアルに値を渡すためのMeasureを作成していきます。
RATE_UP = 1
RATE_DOWN = -1
OneDrive上に作成しておくExcelも先程よりも列数を増やします。ReportName
やPageName
も入るようにしておけば、複数レポートでこのExcelを共有することが可能になります。このExcelをデータソースにしてさらに可視化することができるようになります。
Apply to each の動きに注意
Power Automateビジュアルは先程と同様に、「Excelに行を追加」をアクションに設定します。前回もそうでしたが、ここでApply to eachが出現していることがポイントになります。
このまま、Power BIのPower Automateビジュアルを設定し、クリックするとExcelに列が追加されます。
が、ボタンを押すと下図の上2行が同時に記録されます😮
これは、事前に作成しておいたテーブルに、1つのレポート名につきページ名が2つあるため、ボタンが押されるたびにすべての組み合わせ分(この場合は2つ)の処理を行う動きをするためです。
ということで、ボタンを設置したページごとに手動で作成したテーブルがレポート名・ページ名で1行になるようにフィルター処理をするようにします。ページ1ではページ1だけが使用されるようにフィルター。ページ2ではページ2のみ使用されるようにフィルターペインで指定します。下図はページ2でのフィルター設定をキャプチャーしています。
すると、今度は期待したとおりの動作をするようになりました🎉
Power Automateビジュアルをクリックすると、そのレポート名、ページ名が表示される1行が追加されます。
まとめ
Power Automateビジュアルはアイデア次第でもっといろいろ工夫できそう!😀