tableauのtwbファイルを直接編集

コメント 2020-11-02 002809

こんにちは、truestarの吉村です。
私はtruestar工房(社内でtableauやAlteryxを研究をしているチーム)の一員でもあります。
truestar工房で研究した「tableauのtwbファイルの直接編集」に関して紹介をします。

1.tableauとXMLファイル

tableauのtwbファイルは、XMLという言語で記載されています。

例えば、以下はtwbファイルをサクラエディタで開いた時の画像です。
<> に囲まれたテキストになっていることがお分かりいただけると思います。

XMLの構成とtableauの対応を理解できれば、tableauDesktopを使わずにテキストエディタからtableauを編集することも可能です。
使いこなせれば便利な方法ですが注意点があります。

tableauは、twbファイルの直接編集をサポート対象外としています。
また、twbを直接編集することで、あり得ない状態のファイルを作成する事も出来てしまうので、tableauで開けなくなることもあります。
この方法を試す場合は、必ずバックアップを取ってください。
またサポート対象外になることも念頭に置いてください。

例えば以下は、直接編集で不正状態になったtwbファイルを、tableauから開いた際に表示されたエラーです。
tableauのファイルとして認識されない状態になってしまい、開くことが出来なくなってしまいました。
編集に失敗すると、このようなエラーになる可能もあるので、使用の際はご注意ください。

2.twbファイルを使って、並べ替え情報を直接編集

実際にどうやってtwbファイルを直接編集するかを、以下の例を使って説明します。

  • 状況
    以下のように棒グラフの「カテゴリ」を手動設定にて、
    家具⇒事務用品⇒家電の順にしたとします。
    (この状態を①とします)

    並び替えの情報はデータソースを変更などでクリアされてしまう事があります。
    以下は並び替え設定がクリアされてデフォルトの
    家具⇒家電⇒事務用品 になってしまった画像です。
    (この状態を②とします)

    ②のtwbファイルを修正し、①の状態にする方法を説明します。

    ※こちらの例の場合3つの並び替えなので、並び替えを直すのはさほど面倒ではありません。
    しかし、実際は業務では「都道府県順」や「部署順や商品順(並び順がクライアントから指定されている)」など数が多くて編集が面倒なものも存在します。
    数が多いとミスが混入しやすく、チェックするのも大変です。
    しかし、twbがファイルの直接編集であれば、比較的簡単に対応できます。

  • 用意するもの
    ①の状態のtwbファイル
    ②の状態のtwbファイル
  • 手順
  1. ①のtwbファイルをテキストエディタで開き『manual-sort』という単語を検索し、カテゴリの並び替えを管理している部分を探します。
    私が作成したtableauの場合は以下が必要箇所です。
    この部分を別のテキストエディタなどに保存します。

    次に『column-instance』という単語を検索します。
    見付けた中のうち、並び替えを移植したいディメンション名(この場合は『カテゴリ』)の『column-instance』を探します。
    私が作成したtableauの場合は以下が必要箇所です。
    この部分も別のテキストエディタなどに保存します。

  2. ②のtwbファイルをテキストエディタで開き、手順i.でテキストをコピーした際の①の行を参考に、②にコピー&ペーストします。既に同じ物がある場合は不要です。
    (注:XMLはタグと呼ばれる<>を使って構造を表しています。
             そのため、適当な位置にテキストを追加すると構造が壊れて不正なファイルになってしまいます。
              ①の場所を参考にして、XMLの構造を壊さないように注意してください。)

  3. ②のtwbファイルをtableauから開いて、修正されていることを確認したら、上書き保存を行います。
    (保存することでサムネイル情報などが更新される模様です。)

3.まとめ

上記のように、上手く使えばtableauから編集するよりも早く、機械的に対応することも可能です。
ただし、XMLの知識がないと編集できないのが難点です。
より対応しやすくするため「並べ替えを行うExcelツール」の開発なども視野に入れて引き続き検討・研究していきたいと思います。

また、truestarでは、新しい仲間を募集しています。詳細は以下をご覧ください。
株式会社truestar採用サイトhttps://en-gage.net/truestar

   *本記事で紹介した内容は動作を保証するものではありません。利用は個人の責任の範囲でお願い致します