2016-07-25 2 views
1

Я использую Javascript API для встраивания отчетов на мой сайт. Я хочу, чтобы поведение по умолчанию Tableau сохраняло фильтры одной приборной панели в рабочей книге, перемещаясь на другую панель в подобной книге.Tableau JS filter: использование javascript API, перемещение фильтров с одной приборной панели на другую

Например:

Если дата по умолчанию в книге является Ян-1 и изменить его в январе-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); 
} 

P.S.

Это ближе всего я мог бы найти: 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 со всеми значениями фильтра, и только способ, которым я знаю, применять его к другому листу, - это анализировать объект и применять фильтры один за другим к другим листам, это длительный болезненный процесс. Таким образом, это не помогает мне. –