ブログ

Tableauダッシュボードのフィルターの設定方法を解説!

フィルター機能の理解が重要な理由

TableauでVizを作成する際には、フィルター機能を理解しておくことが重要です。その理由は、1つは集計対象・計算対象となるデータを適切にフィルタできるようにすることと、2つ目はTableauのパフォーマンスの観点です。

例えば、都道府県ごとの商品販売データを想定してください。特定の都道府県内における売上高上位5商品をランク付けしたいとすると、特定の都道府県をフィルタリングで抽出した上で、売上高上位5位までをランク付けする必要があります。

パフォーマンスの観点で、フィルタリングの方法を考慮するべきなのは、データの読み取り方法に直結するためです。例えば、あるデータを抽出する際に、「除外」を利用することは出来るだけ避けるべきです。「除外」の実行前にTableauは全てのデータをスキャンするので、その分だけ処理が遅くなります。

以下では、フィルタリングの基本的な機能とパフォーマンスを向上させるためのフィルタリング機能の使い方について紹介します。

Tableauにおけるフィルタリング機能

フィルター機能の概要

Tableauには6つの種類のフィルター機能があります。

それぞれの機能を紹介します。
「抽出フィルター」とは、ワークブックにデータを抽出する際に適用されるフィルターです。明らかに不要なデータを除外するために利用するフィルターです。ライブ接続の場合には抽出ではないので、このフィルターは適用されません。

次に適用されるフィルターは「データソースフィルター」です。データソースフィルターは、ワークブックに読み込まれたデータに対して適用されるため、すべてのシートでフィルタが適用されたデータを利用する場合に使います。
「コンテキストフィルター」とは、フィルターシェルフの中で動作する上位フィルターです。上位フィルターとは、簡単に言うと、フィルターシェルフの中で一番先に適用されるフィルターという意味です。コンテキストフィルターは、シートごとの適用になります。
「ディメンジョンフィルター」「メジャーフィルター」は、フィルターシェルフにディメンジョン、メジャーを追加した場合のフィルターです。最も利用頻度が高いものです。
最後に適用されるフィルターが「計算表フィルター」になります。計算表フィルターとは、これまでのフィルターとは異なり、データ自体をフィルタリングするのではなく、作成されたビューに対してフィルタリングを行うためのものです。例えば前年同月比の計算を行った上で、特定の年度のみ表示したい場合などに利用します。

フィルタ実行の順序に影響を受ける関数などの概要

上記の表のフィルター実行順序の右側に、それぞれのタイミングで実行可能な関数などを記載しています。フィルターしているはずなのに、フィルターがあたかも適用されていないように見えてしまう場合がありますので、実行順序は常に覚えておいた方がよいものです。
フィルタに関連して実行可能な関数などについて概要を記載します。

パフォーマンス向上に向けたフィルターの利用方法

フィルターシェルフの利用方法

値を全て取得する設定を避ける

フィルターシェルフにはディメンション、メジャーを入れることができます。この時フィルタリングの方法として、ワイルドカード一致や相対日付を利用すると処理の速度が早くなる場合があります。
リストやドロップダウンなどは、値を全て取得し動作するため、動作が遅くなります。加えて、表示する値の数が多ければ多いほど、値取得に時間がかかるので、一層動作が遅くなります。

除外を利用しない

データの読み込み量を減らすという観点では、除外を使わないということも重要です。除外を利用すると、Tableauは一旦全てのデータを読み込んでから除外の動作を行うため、データの読み込み量が多くなりがちです。

関連値のみの利用は最小限にする

ビューとの関連では、関連値のみを表示するという設定も、パフォーマンスの観点から申し上げると、利用しない方がよいものです。フィルタリングした上で関連した値のみ表示されるとダッシュボードの操作としては直感的に行えるメリットはあります。しかし、フィルターを行う度に、関連値のみを取得する処理が走るので、速度低下の原因にもなります。
 

適用ボタンを利用する

複数の項目を選択するフィルターの場合には、適用ボタンを利用することでダッシュボード利用のパフォーマンスを改善することができます。毎回、値を選択するたびに読み込みがなされると、少しの時間であってもダッシュボード利用者にとっては、使いにくいと感じます。適用ボタンを設定することのデメリットはほとんどないので、基本的には利用するようにします。

フィルターの適用先を制限する

フィルターを適用するシートが増えるほど、その分処理も多くなりますので、処理にかかる時間も増加します。基本的には、フィルターを適用するシートは必要なものだけに絞ります。
フィルターの適用先を調整するケースとしては、ダッシュボード作成中にテストで作成しているシートや数値確認のためのシートが多数ある場合が挙げられます。特に数値確認のためのシートはフィルターが連動する必要がないので、フィルターの適用範囲から除外することが多くあります。

補足として、シートが多数ある場合、どれがフィルター適用されているのかシート名のタブだけですぐに識別しにくくなる場合があります。この場合は、シート名称を工夫することで対応可能です。例えば、合計値などデータの確認のために作成したシートでは、QC_[データソース名]_[集計表名]という名称にするなど、一定の命名規則を導入すると、どのようなシートなのか名称からも判別しやすくなります。

パフォーマンス向上の確認方法

フィルタリングの方法を調整したことにより、実際にパフォーマンスが向上したかを定量的に把握することも可能です。

メニューバーから[ヘルプ] > [設定とパフォーマンス] > [パフォーマンスの記録を開始]を押下したらフィルターの変更や集計などを行います。これにより各操作の記録が作成されます。一通り測定したい操作を実行したら、[設定とパフォーマンス]より[パフォーマンスの記録を停止]を押下します。

記録を停止すると下記のような、各操作についてのパフォーマンスが記載されたワークブックが起動します。

このワークブックで最も注目するべきはEvents Sorted by Timeと記載されている部分です。実行時間が多くかかる順に、実行した操作が表示されています。この表の上位の操作ほどパフォーマンス改善の検討を進めていくことになります。

実際に実行されているクエリの内容は、Events Sorted by TimeにあるExecuting Query(クエリの実行)マークをクリックすることで、表示することが可能です。

まとめ

Tableauで集計表や指標を計算する際には、常にフィルタリングの効率とともに、フィルタの実行順序を考えながら実行することで、パフォーマンスが高くかつ多様な表現を行えるダッシュボードを実装することができます。
Tableauの基礎がわかってきたら是非フィルターの活用にも一歩踏み込んでみましょう。

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ