Tableau Release Note Viz作りました

(記事最終更新: 2021/7/25 | Release Note Vizは随時更新です)


実際に作ったのは2020年3月ですが、そういえばBlogで紹介していないな…と思い、紹介記事を書きました。

以下のURLからTableau Public内のWorkbookを開けます。


Tableau Release History: https://tabsoft.co/3cIaazJ

上図のように、クリックしてリリース機能を確認することができます。

(WebオブジェクトがTableau Publicで動作しないのでWorkbookのダウンロード推奨です)


Google Apps Scriptで各バージョンのリリースノートから情報をWeb Scrapingしています。

綺麗なコードではありませんが、以下で各バージョンのリリースノート情報を取得しています。release_urlを指定すれば自動でGoogle Sheetに出力されます。

function myFunction() {
// Set the target release note
 var release_url = 'https://www.tableau.com/2021-1-features';
 
// Get base html from the release note
 var html = UrlFetchApp.fetch(release_url).getContentText("UTF-8");

// set RegEx and extract strings
 var id_regex = new RegExp(/item-\d+/g);
 var title_regex = new RegExp(/<h3 class="heading--h5 teaser-item__title">(.*?)<\/h3>/g);
 var subtitle_regex = new RegExp(/<div class="field field--name-field-teaser-text field--node field--label-hidden"><p>(.*?)<\/p>/g);

 var id_tmp = html.match(id_regex);
 var title_tmp = html.match(title_regex);
 var subtitle_tmp = html.match(subtitle_regex);

// Data Prep
 var url = [];
 var title = [];
 var subtitle = [];
 var index = [];
 
 for (var i = 0; i < id_tmp.length; i++) {
 
 var url_str = release_url + '#' + id_tmp[i];
 url.push(url_str);
 
 var title_str = title_tmp[i]
      .replace('<h3 class="heading--h5 teaser-item__title">','')
      .replace('</h3>','');
 title.push(title_str);
 
 var subtitle_str = subtitle_tmp[i]
      .replace('<div class="field field--name-field-teaser-text field--node field--label-hidden"><p>','')
      .replace('</p>','');
 subtitle.push(subtitle_str);
 
 index.push(i);
       }

// merge the arrays
 var output = [];
 output.push(index,url,title,subtitle);

// transpose the array
 var output_trans = [];
 for(var i = 0 ; i < output[0].length; i++) {
 //make an empty array
 output_trans.push([]);

  //Transpose the array by pushing the elements to the empty array
 for(var n = 0; n < output.length; n++) {
 output_trans[i].push(
 output[n][i]
      );    
    }
}

//console.log(output_trans);  

// Push the result to the target sheet 
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("(sheet name)");
 var lastcolumn = output_trans[1].length;
 var lastrow = output_trans.length;
 sheet.getRange(sheet.getLastRow()+1,2,lastrow,lastcolumn).setValues(output_trans);
}

ちなみに2021/5/16現在、10.4以前のリリースノートが利用できないようです。

その期間のデータは過去に手動取得したものを使用していますが、問題が修正された後にデータを置き換えようと思います。


2021/7/25 追記

Tableauに問い合わせたところ、最終的に現在サポートしているバージョンのみ掲載する形に変わりました。

サポートされるバージョンは以下の「各バージョンのサポート」セクションで確認できます。

https://www.tableau.com/ja-jp/support/services


どのバージョンで何の機能が使えるかの確認にご利用ください。

また組織でお使いのTableauバージョンに関わらず、リリースノートは目を通しておくと良いと思います。

現在Tableauは何ができるのか、何の機能が注力されているのか、また将来のバージョンアップ戦略に役立つと思います。


質問などありましたらTwitterかLinkedinでお願いします。