
ThoughtSpot Modeling Language(TML)についてご紹介します。
こんにちは!ShintaroInomataです。
ThoughtSpotには、作成したAnswerやLiveboardなど各種オブジェクトを、人が読みやすい形式のテキストファイルとして扱えるTMLが存在します。
TMLに馴染みのない方も多いかと思いますので、今回はその概要や使用方法など、基本的な部分について解説していきます。
TMLとは
TML(ThoughtSpot Modeling Language)とは、ThoughtSpot上のさまざまなオブジェクトをYAML形式のテキストファイル(.tml)として表現したもので、編集、エクスポート、インポートが可能です。
主な利点
- オブジェクトを開発環境から本番環境へスムーズに移行できる
- 外部ツールやスクリプトを利用して、大量のオブジェクトを一括更新できる
- YAML形式で可読性が高く、容易に編集できる
対応オブジェクト
TMLには以下の種類があり、種類によってパラメータが異なります。詳細については公式ドキュメントをご参照ください。
種類 | 内容 |
Answer | Answerの定義情報 |
Connections | 外部データソースへの接続情報 |
coaching | AIへのコーチングに関する情報 |
joins | テーブル間の結合情報 ※単体のTMLファイルではなく、tablesやworksheetsなどのTML内に記述 |
Liveaboards | ダッシュボードの定義情報 |
Models | モデルの定義情報 |
Monitor alerts | モニターアラートの定義情報 |
SQL views | SQLビューの定義情報 |
tables | テーブルの定義情報 |
views | ビューの定義情報 |
Worksheets | ワークシートの定義情報 |
TMLのエクスポート
AnswerのTMLをローカルにエクスポートしてみます。使用するAnswerは、カテゴリごとの売上を表したものです。
データワークスペースのユーティリティーから、「TMLエクスポート」をクリックします。
上部にエクスポートするTMLの種類を選択できる欄があるので、「検索結果」を選択します。
次に、対象のAnswerを選んで、「1つのオブジェクトをエクスポートする」をクリックします。
以下の画面が表示されます。
Answer以外のTMLをまとめてエクスポートすることも可能ですが、今回はAnswerのみをエクスポートします。
この操作によって、TMLファイルをローカル環境にダウンロードすることができます。
TMLのインポート
次に、先ほどエクスポートしたTMLを修正し、それをインポートして更新することで、元のグラフを変更していきます。
データワークスペースのユーティリティーから、「TMLインポート」をクリックします。
先ほどインポートしたTMLファイルを選択してアップロードします。
アップロードが完了すると、以下の画面が表示されます。
ここでは、TMLから新しいオブジェクトを作成したり、既存オブジェクトを更新したりできます。今回は更新を行います。
アップロードすると以下の画面になります。tmlから新しいオブジェクトを作成したり、更新したりすることができます。今回は更新をします。
ただし、このままでは中身が変わっていないため、Actionの「編集」をクリックして内容を修正していきます。
TMLエディタが開きます。これがTMLの内容です。
今回は「カテゴリ」と書かれている部分を「サブカテゴリ」に置き換えます。
「Ctrl+F」を押して検索・置換を行えます。
上段にカテゴリ、下段に「サブカテゴリ」と入力し、「Replace All」をクリックします。
置き換えが完了したので、ファイルメニューから「検証」をクリックします。右上の検証ボタンを押しても構いません。
検証が成功すると、ファイル名の左側に緑色のチェックマークが表示されます。ファイル形式に誤りがある場合は、エラーが発生します
保存してTMLエディタを閉じたら、右上のインポートボタンをクリックします。
この画面から更新後のAnswerを開くことができます。「オープン」をクリックしてみます。
先ほどのグラフで「カテゴリ」だった部分が、「サブカテゴリ」に更新されています。
まとめ
今回の記事から、TMLの便利さや活用の可能性を感じていただけたのではないでしょうか。
まだTMLに触ったことがない方は、まずは簡単なエクスポート・インポートから試してみてください。
慣れてきたら、複雑な設定変更や自動化にも挑戦してみましょう!
参考URL
ThoughtSpotドキュメント:https://docs.thoughtspot.com/cloud/10.11.0.cl/tml
※2025/08/14時点の情報です(バージョン10.11.0.cl-56)