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」というものになります。

 

※Image by CloudScopeは新規でのダウンロードができなくなってしまいました。
代わりにSimple ImageやCloudScope Image Pro(進化版)を使うといいかなと思います。

 

◆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にDropboxの画像を読み込ませる

続いて比較的個人利用で使われることの多いDropboxを使った手法も紹介したいと思います。

Dropbox(ドロップボックス)については、画像のURLを一部変える形で進めます。とはいっても、URLの一部を変えるだけではあるのですが。

 

 

まずは下図のように画像をDropboxのフォルダにインポートして、

 

Power BIに表示したい画像リンクをクリックして、画像のURLをコピーします。

 

後はこれを同じようにExcelに貼り付けて、Power BIに読み込んでいく流れとなるのですが、

これだけだとPower BI上では画像は表示されません(下図)。

 

そこでURLの一部を少し変えます。

すると下図のように画像が表示されるようになります。

 

下記具体的な変更方法です。

 

本コンテンツは会員様限定コンテンツです。

コンテンツの閲覧・データのダウンロードをご希望の場合は、下記より会員登録をお願い致します。

登録いただいた方は、全データ・コンテンツへのアクセス+初回45分のビデオチャットサポート付きです。

今すぐ会員になる(7,980円/年間)

会員様ログイン

 

 

ソフ蔵

ソフ蔵

IT企業でデータ分析や分析基盤構築に携わってます。
主にPower BIの使い方やデータ分析のノウハウを伝えてます。
データを使って世の中やビジネスを可視化したり、データ駆動型の組織作りの支援をしています。

データ分析・可視化基盤の構築、データ活用方法、Power BIについて相談あれば下記からお問合せ下さい!!

Power BI・データ分析を学習しよう!!

Power BIレポートのテンプレートサイトはこちらです

Power BIショーケースサイト

ココナラ(Power BI)

Power BIの入門記事・記事をピックアップしましたので、こちらも参考にしてみて下さい

▶Power BIとは? 記事版 / 動画版(Power BIの概要を3分で解説!)

▶Power BIのメリット・デメリット 記事版 / 動画版

 

 

twitteryoutubemail

2 Comments

  • 顧客毎のマトリックスを作成していますが、
    2022年のランキングを基準としてその顧客の2021年、2020年の売上も表示したいと思っています。
    例)

    2022年  A社 500円
         B社 800円
         C社 300円

    2021年  A社 200円
         B社 300円
         C社 800円だった場合
    マトリックス表では
    顧客名  2022年  2021年 
    B社    800   300
    A社    500   200
    C社    300   800
    と並んでほしいのですが、どのようにしたらそうなるのかわかりません。
    ご教示いただけますでしょうか。 

    Reply
    • こんにちは!これはPower BIのマトリックスビジュアルを使えば実現できるかなと思います。
      行に顧客名、列に年、値に売上を入力して試してみて下さい

      Reply

コメントを残す

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

CAPTCHA


Scroll to Top