[英]Javascript API for Tableau
我有一個畫面工作簿
現在我試圖將它們加載到帶有按鈕的 HTML 頁面中,以便在儀表板之間切換。 我遵循了教程,它可以很好地拉入初始儀表板(FULLBAR),但是儀表板的切換是我遇到問題的地方。
單擊鏈接切換時,我在控制台中收到此錯誤
Error: Sheet is not found in Workbook
這是我的代碼(服務器顯然是 XXXX 了)
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Proof of Concept</title>
<meta name="description" content="Proof of Concept">
<meta name="author" content="thisDude">
<script type="text/javascript" src="http://xxx.xxx.xxx.xxx:xxxx/javascripts/api/tableau-2.0.0.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class='container'>
<div class='row'>
<div class='span3 col-xs-6'><img style="height:39px; width:100px;" src="logo.jpg" ></div>
<h2 class='col-xs-6 span7 pagination-centered'>Proof of Concept</h2>
</div>
<div class='row'>
<h3 class='offset3 span7 pagination-centered' id='sheetName'></h3>
</div>
<div class='row'>
<!-- All of our work will happen here -->
<!-- Viz located at http://xxx.xxx.xxx.xxx:xxxx/views/TEST_VIS2/FULLBAR -->
<ul id = 'menu' class='nav nav-list offset1 span2'>
<!-- This is the menu where we will add all of our buttons. -->
<li class='nav-header'>Switching Views</li>
<li><a onClick="switchView('FULLBAR')">Bar Chart</a></li>
<li><a onClick="switchView('FULLPIE')">Pie Chart</a></li>
</ul>
<div id='tableauViz'></div>
<script>
</script>
<!-- This is the end of the section where we will do our work. -->
</div>
</div>
</body>
</html>
和我的 app.js 代碼:
window.onload=function() {
var vizDiv = document.getElementById('viz');
var vizURL = "http://xxx.xxx.xxx.xxx:xxxx/views/TEST_VIS2/FULLBAR_1";
var options = {
width: '100%',
height: '500px',
hideToolbar: true,
hideTabs: true
};
viz = new tableauSoftware.Viz (vizDiv, vizURL, options);
};
function switchView(sheetName) {
workbook = viz.getWorkbook();
workbook.activateSheetAsync(sheetName);
console.log(sheetName);
console.log(workbook + " workbook var");
console.log(viz.getWorkbook() + " viz.getWorkbook var");
}
找到答案了——
我最初發布到服務器的選項是“將工作表顯示為標簽”已取消選擇。 我的 javascript 也使用了 hideTabs: true。
這樣做會導致 JS api 不知道工作表的名稱。
通過在發布期間選擇“將工作表顯示為選項卡”選項,API 能夠正確切換可視化。 js 選項“hideTabs: true”仍然隱藏可視選項卡。
我的tableau公共賬戶里有三張紙。 我創建了兩個按鈕並描述為如下的 java 腳本文件。
function switchView(sheetName) { var workbook = viz.getWorkbook(); workbook.activateSheetAsync
function switchView(sheetName) { var workbook = viz.getWorkbook(); workbook.activateSheetAsync
(sheetName); } ` 點擊按鈕后不執行任何操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.