見出し画像

Tableauの表現の幅を広げる新機能「画像の役割」[DATA Saber挑戦 #Week5]

DATA Saber BridgeプロジェクトにApprenticeとして参加しています。
週一note更新目指します。

はじめに

Tableau 2022.4がリリースされました!
今回もいろいろな面白い機能が追加されています。

中でも、Viz作成の幅を大きく広げられそうなのが「画像の役割」機能の追加です。
一言でいえば、ワークシート内にWeb画像を貼り付けることができるようになります。

Tableau 2022.4 の新機能(tableau.com)より

この機能を使うことで、以下のような表現もTableauで出来るようになります。基本的な「画像の役割」の使い方と、その応用方法を紹介します。

「画像の役割」を使えば、画像だけでなくヘッダの装飾のような表現や、
ツールヒント内の画像配置もできるようになります。

「画像の役割」の基本の使い方

使い方はいたってシンプルです。

1.画像URL項目付きのデータソースを準備する

今回は例として、 歴代内閣 | 首相官邸ホームページ のデータを利用させていただきます。

歴代内閣 | 首相官邸ホームページ
これまでの内閣総理大臣の名前や写真が掲載されている

このサイトの情報をスクレイピングして、以下のようなCSVファイルにまとめました。画像URLを項目として持つようにデータを準備します。

一番右の列に画像URL情報を載せた

2.Tableauで「画像の役割」を設定する

データソースの接続などは、特に特別な設定は必要なく、通常通りデータを読み込みます。

先ほどのCSVファイルをデータソースとして読み込んだ

画像のURLをそのまま行シェルフに入れてもURLの文字列が表示されるだけなのですが、画像URLの項目名を右クリックし、画像の役割 > URL を選択することで、URL文字列ではなく画像を表示させることが可能となります。

何も設定しないとURL文字列のままだが……
画像の役割 > URL を選択すると、画像が表示された

手順は以上です。

さらに「画像の役割」を活用する

これだけでも十分面白い機能ですが、他に良い活用方法がないか考えた中で出てきた表現方法です。

1.ヘッダを装飾する

ちょっとおしゃれなVizにどうぞ

あまりTableauでは見ないような表現方法ですが、これも「画像の役割」を応用して作っています。

以下のようなワークシートを作成したところで、ヘッダ画像用のURLのみを記載した文字列型の計算フィールドを作成します。

このような形式のワークシートを作ったところで……
画像のURLのみを記載した計算フィールドを作成
ちなみに、この画像を使っています。PNG形式。

上記計算フィールドに「画像の役割」を付与し、ワークシートの中に配置します。
※各行で画像を表示させるために、行シェルフの先頭に「INDEX()」を配置しています。

行シェルフの中に一旦入れた状態

ここから、見た目を整えていきます。
まずは枠線の書式設定で「行の境界線」をヘッダ画像と同じ色にして、各行で画像を表示させるために配置している INDEX() を非表示にします。
その後、項目の表示幅を変更し、行の境界線とヘッダ画像が同化するように調整します。

ヘッダ画像と行の境界線が同化するよう、調整していく

あとは、行内の塗りつぶしを「なし」にして、フォントの色、サイズ、配置をヘッダ画像と行の境界線に合わせます。

デフォルトで設定される縞模様をなしにする
フォントの色、サイズ、配置を調整する
今回は行の境界線に合わせて全て下揃えにした

これで、すこしオシャレなヘッダになったかと思います。

2.ツールヒント内に画像を表示させる

ワークシートに画像を表示させることが可能になった = ツールヒント内Vizに画像を表示させることが可能になった ということです。

ツールヒント内Viz用の新規シートを作成し、画像のみが表示されるように行シェルフに画像URL、テキストは空白を設定します。

テキストに入れた「""」は、その名の通り空白をテキスト表示させて、
テキストの表示幅を極限まで狭めています。
こうすることで、テキストが表示されない状態を疑似的に作り出すことができます。

このシートをツールヒント内に埋め込むことで、画像だけをツールヒントに表示させることができるようになります。

特に特別な設定をせずツールヒント内Vizとして埋め込む
ツールヒントに画像のみ表示させることができるようになった

「画像の役割」を使えば、他にも工夫次第でいろいろな表現ができるようになったと思います。
今後も他の表現方法を試してみたいです。

この記事が気に入ったらサポートをしてみませんか?