Q. Tableauのダッシュボード上でAnd条件を実装する方法は?(1)

TableauDesktopでは通常ダッシュボード上でかけられるアクションはOr条件、つまり以下の画像のようなフィルターのかけ方が一般的です。
(使用データソースはサンプルスーパーストア)

どっちかに該当する人が出ますね

今回紹介する方法は以下のやり方の実装方法です。
皆さんお分かりになるでしょうか??
(※サンプルスーパーストアは同じ顧客IDで別の地域の人間が注文しているデータが入っていたので正確な表現にならないかもしれないですが考え方としてはこの通りです。)

これを実装するやり方を考えてみてください

では、正解です。
といっても、これは自分が考えたものではなく知り合いの方に教えていただいた方法で、良いものと思ったので紹介します。
正解はExcludeを使用します。
このクロス集計表上でAnd条件で絞り込む場合以下の二つのLODの観点が必要になります。
 ① 棒グラフで絞り込まれているカテゴリ、サブカテゴリの
  個数はいくつか
 ② 個人のデータのうち棒グラフで絞り込まれている
  カテゴリ、サブカテゴリの個数はいくつか


赤枠が総サブカテゴリ数(2件)、青枠が個人のサブカテゴリ数

①の出し方は比較的簡単です。計算式は
 { EXCLUDE [カテゴリ],[サブカテゴリ],[地域],[都道府県],[顧客名]:COUNTD([サブカテゴリ])}
で、この集計表に投入されたフィールドに影響されないサブカテゴリ数
(カテゴリはサブカテゴリの配下なのでこのようにしています)をカウントしています。
この計算式を上の集計表に入れると、「2」という数値が表示されます。

続いて②の出し方です。計算式は
{ EXCLUDE [カテゴリ],[サブカテゴリ]:COUNTD([サブカテゴリ])}
です。一見わかりづらいですが、
 行ごとの列数の合計
を出すやり方をしています。
Excludeは表内のレベルを削ぎ落す計算式なのでこのようなことができます。

以上からフィルタ条件で①=②とすると、
 ・ 棒グラフで選択したサブカテゴリの個数すべてに該当する人のみ
  フィルタされる
ということになります。
ここで改めてOr条件とAnd条件をおさらいしてみます。
以下の図をご覧ください。

参照元:https://www.mathlion.jp/article/ar093.html

御存知の通りベン図です。
①=②で抽出されるデータは図のAかつBの部分になります。
ダッシュボードアクションで抽出できるのはAまたはBの部分です。
つまり、ダッシュボードで切り替えの効果を持たすため以下の順序をとるべきと言えます。
(And/Orの切り替えはパラメータを使用します)
 Ⅰ:サブカテゴリを選択して明細をフィルタするダッシュボード
   アクションをセットする
 Ⅱ:And/Orの切り替えパラメータを作成する
 Ⅲ:Andを選択したら①=②の真偽判定をする。
   Orを選択したらtrueとする。
となります。ⅢでパラメータがOrであるときにtrueとしておけばダッシュボードアクションがかかった状態になり、AndであればダッシュボードアクションでAまたはBの状態からさらにAかつBが抽出されるのです。

以上がダッシュボード上でAnd条件での絞り込みを実施する方法でした。

この記事が気に入ったらサポートをしてみませんか?