データサイエンス

Tableauで検索窓を実装する方法

この記事では、Tableauで作ったグラフに対して、「検索できる窓」を実装する方法をお伝えします。

ここでは、大量の種類の製品を作っているメーカーのケースを考えます。製品名がたくさん並んでいる表や棒グラフで、「コンロ」や「ホチキス」や「冷蔵庫」など特定のワードが含まれる製品名に絞って情報を閲覧したい場合がありますね。

Tableauのフィルターはデータを絞ることが可能ですが、ダッシュボードの上でフィルターで検索を行うことができないので、長いリストを目でスキャンするしかないです。さらに、フィルターは「ある文字を含む」ものを取り出せません。

以下では、パラメータと関数とフィルターを組み合わせて、2種類のやり方で検索機能を実現します。

 

パラメータと計算フィルドなどの使い方については、こちらで丁寧に教えられています。

Tableau講座 可視化分析の実践

検索機能の実装法1

①まず、検索ワードを継承するためのパラメータを作成します。自由入力で、データ型を文字列に設定します。

②次に、検索ワードに合致するデータに絞り込むための計算式を作成します。上のパラメータ「検索」を計算式の中で使います。この計算式を「Contain1」と名前をつけます。

IF CONTAINS([製品名],検索) THEN 製品名 ELSE NULL END

ここで、「XXXを含む」を実装するために、CONTAIN() 関数を使います。その使い方は以下です。

上の計算式は、「製品名」列に検索ワードが含まれた場合のみ、「製品名」をグラフに表示し、含まれないものは空白にする、という指示を出しています。

③この計算式「Contain1」をフィルターシェルフに配置し、すべてを選択します。

④ 今度は、元から行シェルフに乗っていた「製品名」の代わりに「Contain1」を配置します。ここで、縦軸にさまざまな製品名があります。

また、右側にパラメータ「検索」のコントロールパネルを出します。

この状態で、「コンロ」で検索してみましょう。

そうすると、下図のように、「コンロ」を含み製品名とその売り上げのみ出るようになりました。

検索機能の実装法2

今度の考え方は、(パラメータ「検索」を含む)計算式を用いて、製品名を絞るのではなく、検索ワードに合う製品名についてのみ、売上を表示させることです。

この場合、下図のように、検索ワード「コンロ」に当てはまらない項目は空白になります。ただし、実装法1とは異なり、売り上げが表示されなくても製品名は表示されます。

この場合、計算式「Contain2」は以下のようにパラメータ「検索」を用いて作ります。

IF CONTAINS([製品名],[検索]) THEN [売上 – 数値] ELSE NULL END

上の計算式は、「製品名」列に検索ワードが含まれた場合のみ、「売り上げ」をグラフに表示し、含まれないものは何も表示しない、という指示を出しています。

いかがでしたか?

TableauなどのBIツールで実際ダッシュボードを作りながら、「こういう機能が欲しいなあ」が出てきた時は、これまでに使いこなしてきたTableauの機能を組み合わせて、実現できる方法をぜひ試行錯誤しながら見つけてください。

 

執筆担当:ヤン ジャクリン(講師・データ分析官)

 

 

yan
データ分析官・データサイエンス講座の講師