Tableauで1ダッシュボードに複数データソースのフィルター案
Tableauで作成する際には、基本的には1ダッシュボードにつき1データソースが望ましいですが、複数のデータソースになってしまうことがあります。
複数のデータソースになった場合にフィルターが同時にかからないので、使い勝手の悪いダッシュボードになってしまうので、今回はそのような場合の対処法を4つ書きたいと思います。
1. 複数のデータソースを結合して1つのデータソースにまとめる
事前に結合キーを使って複数のデータソースをJOINして一つのデータソースを作成するという方法です。こちらが一番王道のやり方だと思います。
ただし、結合することによってデータが爆発的に増えてしまってパフォーマンスに影響するなどの場合がありますので、この方法がとれない場合もあります。
2. ブレンド機能を利用する
こちらは1の結合と比べるとデータソースが爆発的に増えることは抑えられますが、ブレンド機能自体がパフォーマンス上あまりよくないので、この案を私は採用することはほとんどないです。
3. パラメータを利用する
こちらは、複数のデータソースのままダッシュボードを構築して、パラメータをクイックフィルターのように扱い、各データソースにパラメータを参照した計算フィールドを作成してフィルターをかける方法です。
こちらの方法は利用するケースが多いですが、欠点はパラメータなのでフィルターの項目を複数選択できないことです。
なので、フィルターを単一選択の場合はこの方法を検討して、複数選択が必要な場合は次の方法を検討してみてください。
4. 複数のデータソースを縦に結合して1つのデータソースを作成する
1で複数のデータソースを結合する話をしましたが、こちらはカラムをずらして縦に結合する方法です。
例えば以下のような2つのデータソースがあります
1. カテゴリ別売上
年 | カテゴリ | 売上 |
---|---|---|
2020 | 家具 | 2000 |
2020 | 家電 | 5000 |
2021 | 家具 | 2500 |
2021 | 家電 | 6000 |
2. エリア別売上
年 | エリア | 売上 |
---|---|---|
2020 | 関東 | 4000 |
2020 | 関西 | 3000 |
2021 | 関東 | 5000 |
2021 | 関西 | 3500 |
こちらをずらして縦に結合する方法だと以下のようになります
年 | カテゴリ | エリア | 売上 |
---|---|---|---|
2020 | 家具 | 2000 | |
2020 | 家電 | 5000 | |
2021 | 家具 | 2500 | |
2021 | 家電 | 6000 | |
2020 | 関東 | 4000 | |
2020 | 関西 | 3000 | |
2021 | 関東 | 5000 | |
2021 | 関西 | 3500 |
このデータソースを作れば、ダッシュボード上で年のフィルターを共通のフィルターとして使うことが可能です。
データソースの量も縦に結合するので、1と違って爆発的に増えることはありません。そのため3個でも4個でも結合することが可能です。
各シートでは、自分の該当の行だけを固定のフィルターで絞り込めば通常作成時とあまり変わりません。また3のパラメータの場合と違って、フィルターで複数の選択が可能です。
この案のデメリットとしては前処理が必要になるだけですので、積極的に活用したい方法です。
私はよくこの方法を利用するので、使うケースが多いと思いますので知らなかった方は是非やってみてください。
まとめ
今回は1ダッシュボードに複数データソースを配置してフィルターをかけたい場合の対処方法をまとめました。この方法を広げれば、複数のダッシュボードでフィルターを連動させることも可能になります。
複数のダッシュボードで同じデータソースの場合は、フィルターの設定で連動させることが可能なので、4のずらして縦に結合する方法を利用すれば複数のダッシュボードでフィルターを連動させることができるケースもあると思います。
ぜひ参考にしていただければと思います。
Discussion