
ThoughtSpotのライブボードでフィルターをリンクする方法について解説します。
こんにちは!ShintaroInomataです。
今回は、ThoughtSpotのライブボードで、異なるモデル間のフィルターをリンクする方法についてご紹介します。
通常、異なるモデル間に同じ列が存在していても、そのままでは同じフィルターを適用することはできません。
しかし、この機能を使えば複数のモデルにまたがって、一貫したフィルタリングが可能になります。
ライブボードでフィルターをリンクする
まず、異なるモデルで作成したAnswerを、1つのライブボードに配置します。
次に、それぞれのモデルに含まれる「都道府県1」と「都道府県2」という列をフィルターリンクしていきます。
ライブボードの右上にある3点ボタンをクリックし、「編集」を選択します。
すると、画面上部にメニューが表示されるので、「フィルターを追加」をクリックします。
フィルターの追加画面では、モデルごとの列名が表示されます。
どちらのモデルの「都道府県」を選択しても構いませんが、ここでは「model1」の「都道府県1」を選択します。
次に、フィルターの設定画面が表示されます。
「フィルターをリンクする」をクリックし、「連結モデル」と「リンクされたフィルター」にリンクしたいモデルと列名を選択します。ここでは、「model2」と「都道府県2」を選択しています。
ライブボードに表示されるフィルターは、一次モデルのプライマリーフィルター(都道府県1)です。
このフィルターに対して、「都道府県2」をリンクさせています。
また、「フィルターオプション」から、フィルター表示名を変更することができます。分かりやすいように「都道府県」としておきます。
ライブボードの上部に、「都道府県」のフィルターが追加されています。
試しに、「宮城県」と「山形県」でフィルターを適用すると、異なるモデルにまたがってフィルターが適用されていることが確認できます。
フィルターリンクの豆知識
フィルターリンクに関する細かなポイントや注意点をご紹介します。
3つ以上のモデル間でのフィルターリンク
「フィルターのリンク」をクリックすること、3つ以上のモデルの列をリンクすることが可能です。
3つのモデルすべてに、フィルターが適用されていることを確認できます。
フィルターリンクする列の値が異なる場合
もし、フィルターリンクする列の値が異なる場合はどうなるのでしょうか。
左側の「model1」には、項目が6つしかありませんが、右側の「model4」では、「東京都」が含まれており、7つの項目があります。
まず、プライマリーフィルターを、ライブボード右側にある「model4」の「都道府県4」に設定すると、「model1」には含まれない「東京都」もフィルターの選択肢に追加されます。
当たり前ですが、左側のモデルに「東京都」は存在しないため、上の画像のように表示されてしまいます。
対して、プライマリーフィルターを、ライブボード左側にある「model1」の「都道府県1」にした場合、「東京都」はフィルターの候補に表示されません。
つまり、プライマリーフィルターに設定する列の値が、全体のフィルター候補を決定するという点に注意が必要です。
上記のような不整合を防ぐためにも、フィルターリンクする列は、すべてのモデルで同一の値を持っていることが前提となります。
フィルターリンクする列のデータ型
フィルターリンクを行う列は、同じデータ型であることが前提となります。例えば、「都道府県」でリンクしようとするときに、「売上」などの数値項目が選択肢に出てこないのはこのためです。
よくある間違いとして、ThoughtSpotでは、DATE型とDATETIME型が別のデータ型として扱われていることに注意が必要です。
リンクしたい列がフィルターに表示されない場合は、データ型が一致しているかを確認することで、解決する可能性があります。
まとめ
フィルターリンクを設定することで、複数のモデルをまたいだ分析がスムーズに行えます。
もちろん、フィルターリンクを使わずに、すべてのデータを1つのモデルに統合するという方法もありますが、データモデリングの知識が求められるため、難易度が高くなります。
そのため、1つのAnswerで完結させる必要がないのであれば、フィルターリンクを活用する方法がおすすめです。
設定もシンプルなので、ぜひ一度試してみてください!
参考URL
ThoughtSpotドキュメント:https://docs.thoughtspot.com/cloud/10.9.0.cl/liveboard-filters-linked
※2025/06/13時点の情報です(バージョン10.9.0.cl-65)