2017-03-01 42 views
1

我試圖使用javascript + html將一個Tableau報表嵌入到網頁中,並創建一些按鈕/欄來與其交互。如何將本地Tableau報表嵌入到HTML

但是,我卡在第一步:顯示報告。

我在這裏學到了第一個例子:http://onlinehelp.tableau.com/samples/en-us/js_api/tutorial.htm

該示例運行良好。我可以看到網頁中顯示的Tableau報告,並且所有按鈕/控件均正常工作。

所以,我提出在javascript函數initializeViz()變化不大,爲了以同樣的方式來顯示我的報告,如下:

function initializeViz() {    
      var placeholderDiv = document.getElementById("tableauViz"); 
      var url = "file://localhost/C:/reports/Resilience.twb"; 
      var options = { 
       width: placeholderDiv.offsetWidth, 
       height: placeholderDiv.offsetHeight * 20, 
       hideTabs: true, 
       hideToolbar: true, 
       onFirstInteractive: function() { 
        workbook = viz.getWorkbook(); 
        activeSheet = workbook.getActiveSheet(); 
       } 
      }; 

      viz = new tableau.Viz(placeholderDiv, url, options); 
     } 

上述功能停止顯示任何東西。我在瀏覽器中檢查了本地文件鏈接file://localhost/C:/reports/Resilience.twb,它可以正常工作。

所以我真的很困惑,因爲我只做了最小的改變,並且URL鏈接到本地​​文件起作用,那麼會導致什麼問題呢?請幫助我,任何想法是讚賞。

回答

2

你確定你的路徑表示是正確的嗎?你確實說C:/reports/Resilience.twb存在,但是localhost類型的路徑通常是file:/// localhost:port/path /的形式,C:對我來說似乎很奇怪。嘗試使用從開始菜單運行(在Windows上)並輸入'\ localhost \'並從那裏導航以找到完整路徑。

編輯: 據我可以看到you cannot display a desktop dashboard file on a webpage。您必須將其發佈到一個tableau服務器。所以你的網址必須指向一個視圖而不是文件。我製作了本地的培訓頁面副本,並修改了var選項(高度),如上所述,並使用教程視圖和另一個我可以訪問的方法對其進行測試,並且在兩種情況下都可以使用。

檢查這個文檔: http://onlinehelp.tableau.com/current/online/en-us/embed.htm

+0

我複製的路徑粘貼到我的瀏覽器,而該報告可以通過鏈接下載。所以我確定它可以正常工作 – ChangeMyName

+1

BishS是正確的,使用JavaScript API,您無法訪問存儲在本地文件系統中的vizze。這些必須來自Tableau Server(可能是Tableau Public),因爲服務器在此方案中執行了大量工作。您可以做的是將工作簿發佈到Tableau Public(如果您沒有服務器或聯機)並使用該發佈的視圖URL。 – lbrendanl