Tableau Desktop Tips: 異なる(より新しい)メジャーバージョンで保存されたワークブックを古いバージョンで開く

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

小ネタです。

且つ、あまり推奨される使い方では無いのですが、いざって時に使える技として覚えておいて損はないTipsをひとつ、ご紹介したいと思います。

それがタイトルでご紹介しているネタである『古いバージョンで新しいバージョンのワークブックを開く』です。

Tableauでは、ワークブック間に『メジャーリリース間での下位互換性は無い』というのは公式のナレッジベースでも記載がされています。例えば、バージョン9.3で作成・保存されたワークブックはバージョン9.2以前のTableau Desktopでは開くことが出来ません。

実際にどんな挙動を示すか、試してみましょう。まずは9.3で適当なファイルを作成し、保存します。

open-newer-tableau-workbook_01

そして9.2のアプリケーションを別途開きます。

open-newer-tableau-workbook_02

開くファイルは先ほど作った9.3系のワークブックです。

open-newer-tableau-workbook_03

開こうとしたら、以下の様なエラーが表示されてしまいました。これは正しい挙動です。エラーメッセージも下位互換性が無い旨を表示しています。

open-newer-tableau-workbook_04

ここからがポイントです。ワークブック(拡張子:*.twb)をエディタで開きます。中身はXML形式のファイルとなっています。冒頭は以下の様な内容となっていますが、

$ vi Tableau93Contents.twb
<?xml version='1.0' encoding='utf-8' ?>

<!-- build 9300.16.0315.0125                                -->
<workbook source-build='9.3.0 (9300.16.0315.0125)' source-platform='mac' version='9.3' xmlns:user='http://www.tableausoftware.com/xml/user'>
  <preferences>
    <preference name='ui.encoding.shelf.height' value='24' />
    <preference name='ui.shelf.height' value='26' />
  </preferences>
  <datasources>
    <datasource caption='Orders (Tableau_Superstore Sales Japan-2013)' inline='true' name='excel-direct.1radf631g98tjl12udqf70hjgxo6' version='9.3'>
      <connection class='excel-direct' cleaning='no' compat='no' dataRefreshTime='' filename='/Users/abeshinya/Desktop/Tableau_Superstore Sales Japan-2013.xlsx' interpretationMode='0' password='' server='' validate='no'>

ワークブックのバージョンを指定している箇所を、開こうとしているTableauのバージョンに置き換えます。ここでは、9.3系のワークブックを9.2で開くため、値を『9.2』に変更しています。変更が終わったら保存しておきます。

$ vi Tableau93Contents.twb
<?xml version='1.0' encoding='utf-8' ?>

<!-- build 9300.16.0315.0125                                -->
<workbook
  source-build='9.3.0 (9300.16.0315.0125)'
  source-platform='mac'
  version='9.2'
  xmlns:user='http://www.tableausoftware.com/xml/user'>
  <preferences>
    <preference name='ui.encoding.shelf.height' value='24' />
    <preference name='ui.shelf.height' value='26' />
  </preferences>
  <datasources>
    <datasource caption='Orders (Tableau_Superstore Sales Japan-2013)' inline='true' name='excel-direct.1radf631g98tjl12udqf70hjgxo6' version='9.3'>
      <connection class='excel-direct' cleaning='no' compat='no' dataRefreshTime='' filename='/Users/abeshinya/Desktop/Tableau_Superstore Sales Japan-2013.xlsx' interpretationMode='0' password='' server='' validate='no'>

9.2系で再度開いてみます。今度は起動する事が出来ました!

open-newer-tableau-workbook_05

ちなみに、パッケージドワークブック(拡張子:*.twbx)でやったらどうなるかを試してみたところ、エディタで編集する事が出来ない形式になっておりました。

open-newer-tableau-workbook_06

追記

上記の拡張子*.twbxに関してコメントを頂き、こちらも対応出来る事を確認しました。まずはファイルを拡張子*.zipにリネームし、上記同様に編集を行います。

$ mv Tableau93Contents.twbx Tableau93Contents.zip
$ vi Tableau93Contents.zip

ファイル指定を促されるので、twbファイルを選択。

" zip.vim version v23
" Browsing zipfile /Users/abeshinya/Desktop/Tableau93Contents.zip
" Select a file with cursor and press ENTER

Tableau93Contents.twb 【この行にカーソルを併せてEnter]
Data/Desktop/Orders.tde

twbファイルを編集出来るようになるので同じようにバージョン番号を書き換えます。

tableau-open-diff-version-workbook

これでtwbxファイルについても開く事が出来ました。

tableau-open-diff-version-workbook_2

まとめ

以上、異なる(より新しい)メジャーバージョンのワークブックを開くTipsのご紹介でした。ファイルのプロパティを直に書き換えるという技なので、あまり正式にはオススメできないような気もしていますが、いざという時には役に立つのかなぁと思います。そしてこのケースの場合であれば、Desktopユーザーは"一斉に"バージョンのアップグレードを行い、利用者間の利用バージョンの統一を図るべきです。また、アップグレードの際には個別に実施するのでは無く、利用者間で足並みを揃えて『せーの』で一括更新してしまうほうが混乱も少なく済むのでオススメです。

参考情報