Power BIで画像を動的に表示する方法


Power BIレポート内で動的に画像を表示する方法です。

 

静的な画像を表示するだけなら、下記のように「挿入」タブ→「イメージ」から簡単にできるのですが、

これだとPower BIの特徴の1つである、レポートを動的表示できる機能が活かせないので、別の方法でやってみました。

 

※外部URLとの接続が発生したり、Microsoft非公認のビジュアルを使ったりと、若干セキュリティ面には疑問を感じる部分が多いので、センシティブなデータを扱うレポートへの実装は非推奨です。

 

●ゴール

まず今回実現したいことですが、、、

下図のように何も選択していない状態では、自動車のアイコンが表示されているのですが、

 

任意で企業名を選択すると、選択した企業のアイコンに変化する。

というビジュアルを作っていきたいと思います。

 

●必要なもの

Power BI Desktop以外で必要なものです。

1.画像(.pngとかで保存しておけば大丈夫です)

2.画像の格納先サーバー(僕はOne Driveを使っています。Microsoft製品ですし、無料なのでおすすめです)

3.画像表示用のカスタムビジュアル(自分はImage by Cloudscopeという名前のビジュアルをインストールして使いました)

 

 

●進め方

以下、進め方です。

他にも方法あるかもしれませんので、あれば教えて下さい。

 

 

1.画像の準備

まずは、Power BIレポート内で表示させたい画像を準備していきます。

 

まずは画像をサーバーに格納し、その格納先のアドレスをコピーします。

以下はOne Driveのやり方です。Google Drive等、その他のメディア使ってもいいかもしれませんが、無料なので、自分はこの方法で進めています。

 

◆1-1

こんな感じで、表示させたい画像を格納します。※新しく専用のファイルを作り、そのファイルの中に格納しておくとBetterだと思います。

ちなみに一番右にある黒の自動車のアイコンは、何も選択していない状態或いは全ての企業を選択した状態で表示するためのアイコンです。

 

◆1-2

画像をクリックし、右上の「埋め込み」を選択後、埋め込み用のURLをコピーします。

この画像のURLにアクセスを知っている人なら「誰でも」画像にアクセスできてしまうので、

セキュリティ面には注意して取り扱って下さい。

 

◆1-3(やってもやらなくてもOKです!)

1-2でコピーしたURLを、Excelファイルに貼り付けます。

こんな感じで貼り付けます。

※ここで画像データをBase64エンコードした方が本来はいいのですが、しなくても表示できたので割愛します。

※今回このデータはPower BIにインポートするわけではなく、URLが分かればいいので、やってもやらなくてもOKです。ただ備忘用に個人的にはデータのURLをマスタとして持っておきたいので、自分はデータを作りました。

 

画像の準備は以上です。

 

2.Power BI Desktopの操作

続いて、Power BI Desktop側での操作です。

 

◆2-1

Power BI Desktopにカスタムビジュアルをインポートします。

今回使ったビジュアルは「Image by CloudScope」というものになります。

 

◆2-2

では、DAX関数を使って、画像の出し分けを行うよう設定していきます。

今回使ったのは、

・「SelectedValue」関数と、

・「Swich」関数

の2つの2段論法です。

 

・「SelectedValue」

⇒選択した企業名(トヨタ、日産、ホンダ etc)あるいは、その代替結果(何も選択していない状態で)として「自動車業界」という文字を返す
‘Measure'[Card] =
 SELECTEDVALUE(‘Automotive Revenue'[企業名], “自動車業界”)

 

・「Switch」

⇒SelectedValueで返す文字が、各企業名と一致した場合(トヨタ、ホンダ、日産)、画像URLを返す。代替結果(何も選択していない状態)としては、デフォルトの画像を返す

PictureDax =
 SWITCH(TRUE(),
  ’Measure'[Card] = “トヨタ”,
  ”トヨタの画像のURL”,
  ’Measure'[Card] = “ホンダ”
  ”ホンダの画像のURL”,
  ’Measure'[Card] = “日産”
  ”日産の画像のURL”,
 ”デフォルトの画像のURL”
なんだか文字が多くて混乱しそうですが、
1つめのメジャーで、クリックして選択した「企業名」を返し、
2つめのメジャーで、1つめのメジャーで返ってきた企業名と、このメジャーで定義した企業名が一致するか判定し、
一致するならURLを返し、一致しないならデフォルトの画像のURLを返す
という処理をしています。

 

◆2-3

2-2で作った関数を、2-1のビジュアルにドラッグ&ドロップして完成です。

 

以上です。

関数の説明とか、少しはしょったところがあり、すみません!

では。

 

 

Power BIを学習しよう!!

●Power BIの使い方まとめ(初級編)

下記ページにPower BIを使い始めたばかりの人向けに、Power BIの学習方法をステップbyステップで紹介しています。

Power BI初級者にまず見ていただきたいまとめページです。

Power BIの使い方大全(初級編)

 

●DAX関数の使い方まとめ

Power BIをやる上では避けては通れないDAX関数を色々とまとめたのがこちらのページです。

政府統計の人口データを、様々なDAX関数を使って計算してみました。

Power BI DAXの使い方(初級12本)

 

●細かい使い方は動画で学習する

Power BIは様々な機能があり、定期的に更新もされます。

Power BIの細かい機能や使い方、気になった最新の機能アップデート情報等はYou Tubeに動画上げているので、こちらを参考にしてみて下さい。

You Tube:『Zou Channel

 

●Power BIレポートの運用方法を考える

少し応用編としてPower BI×RPAを活用した全自動レポートを作る方法についてもまとめました。

Power BIで作ったレポートをどのように効率運用していくべきなのか、あまり細かくは書けないですが、概要として参考にしてみて下さい。

Power BIとRPAで全自動レポートを作成する方法

 

●Power BIレポートのテンプレート集

Power BIを活用して作ったレポートを一部共有しています。Power BIで何ができるのか?イメージを持ってもらえるかと思います。

Power BIレポートのテンプレート集

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


Scroll to Top