データ可視化のアイデア帳

データ可視化にまつわるあれこれ

非エンジニアのための Tableau パラメーター

こんにちは。突然ですが、Tableau のパラメーターを取り上げたいと思います。今回はパラメーター アクションはちょっと触れるだけなので、パラメーター アクションについて知りたい方は別の記事をご参照ください。

Tableau を始めて少し経った人たちが口々に言うのが「パラメーター」って何に使えばわからない、ということ。かく言う私もプログラミングなんて、新卒で入った会社で [show text "Hello World!"] って習った程度でどういう場面で使用すべきか正直良くわかっていませんでした。それで思い立ってユーザー会向けに勉強用コンテンツを作成していたのですが、昨今の状況で公開の目途が立たなくなってしまったため今回の記事にしようとした次第です。

そもそもパラメーターとは

もしかして信じられない人もいるかもしれませんが、私を含め日常的にコーディングをしない人はパラメーターが何か、ということ自体わかりません。ということで、なるべく平易な言葉でまとめてみました。

パラメーターとは
1.外から渡す
2.何らかの値で
3.結果に影響するもの

各項目についてみてみましょう

パラメーターを「外から渡す」とは

  • Tableau の viz 内ではユーザーが選択する

・パラメーター コントロールから入力する
いわゆるパラメーター (今回の記事の対象)
・Viz から動的に選択する
パラメーター アクション (今回の記事の対象外)

  • システム的に渡す (今回の記事の対象外)

・URL の一部に含める
・カスタム SQL の変数
JavaScript の変数
などなど

パラメーターは「何らかの値」

細かい解説は省いて、Tableau でパラメーターを作ってみるのが理解の早道だと思います。
Tableau でパラメーターを作成する際に決める項目は下記です。パラメーター コントロールはユーザーが値を選択するためのインターフェースということを考慮すると決めやすいと思います。

  • パラメーター名

ユーザーのアクションを促す名前が望ましい。(xx を選択、xx を入力 など)

  • データ型

ユーザーに入力して欲しいデータの形式を選択する。(浮動小数点、整数、文字列、ブール、日付、日付と時刻)

  • 現在の値
  • ワークブックを開いたときの値

2020.1 で追加された設定。日付などで最新の値を指定したい場合などに使用する。

  • 表示形式

書式設定

  • 許容値

選択肢から選ぶのか、値を直接入力するのか等を設定する

パラメーターを「結果に影響させる」

パラメーターを作成しただけでは、何も起きません。パラメーターと Tableau のそのほかの機能を組み合わせることによってはじめてパラメーターは作用します。つまり何のためにどんな機能と組み合わせるのかが重要で、また、どのようなシナリオのときに使うべきかが本質なわけです。

パラメーターのメリットは、ユーザーが値をコントロールできるのはもちろんのこと、1か所の入力で複数個所をコントロールできること、機能同士の掛け合わせができることなどがあります。これを踏まえて、Tableau でパラメーターを使用する方法についてみていきましょう。


Tableau でパラメーターを利用する

今回は利用方法をいろんなパターンで示すことを目標とします。ひとつひとつの手順を解説すると大変長くなってしまうため、詳細についてはワークブックをダウンロードして内容を確認してください。公式の KB などがざっと検索した範囲で見つかったものはリンクも付記してあります。

ワークブックはこちら Tableau Public


基本の使い方

1.Top N

① 整数型のパラメーターを作成
f:id:zkn360:20200306132712p:plain
② フィルターにディメンションを追加、条件を上位>パラメーターで指定
f:id:zkn360:20200306132726p:plain
③ パラメーター コントロールを表示する
f:id:zkn360:20200306132741p:plain
KB https://kb.tableau.com/articles/howto/using-a-top-n-parameter-to-filter-a-table?lang=ja-jp


2.タイトルなど文字列へ値を挿入する

① 任意のパラメーターをタイトルやテキスト項目に追加
f:id:zkn360:20200306132758p:plain
KB https://kb.tableau.com/articles/howto/adding-dynamic-descriptions-based-on-selection?lang=ja-jp


3.リファレンス ライン

① 整数型のパラメーターを作成
f:id:zkn360:20200306133020p:plain
② リファレンス ラインを追加
f:id:zkn360:20200306150034p:plain
③ パラメーター コントロールを表示
KB https://kb.tableau.com/articles/howto/creating-adjustable-reference-lines?lang=ja-jp

4.セットのメンバー

セットの条件に、パラメーターを使用した式を利用します
f:id:zkn360:20200306150143p:plain

※ これはセットを利用しなくても計算フィールドでも同じことはできます。結合セットを利用したいとかその他の機能と組み合わせる場合はセットが便利です。

5.Top N とそれに近いメンバーを表示する

ちょっと面白い例です。上位 N 位までを表示して (1.Top N と同じ) それに加えて、N+n 位まで表示する方法で、ランク外ではあるもののもう少しでランクインできそうなメンバーを示します。これは計算フィールドを利用します。
f:id:zkn360:20200306150908p:plain

4. セットのメンバー の手順から続けて
① 目標判定のための計算フィールドを作成
f:id:zkn360:20200306150723p:plain
念のため、この計算フィールドはリファレンス ラインを超えた項目からカウント アップ、リファレンス ラインを下回った項目からマイナスでカウント ダウンしています。リファレンス ラインから数えて n 番目を数えています。

② 上記の計算フィールドをフィルターへ
表示させたい範囲をマイナス n で指定する

6.ビンのサイズを指定する

これはオーソドックスな利用方法です。ビンの作成時にビンのサイズをパラメーターで指定すると、パラメーターコントロールを利用してビンのサイズを変更することができます。
f:id:zkn360:20200306151229p:plain

7.結合セット

セットの便利な点は、セットを 2 つ組み合わせて結合セットを作成できることです。セットを 2 つ選択して右クリックで結合セットを作ることができます。
f:id:zkn360:20200306151606p:plain
結合セットを使用する場合は結合条件に注意する必要があります。言葉だとわかりにくいので、図にしてみました。
f:id:zkn360:20200306151757p:plain

結合セットを利用すると、下記のような表現ができます。もちろんパラメーターと組み合わせて範囲を変更することもできます。
f:id:zkn360:20200306151913p:plain

手順はこれまでの手順とほぼ同様のため省略します。詳細はワークブックをご確認ください。

8.パラメーター アクション

パラメーター アクションはパラメーター コントロールを利用するのではなく、Viz の任意のマークを選択し、その値をパラメーターとして利用する方法です。これだけで相当数のブログ記事を検索して見つけることができると思います。ので、今回の記事では扱いません。

Online help パラメーター アクション - Tableau

ちょっと応用

基礎編では 1 つの項目を変化させるためのパラメーターを扱ってきましたが、応用編では複数の項目、シートにまたがる利用方法をご紹介します。

9.表示するメジャーを変更する

同一のシート内で別のメジャーを表示させたい場合に利用します。例えば「サンプル - スーパーストア.xlsx」で売上と利益と数量をパラメーターで切り替えて表示したいとします。
① リスト形式のパラメーターを作成
f:id:zkn360:20200306152748p:plain
② 計算フィールドを作成
f:id:zkn360:20200306152816p:plain
③ 上記の計算フィールドを使用して通常の Viz を作成する
④ パラメーター コントロールを表示

Online Help 例 – パラメーターを使用したメジャーのスワップ - Tableau

10.詳細レベルの変更

9. では表示するメジャーを変更しましたが、ここでは詳細レベルに利用するディメンションを切り替えます。とはいえ手順はほぼ同じです。
① リスト形式のパラメーターを作成
f:id:zkn360:20200306153139p:plain
② 計算フィールドを作成
f:id:zkn360:20200306153145p:plain
③ 上記の計算フィールドを [詳細] として使用する通常の Viz を作成する
④ パラメーター コントロールを表示

11.集計レベルの変更

10. では詳細レベルとして使用するディメンションそのものを切り替えましたが、ここでは単一の日付のディメンションで日付の粒度を切り替えます。
① 日付の粒度を指定するパラメーターを作成
② 日付の粒度を変更する計算フィールドを作成
f:id:zkn360:20200306154017p:plain

以下はオプションです。
日付の粒度を変更すると、棒グラフの幅が単一だと見栄えが悪くなります。それを避けるために棒グラフの幅を調整する計算フィールドを作成します。
f:id:zkn360:20200306154158p:plain
この計算フィールドを棒グラフの幅とする Viz を作成します。
f:id:zkn360:20200306154306p:plain

12.日付ずらし

昨年と比較して今年のトレンドは早いのか遅いのか、どのくらい違うのかを比較するために日付をずらします。
f:id:zkn360:20200306162957p:plain
① 日付をずらすためのパラメーターを作成
ここでは週をずらす想定です。
② 特定の期間のメジャーをずらすための計算フィールド作成
「サンプル - スーパーストア.xlsx」を利用しているため、特定の 2 年分のデータをあらかじめ別の計算フィールドで取り出してあります。
f:id:zkn360:20200306163250p:plain
③ 不連続の年/月/日/週数を連続に変更した軸を利用して Viz 作成
連続の日付を選択すると図が重ならないので注意

13.表示するシートの変更 (シート スワップ)

ダッシュボード上で表示するシートを切り替える (スワップ) する方法。
① 表示したいシートをそれぞれ作成 (a と b)
② 表示するシートを選択するパラメーターを作成
f:id:zkn360:20200306163639p:plain
③ フィルターに利用するための計算フィールドを作成
f:id:zkn360:20200306163709p:plain
④ それぞれのシートで ③ の計算フィールドをフィルターへ、パラメーター コントロールで表示したいシートが表示されているときにフィルターをチェックする
f:id:zkn360:20200306163830p:plain
ダッシュボードを作成
片側のシートは浮動でもう一方のシートに重ねる。シートのタイトルは非表示にしておく。

Online Help ダッシュボード用のシート セレクタを作成する - Tableau

14.背景イメージの変更

あまり知られていないのですが、背景イメージをパラメーターで制御することができます。
f:id:zkn360:20200306164136p:plain
マップ メニューの背景イメージの編集で「次の場合にのみ表示」を利用します。
f:id:zkn360:20200306164053p:plain
※ こちらはワークブック内にサンプルありませんので、ご興味のある方は自力でどうぞ。

Online Help ビューで背景イメージを使用する - Tableau



いかがだったでしょうか。結構パラメーターって使い道ありますよね。これにパラメーター アクションまで加わったら可能性は無限大です。ぜひぜひ活用してください。


ちなみに今回の記事のネタ元は Tableau Conference 19 の下記セッションです。もしご興味があればご参考ください。(ワークブックも計算式も手順もありませんが、何をしたいのかはわかりやすいです。)
Parameters: Oh, the Places You'll Go | Tableau Conference 2019