<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://public.tableau.com/javascripts/api/tableau-2.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<h1>Tableau JavaScript API improvements Sample</h1>
<table>
<tbody data-js="data-table"></tbody>
</table>
<hr width="100%" />
<div data-js="tableau-root" style="display: block;"></div>
</body>
</html>
(function(){
/**
* Viz オブジェクト
* @property viz
* @type {Object}
*/
var viz;
/**
* WorkBook オブジェクト
* @property workbook
* @type {Object}
*/
var workbook;
/**
* アクティブな Sheet オブジェクト
* @property activeSheet
* @type {Object}
*/
var activeSheet;
/**
* Viz クラスの初期化処理
* @method initializeViz
*/
var initializeViz = function () {
var $body = $('body');
var placeholderDiv = $body.find('[data-js=tableau-root]')[0];
var $tbody = $body.find('[data-js=data-table]');
var url = 'https://public.tableau.com/views/cm-awsmembers-blogposts/sheet0';
var options = {
'hideTabs' : true,
'hideToolbar' : true,
'onFirstInteractive' : function () {
var options = {
'maxRows' : 10, // 表示行数 ( 0 === ALL )
'ignoreAliases' : false, // 「別名を表示」 無視する / 無視しない
'ignoreSelection' : true, // ビュー内グラフの選択状態を 無視する / 無視しない
'includeAllColumns' : false // 「すべてのフィールドを表示」 ON/OFF
};
workbook = viz.getWorkbook();
activeSheet = workbook.getActiveSheet();
var onSuccess = function(dataTable) {
$tbody.append('<tr><td>getName() : </td><td>'+ dataTable.getName() + '</td></tr>');
$tbody.append('<tr><td>getTotalRowCount() : </td><td>'+ dataTable.getTotalRowCount() + '</td></tr>');
$.each(dataTable.getColumns(), function(i, colmn) {
$tbody.append('<tr><td>getColumns()[' + i +'] : </td><td>'+ colmn.$0.$1 + '</td></tr>');
});
$.each(dataTable.getData(), function(i, data) {
$tbody.append('<tr><td>getData()[' + i +'] : </td><td>'+ JSON.stringify(data) + '</td></tr>');
});
console.debug('dataTable.getData() : ', dataTable.getData() );
console.debug('dataTable.getData() : ', dataTable.getData() );
};
var onFault = function() {
//TODO:
};
activeSheet
.getUnderlyingDataAsync(options)
// .getSummaryDataAsync()
.then(onSuccess, onFault);
}
};
viz = new tableau.Viz(placeholderDiv, url, options);
};
$(initializeViz);
}());