ThoughtSpotの列に関する設定

こんにちは、小澤です。

ThougthSpotでは効果的な検索を行えるようにするために、データの列ごとに様々な設定が行えます。 今回はそれらについて確認していきたいと思います。

列に関する設定項目

メニューの「DATA」から各種データを選択することで、「Columns」にて各列の設定が確認できます。

ここには、以下の項目があります。

  • COLUMN NAME
  • DESCRIPTION
  • DATA TYPE
  • COLUMN TYPE
  • ADDITIVE
  • AGGRIGATION
  • HIDDEN
  • SYNONYMS
  • SPOTIQ PREFERENCE
  • INDEX TYPE
  • GEO LOCATION
  • INDEX PRIORITY
  • FORMAT PATTERN
  • CURRENCY TYPE
  • ATTIBUTION DIMENSION
  • CALENDAR TYPE

それぞれ見ていきましょう

COLUMN NAME

名前の通り、「列名」です。 検索の際にはここで設定した名前を利用します。

DESCRIPTION

この列に関する説明を入れます。 ここで設定した値は以下のように、検索で利用する際の列一覧にポップアップで確認できます

DATA TYPE

データの型です。 データの型は事前に設定されたものとなるため、ここで変更することはできません。

COLUMN TYPE

列のタイプを選択します。 設定は「ATTRIBUTE」と「MEASURE」があります。

ATTRIBUTEはカテゴリカルな値が入る列であることの定義となります。 これは、例えば、棒グラフの項目となる値などであることを意味します。

MEASUREは値が連続的な数値であることの定義となります。 こちらは、先ほどの棒グラフの例であれば、棒の高さとして利用される値となります。

どちらが設定されているかは、集計を行う際に利用可能な操作にも影響があります。 ATTRIBUTEであれば、集計しない設定や項目ごとのデータ件数のカウントなどのみとなりますが、 MEASUREであれば、合計・平均などの様々な集計が利用できます。

デフォルトでどちらになるかはデータの型で判断されますが、ダミー変数を割り当てた数値型の列などのような場合、後から変更可能です。

ADDITIVE

この設定は、ほとんどのケースではデフォルトの値から変更できない状態となっています。 前述の「COLUMN TYPE」をMEASUREからATTIBUTEへと変更した場合のみに利用可能なものとなっており、後述のAGGRIGATEIONにおいて、MEASUREで利用可のな集計をATTIBUTEな列に対して行うかの設定を行います。

AGGRIGATION

デフォルトの集計関数をの設定です。 「合計 売上」や「平均 売上」のような具体的な集計方法を指定せずに「売上」のような検索を行った場合に利用されるものを指定します。

「COLUMN TYPE」と「ADDITIVE」よって利用可能なものが異なっています。

ATTRIBUTEであれば

  • NONE : 集計しない
  • COUNT : データ件数
  • COUNT_DISTINCT : データのユニーク件数
  • MIN : 最小値
  • MAX : 最大値

となります。

MEASUREであれば

  • COUNT : データ件数
  • COUNT_DISTINCT : データのユニーク件数
  • SUM : 合計
  • AVERAGE : 算術平均
  • MIN : 最小値
  • MAX : 最大値
  • STD_DEVIATION : 標準偏差
  • VARIANCE : 分散

となります。

HIDDEN

ONにすると、検索時の列一覧に表示されなくなります。

SYNONYMS

検索する際の列名に「別名」を付けることができます。 「,」区切りで複数設定可能です。

例えば、「売上」列に対して「売り上げ, 売上げ」などといった設定を行うことで、これらでも検索可能になります。

SPOTIQ PREFERENCE

この設定を「EXCLUDE」にすることで、その列をSpotIQでの分析対象から除外出来ます。 SpotIQの詳細については本記事では割愛します。

INDEX TYPE

データの値で検索を行う際に、どのように引っかかるようにするかを設定します。 ほとんどの場合、DEFAULTのままで問題ありません。

検索の際に困るのは、その列に含まれる値がバラバラ(ユニーク件数が非常に大きい)場合です。 含まれる値の数が多いとどこに引っかかるかを膨大な数の中から見つける必要があるため、パフォーマンスに影響を受ける可能性があります。

特に、この設定が必要になるのは主に、文章などの「長い文字列」が入っている列となります。

インデックスの仕方には以下の方法が指定可能です。

  • DEFAULT : DATE型ではないATTRIBUTEすべてに適用され、文字数が少ない場合はPREFIX_AND_SUBSTRING、文字数が多い列はPREFIX_ONLYと同等
  • DONT_INDEX : インデックスを利用しない
  • PREFIX_AND_SUBSTRING : 前方一致、部分一致などどこでもヒットする
  • PREFIX_AND_WORD_SUBSTRING : 文字列中の各単語にたいして前方一致のみ
  • PREFIX_ONLY : 文字列全体の前方一致のみ

GEO LOCATION

地理情報に関する列であることを示す設定を行います。 この設定がされている列が検索対象に含まれているとグラフを地図上に描画できます。

緯度経度や国名の他、日本国内のデータであれば都道府県や市区町村である設定が可能です。

INDEX PRIORITY

データを検索対象としてインデックスする際の優先度を指定します。 複数の列に同じ値が含まれており、検索時にその値を入力した場合のサジェストの候補の並び順を制御します。

FORMAT PATTERN

Excelの書式指定のように、表示させる数値や日付の書式を指定したい場合に利用します。 書式の指定方法の詳細はドキュメントをご確認ください。

  • Set number, date, and currency formats | ThoughtSpot

  • CURRENCY TYPE こちらも「FORMAT PATTERN」と同様書式に関する設定となります。 この設定は、通貨を表す列に対して設定するものとなり、例えば日本円であれば「Specify ISO Code」で「JPY」を選択すると、先頭に「¥」マークとが入り3桁のカンマ区切りとなります。

ATTIBUTION DIMENSION

Chasm Trapと呼ばれる特殊な結合が発生する場合に依存する属性の設定を行うために利用します。 Chasm Trapに関する詳細はドキュメントをご参照ください。

CALENDAR TYPE

日付の列に関する設定を行います。 これは例えば、会計年度の設定などに利用できます。

カスタムカレンダーの設定が別途必要となるため、ここでは詳細に関しては割愛します。

おわりに

今回は、ThoughtSpotのデータの列に関する設定を紹介しました。

地理情報や書式、類義語など、一部は明示的に後から設定してやる必要がありますが、 ほとんどのケースではデフォルトの設定のままでもうまく動いてくれます。

こういった設定が可能であることを認識しておくことで、細かく手を加えたいときに役に立つでしょう。