2020年5月20日

Setをパラメーターで制御する

最終更新: 2020年5月21日

久々の投稿のため、ライトな記事を書きます。みなさん大好きセットについての記事です。

ちなみにTableau 2020.2でSet Actionの強化が入りました。

Tableau 2020.2 Release Note: Set Comntrol

Tableauの新機能にはいつもわくわくするのですが、現実問題として実はまだ2018.3以前のバージョンをお使いの方もいらっしゃるのではと思いました。Tableau Serverのアップグレードって大変らしいですね(作業それ自体もありますが、アップグレード承認や関係各所との調整など)。

したがって、今回はSet Actionsを見返してみて「そもそもパラメータで似たようなことは実装出来るな」というアイデアを書き留めます。

今回の記事に使用したダッシュボードは以下からダウンロードできます。

https://tabsoft.co/3cSzXoI

注意書き:今回の記事の内容は、機能だけ見ればSetで実装する必要はありません。

内容を見れば分かりますが、ブーリアンのディメンション作成/使用と同等です。

あえてSetで実装している理由は、Set Action使用可能なバージョンに移行した際に、Set Actionの実装を簡単にするためです。2018.3を夢見ましょう。


はじめに:SetとSet Actionについて

基礎から入ります。Setとはディメンションから作られ、そのディメンションの値を何らかの条件(選択または計算式)に基づいてIN/OUTに分類するものです。

上部のタブを見ると、General, Condition, Topそれぞれがあります。

まずGeneralについて、ここではディメンションの項目を選択することができます。

次にConditionですが、ここでは文字通り「Setに含める条件」を指定できます。

計算式や値の範囲などを使用し、条件式を記述します。

最後にTopですが、こちらは基本的には集計値を使用したトップ/ワーストNを出します。


Set Action / Set ControlとSetの関係

ところで2018.3のSet Actionおよび2020.2のSet Controlは、この「選択」に対する機能です。ここでは詳細は割愛しますが、要はインタラクティブに何をSetに含めるかという「選択」が出来る機能です。

一方で、上記のConditionタブにパラメータを使用した条件式を入れれば、簡単に「パラメータの選択によりSetに含まれる項目を操作できる」のではないか、というのが今回のアイデアです。

具体的には、たとえば単一選択の場合は以下のような形です。

例えばCategoryのセットにおけるConditionタブ内で、Categoryから作成したパラメータを使用した条件式を設定すれば、このセットはパラメータで指定されたCategoryの値のみINに含めます。

そしてセットさえ作ってしまえば、あとはSet Actionの事例を引用できます。

詳しい作り方はWorkbookを見て頂くとして、以下のような挙動が2018.3未満のバージョンで実現可能です。

ちなみに複数項目をセットに入れたい場合は、やや入力が煩雑になりますが、REGEXP_MATCH()を使用した実装になるかなと思います。詳しくは正規表現を参照ください。

パラメータの値の例:Labels|Storage|Art

なお、晴れて2018.3以降が使えるようになったのであれば、このセットからConditionの条件を外し、適切なSet Actionを実装すればOKです。


ところで/最後に

ここまででお気づきかと思いますが、Set Actionへの移行あたりの考えを無視すれば、機能的には単にBy Formula内の計算式を書いたディメンション計算フィールドを作成すれば、同一のものは実装できます。

したがってセットの利用が若干煩雑ですが、あくまでも「Set Actionの使用を見据えた開発」のための知識としてご了承ください。

ご質問等はTwitter、Linkedinへよろしくお願いします。それでは。