ラベル Filter の投稿を表示しています。 すべての投稿を表示

リストから選んだ全く別のウェブサイトを表示

Nanaeです。こんにちは。

URLフィルターに関連するテクニックです。選択した項目ごとに全く別のWebサイトを表示させる方法です。

★URLアクション
通常、選択した項目によって表示させるWebサイトを変えたいとき、URLアクションを使おうと考えると思います。たとえばこんな感じ。上の地図でJapanをクリックするとWikipediaの中で"Japan"のWikipediaサイト、Chinaをクリックすると"China"のWikipediaサイトを表示させることができます。

そのとき、URLアクションの設定画面では、Wikipediaの検索ワード前までのURLを入れ、連動させたいフィールドをそのうしろに入れますよね。

★パラメータを使ったURL連動
ここまでは通常の使い方ですが、選択した項目によって、全く別のサイトを表示させたいこともあると思います。Wikipedia内など1つのサイト内でのページではなく、たとえば、"日本"を選択したときは日本が運営している日本観光サイト、"中国"を選択したときは中国が運営している中国観光サイトなど、全く別のWebサイトに飛びたいといったニーズです。これは、URLアクションではなくパラメーターを使うことで実現します。

(ここから先で作るダッシュボードの完成図)

☆パラメータを使って全く別のWebページを表示させる
まず、パラメーターを作成します。URLは、このパラメーター作成画面でリストとして入力します。右側の表示名は、シート内でパラメーターを選択するリストとして出てくる文字なので、わかりやすく国の名前を書いておきます。

これをダッシュボード内に配置するWebページのオブジェクトに入れ込みます。このURLの入力エリアには、パラメーターも入れられるのです!


これで、パラメータに連動した、全く別のWebサイトを表示させることができるようになります!


☆パラメータを使ってフィルターされたVizを作る
次に、パラメータで日本が選択されているとき、上のシートにある地図では日本だけに絞った表示をしたいと思います。

地図ではこんなデータを使いました。観光での人気 Top 100の都市における2015年の入国人数のデータで、東アジアだけをピックアップしています。

まず、国と都市名でマッピングを行います。
次に、パラメータで日本が選択されているときには、Japanの地図だけを表示させるような仕組みを作ります。日本が選択されているとき、内部でパラメータがもっている値は日本のサイトのURLですので、URLとJapanを対応させる必要があります。このやり方を2種類お伝えします。

①計算フィールドを使う方法
URLとデータにある国を一つづつ対応させます。処理内容はわかりやすいと思います。

こんな流れで、Japan↔URL↔日本を引き継いでいます。

最後に、パラメーターで日本が選択されているとき、地図の方はJapanのデータだけ見せるようにするために、上の計算フィールドとデータにある国のフィールドが一致しているかどうかの計算フィールドを作ります。

これを満たすとき、すなわち"真"のときだけ、地図を表示させるフィルターを設定します。

②プライマリグループを使う方法
URLと国の対応表を作成して、接続します。


国でリレーションを張ってブレンドしてから、行の中に、プライマリとして元のデータから国、セカンダリとしてURLと国の対応データからURLを入れ、プライマリグループを作成します。

元のデータに、URLというグループができました。


国をグループ化したものですが、新しくURLという列ができているような動きをします。


こちらは元のデータにURL列を持ってきているので、流れはもっとシンプルになります。

最後に、上のURL列とパラメータが一致しているかどうかの計算フィールドを作り、"真"でフィルターをかけます。


これで、パラメーターで国名を選択すると、その国のデータにフィルターがかかった地図と、選択した国のWebサイトが表示されるようになりましたー!!!
ぜひ使ってみてください★

Nanae

選択した項目の画像を表示

Nanaeです。

今回は、Vizを選択したときに、関連する画像を表示させる方法です!
一般的には形状とフィルターアクションを使いますが、それに加えてここでは使える場面がより多いWebサーバとURLアクションを使う方法もご紹介します。

1.形状×フィルターアクション

2.Webページ ×URLアクション

2の方法だと動画も表示できるので、たとえばTableauの使い方も分かりやすく表示できます↓(下図は静止画ですが、ワークブック上では動いてます)

1.  形状×フィルターアクション

まずは、形状を使う方法です。これが基本。

これは、地図、国旗、国名の3つのシートから出来ています。

①場所をマッピングした地図

フィールド名は英語でCountryとしているので、自動的に"国"で地理的役割が振られています。日本語での自動割り当てはこれからです。

②場所をクリックしたら表示させる国旗

こちらは、カスタム形状を使っています。マイTableauリポジトリ > 形状 の配下にフォルダを作り、画像ファイルを入れると、自分で用意した画像を表示できます。

各国の形状を既定から割り当てます。そのとき、フォルダ内に入っている画像の順番と、Countryの中の国の順番が揃っていると、パレットの割り当てから一括で割り当てられます。順番が揃っていない場合は、11つ手で対応させていってください。

③場所をクリックしたら表示させる国名

①~③をダッシュボードに配置し、ダッシュボードアクションを設定して、完成!

2. Webページ ×URLアクション

こちらは応用編。Webサーバを立てて、Webサーバの中に画像を置いて、URLアクションで画像を見に行く方法です。

使っているシートは2つ。こちらは地図と国名だけで、国旗はシートとしては作っていません。

①場所をマッピングした地図
形状で作ったシートと同じです。

②場所をクリックしたら表示させる国名
こちらも形状で作ったシートと同じです。

2つのシートをダッシュボードに配置した後、地図上の場所を選択したら国名を表示させるようにフィルターアクションを設定しておきます。
 

問題は国旗の表示方法ですね。

国旗を表示させる領域はWebページのオブジェクトとして入れており、選択したシートからURLアクションで飛ばして表示させています。ということで、Webサーバを立て、Web経由で見に行けるように用意します。


----------ご参考:簡単なWeb サーバを立てた手順----------
今回私はPythonを使って、ローカルにWebサーバを立てました。

1. Pythonをインストール
  https://www.python.org/

2.Pythonのフォルダ配下に画像を入れる



3.コマンドプロンプトでインストールしたフォルダに移動して、Pythonを起動させる
 python -m SimpleHTTPServer 8888 (ポート8888を指定) 


4.ブラウザで起動を確認

--------------------------------------

URLアクションに記入したURLリンクを確認すると、Webサーバの中のPicturesフォルダにある、選択した国の<country>.gifを表示させるように設定されていますね。

URLアクションで表示させると、項目と画像の対応付けは名前を見るので、対応付けたい項目がいーっぱいあったとしても、項目の並び順とフォルダ内の並び順を気にせずに正確に一気に対応付けられます。これにはもちろん項目名と画像のファイル名を一致させておく必要があります。

また、形状だと静止画になってしまうgif動画でも、Webージ経由にするとちゃんと動画として表示できました。Webページを使うと、さらに用途が広がるかと思います!

以上、Tableauで選択した項目の画像をインタラクティブに表示させる方法でした!

Nanae

Tableau PublicにPublishしたワークブックはこちら↓