Tableau JS过滤器:使用javascript API,将过滤器从一个仪表板移动到另一个仪表板

时间:2016-07-25 21:30:46

标签: javascript filter tableau embedding

我正在使用Javascript API在我的网站中嵌入画面报告。我希望它的默认Tableau行为在工作簿中保存一个仪表板的过滤器,同时移动到类似工作簿中的另一个仪表板。

例如:

  

如果工作簿中的默认日期是1月1日,我将其更改为1月1日   仪表板,它应该反映在其他仪表板中   工作簿。 (在我的嵌入式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);
}

P.S。

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

我试图在这里找到解决方案/文档:http://documents.tips/documents/javascript-api.html

1 个答案:

答案 0 :(得分:0)

我认为你有两种选择:

  1. 如果用户正在更改仪表板中的过滤器,您可以使用相同的数据源将过滤器应用于所有工作表(不需要JS API,并且非常简单)。 enter image description here

  2. 如果您想从视图中阅读过滤器,然后将其应用到其他地方,您可以使用Worksheet.getFiltersAsync() returns a collection of Filter classes