2016-07-25 343 views
1

我正在使用Javascript API將Tableau報告嵌入到我的網站中。我希望它的默認Tableau行爲將一個儀表板的過濾器保存在工作簿中,同時移動到類似工作簿中的另一個儀表板。Tableau JS過濾器:使用JavaScript API,將過濾器從一個儀表板移動到另一個儀表板

例如:

如果在工作簿默認日期是一月1和I它在儀表板中的一個 改變揚-2,它應在其他儀表板反映在同一 工作簿。 (在我的嵌入式的Tableau工作簿!)

我的代碼:

function initializeViz(url){ 
    var placeholderDiv = document.getElementById("tableauViz"); 
    var options = { 
     width: placeholderDiv.offsetWidth, 
     height: placeholderDiv.offsetHeight, 
     hideTabs: true, 
     hideToolbar: true, 
     onFirstInteractive: function() { 
      workbook = viz.getWorkbook(); 
      activeSheet = workbook.getActiveSheet(); 
     } 
    }; 
    var x=url; 
    if(viz!=null){ 
    viz.dispose();} 
    viz = new tableauSoftware.Viz(placeholderDiv, url, options); 
} 

附:

這是最接近我能找到的:Saving and restoring current view state of a Tableau graph through javascript API

我試圖找到找到解決方案/文檔瀏覽:http://documents.tips/documents/javascript-api.html

回答

0

我想你這裏有兩種選擇:

  1. 如果用戶正在更改儀表板中的過濾器,您可以使用相同的數據源將過濾器應用於所有工作表(不需要JS API並且操作非常簡單)。 enter image description here

  2. 如果你想讀的視圖中的過濾器,然後再應用其他地方,你可以使用Worksheet.getFiltersAsync()returns a collection of Filter classes

+0

感謝您的回覆。選項1已經實施,但儀表板嵌入在畫面中時不起作用。關於選項2,它給了一個Javascript對象所有的過濾器值,並且我知道將它應用到另一個工作表的方法是解析對象並將過濾器一個一個地應用到另一個工作表,這是一個漫長的痛苦過程。所以,這對我沒有幫助。 –

相關問題