Tableau 2019.2 新機能紹介:無限の可能性を秘めたパラメータアクション #tableau

はじめに

どうも。DI部@大阪オフィスの玉井です。

日本時間2019年05月22日(水)、Tableauの最新バージョンとなる「v2019.2」がリリースされました。

当エントリでは、バージョン2019.2の新機能の中から「パラメータアクション」についてご紹介したいと思います。

パラメータアクションを使うと、こういうVizもできます(詳細は後述)。

※マウスカーソルにアイコンがずっとついてきます。

パラメータって何だっけ

パラメータアクションの話に入る前に、パラメータのおさらいをしておきましょう。

言ってしまえばそのままなのですが、ビュー上に動的に変更可能な数値を持たせることができる機能です。

パラメータは、計算フィールドや、フィルタ、リファレンスラインに組み込むことができます。パラメータは、Viz上で変更することができるので、フィルタや計算フィールドに組み込まれている条件値を、Vizを操作するユーザー側で自由に変更することができます。

例えば、フィルタの条件として「上位xx」という設定がありますが、ここのxxにパラメータを指定して、Viz上で「上位5まで」「上位10まで」という風に、Vizをインタラクティブに操作することができます。

このパラメータですが、値の変更は、「パラメータコントロール」というフィルタに似ている入力欄から行います。Vizを操作するユーザーが直接値を入力したり選択したりする形ですね。言い方を変えると、今までパラメータはこの方法でしか変更できませんでした。

そのパラメータの変更を、ユーザーの任意入力だけでなく、別ビューからのアクションでも変更できるようになったのがパラメータアクションです。

パラメータアクション

パラメータアクションとは

一言でいうと「ダッシュボードアクション」の一つです。ダッシュボードにはアクションというものが設定できます。「このグラフを選択したら、こっちのビューにフィルタがかかるようにする」「この値を選択したら、指定のURLに遷移する」といった設定を仕掛けることができます(Tableauユーザーなら大体やったことあるんじゃないでしょうか)。

直近だとセットアクションというものが追加されましたね。

このアクションに新しく加わったのが、今回の「パラメータアクション」です。

パラメータアクションの設定方法

設定自体は至極簡単。

ダッシュボードのメニューから「アクション」を選択→「アクションの追加」→「パラメータの変更」を選択。

後は今までのアクションとほとんど設定は変わりません。動的に変更したいパラメータと、変更に使いたい項目を設定するだけです。

パラメータアクションの使い方

…とはいえ、「実際にはどういうときに使うのよ?」と思いますよね。既に、「こういう時に使うんだよ」という事例がいくつか公開されてますので、それを紹介します。

基本系

本家の解説動画(の最初のパート)を愚直にやってみました。

パラメータを設定する

こういうビューがあるとします。

下記の通りパラメータを作成します。

パラメータを変更するパラメータアクションを設定する

ワークシート→アクション→アクションの追加→パラメーターの変更を選択します。

上記のようにパラメータアクションを設定します。

リファレンスラインを設定する

アナリティクスからリファレンスラインを下記の場所にドラッグします。

下記の通り設定します。

確認する

今までやってきた設定をまとめると、このようになります。

  • パラメータを設定した
  • 選択したグラフの値とパラメータが連動するようにした(パラメータアクション)
  • パラメータに応じて線が引かれるようにした(リファレンスライン)

つまり、グラフを選択すると、パラメータが選択した部分の値になって、リファレンスラインが変動するようになるはずです。確かめてみます。

選択するたびに変わってますね。これは本当の初歩の初歩ですが、パラメータという、データとは別の変数を持たせられるようになったことで、表現の幅がものすごく広くなったような気がします。

ユニークな使い方

パラメータアクションの面白い利用例が、下記で紹介されています。

ジョイスティック

上下左右のボタンを配置して、それを操作すると、ポイントがその通り動くというViz(もはやVizなのかこれは)です。

仕組みとしては…下記のような感じです。

  • 散布図を作成する
    • 「X」と「Y」の2のパラメータを用意する
    • そのパラメータを単に表示するだけの計算フィールドを作成する
    • その計算フィールドを配置して散布図を作成
  • 上下左右のボタンを用意する
    • 1つにつき1シートで作成する
    • ダッシュボード上に「浮動」として配置する
  • ボタン用の計算フィールドを作成する
    • 上下左右の4つ分の計算フィールドを用意する
    • ボタンを押したときに実行される計算フィールド
      • 例えば左用ボタンは[X]-1となる
      • 左に移動する→X軸をマイナス1移動する
  • パラメータアクションを設定する
    • 上下左右ボタンの4つ分設定する
    • 上下のターゲットパラメータはY、左右はX
    • 値は先程作ったボタン用の計算フィールドを指定する

ザザッと書いたので、わかりにくいと思いますが、これらの設定をすると、ボタンを押す→現在値のX(またはY)の値がパラメータとなって、そのパラメータを使った計算フィールドが参照されます。そして、例えば下ボタンを押すと、「現在値のY軸 - 1」という計算フィールドが走るため、ポインタが1つ下に移動します。

自分でもやってみた

上記のジョイスティックを紹介している記事に、もう少し面白い使用例があったので、これは実際に自分の環境でやってみたいと思います。

冒頭に載せた、マウスポインタにアイコンがついてくるVizです。

データを準備する

Excelで下記のようなデータを準備します(オートフィルで作成しました)。

360〜-360まで、5刻みで作成します。そして全く同じシートをY列として複製します(1刻みにすると、Vizがすごく重くなりました)。

Tableau上でデカルト結合

作成したXシートとYシートをデカルト結合します。Tableauを使い込んでいるユーザーならお馴染みのテクとして、結合を計算フィールドで行うようにし、ただの1同士で結合すると、デカルト結合できます。

パラメータを作成する

整数のパラメータを2つ作ります(Point XとPoint Y)。

計算フィールドを作成する

計算フィールドを2つ作ります。

Plot X

IF [Y]=0 THEN
    0
ELSE
    [Point X]
END

Plot Y

IF [Y]=0 THEN
    0
ELSE
    [Point Y]
END

コントローラーシートを作成する

XとYを配置し、散布図を作成します。

そして、色の不透明度を0%に変更、マークを非表示、シートの塗りつぶしを 「なし」 に変更します。マークの形自体は円にするのが良いと思います。

ポイントシートを作成する

別途新規のワークシートを用意し、先程作成した2つの計算フィールドを、それぞれ行と列に配置します。この時、2つのポイントが描画されると思いますが、真ん中のポイントは右クリック→除外しちゃいましょう。

ポイントのアイコンについて

上記のポイントが、マウスポインタについてくるアイコンになるわけですが、どうせなら、何か違う画像を指定したい衝動に駆られますね。

社内のSlackを見て、テキトーに誰か(できれば同じ部署の人)のアイコンでも引っ張ってきましょうかね。

コイツにするか…

C:\Users\<ユーザー名>\Documents\マイ Tableau リポジトリ\形状にアイコン画像を配置して、マークシェルフの「形状」から設定すれば、任意のアイコン画像をポインタ代わりにすることができます。

はい!ひょっこりはん!

ダッシュボードでシートを重ねる

まずポイントシートを普通に配置します。そして、コントローラーシートを浮動にして、ポイントシートの上にぴったり重ねます。塗りつぶしを「なし」にしているので、透けて見える感じになります。

パラメータアクションを設定する

ここでやっとパラメータアクションが登場します。下記のパラメータアクションをXとYの2つ分作成します。

これで、コイツが永遠とマウスについてくる世にも恐ろしいVizが誕生しました。

仕組み

一回やってみるとわかるのですが、前側に配置したコントローラーシートの場所をポインティングするたびに、XとYのパラメータが、ポイントした場所の座標となり、計算フィールドを通して、指定したアイコンの場所が、そのポイントした場所の座標になる、という流れになります。だからマウスポインタにアイコンがついてくる感じになるわけですね。

おわりに

使い方によっては、無限の可能性が広がる機能だと思います。Tableau Publicに色々パラメータアクションを使ったVizがあるので、見てみるのもいいしょう。