Q. Tableauのダッシュボード上でAnd条件を実装する方法は?(2)
(1)の記事をご覧になった方は、また同様の質問をさせていただきます。
以下の画面を実装する方法を考えてみてください。
リンクの記事で解説している方法では実装できません。
![](https://assets.st-note.com/img/1684593459653-vCBorhikNE.png?width=800)
では解説です。
今回はセットを使用します。
カテゴリサブカテゴリ別人数で選択した
・ カテゴリ
・ サブカテゴリ
を検索対象とします。
(記載例はカンマで区切っていますが文字列は何でも構いません。)
![](https://assets.st-note.com/img/1684594002361-dAZfwqd2SV.png?width=800)
やりたいこととしては以下の通りになります。
① 選択した検索対象の個数の全件を取得する
② 個人別データで該当する検索対象の個数の件数を取得する
③ ①②のデータが合致するか真偽判定する
ではまず、カテゴリサブカテゴリ別人数で選択した検索対象を絞り込みましょう。
絞り込みにはセットを使用します。検索対象のセットを作成しましょう。
![](https://assets.st-note.com/img/1684594329929-Tno3AokTrC.png?width=800)
続いてダッシュボードのセットアクションで、カテゴリサブカテゴリ別人数のサブカテゴリを選択したらセットに値が代入するようなアクションを設定しましょう。(絞り込まれているか動作の確認もしておきましょう)
![](https://assets.st-note.com/img/1684594423296-APiOoRMYi1.png?width=800)
他にも通常のダッシュボードアクションの絞り込み動作を入れておきます
ここまでは難しくないと思います
![](https://assets.st-note.com/img/1684594628635-X5aPNqtMO9.png?width=800)
![](https://assets.st-note.com/img/1684594699772-ejla0vGxzi.png?width=800)
フィルタされるアクション
![](https://assets.st-note.com/img/1684594774110-Q17U7zJqIg.png?width=800)
さて、本題はここからです。
今回はFixedを使用して構築していきます。
御存知の方がいらっしゃるかと思いますが、セットはLOD計算に投入することが可能です。
① では以下の計算式は何の数値を返すでしょうか?
{ FIXED [検索対象 セット]:COUNTD([検索対象])}
正解は、セットの中に入っている検索対象の件数、
つまりダッシュボード上ではカテゴリサブカテゴリ別人数で選択したサブカテゴリの件数となります。
この計算式を使用すれば絞り込みたいサブカテゴリの数の全件が取得できます。
② ①の計算式をヒントに、次は個人ごとの、検索対象セットの中に入っている検索対象の件数を返しましょう。
{ FIXED [顧客 Id],[都道府県],[検索対象 セット]:COUNTD([検索対象])}
(同一顧客Idの別都道府県の顧客がいたのでこのような形になりました。本来は顧客Idが一意に紐づくはずなので都道府県はいらなくなります。)
こうすれば、目的の件数を取得できます。
実装は先に紹介した記事のやり方同様、パラメータがAndの時に
①=②
の真偽判定を実施するだけです。
先に紹介した記事の方法と別に紹介したのは、この記事のやり方でないと、別シートを間に挟んでフィルタしようとしたときにAndをうまくかけることができないからなのです。
以上皆様の参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?