久々の投稿のため、ライトな記事を書きます。みなさん大好きセットについての記事です。
ちなみにTableau 2020.2でSet Actionの強化が入りました。
Tableauの新機能にはいつもわくわくするのですが、現実問題として実はまだ2018.3以前のバージョンをお使いの方もいらっしゃるのではと思いました。Tableau Serverのアップグレードって大変らしいですね(作業それ自体もありますが、アップグレード承認や関係各所との調整など)。
したがって、今回はSet Actionsを見返してみて「そもそもパラメータで似たようなことは実装出来るな」というアイデアを書き留めます。
今回の記事に使用したダッシュボードは以下からダウンロードできます。
注意書き:今回の記事の内容は、機能だけ見れば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へよろしくお願いします。それでは。
Comments