본문 바로가기
카테고리 없음

[Tableau Embedding api]how to change range filter value using input

by Mr.noobiest 2023. 8. 18.
반응형

 

태블로 대시보드의 필터값을 수정하는 코드가 있다, <script
      type="text/javascript"
      src="https://public.tableau.com/javascripts/api/tableau-2.min.js"
    ></script>

를  사용할 예정이다, tableau embedding api v3가 나오긴 했는데 서버의  버전이 최신버전이 아니라 3를 사용할 수 없다. ㅠㅠ

 

    <input type="date" id="minValue" placeholder="min value" />
    <input type="date" id="maxValue" placeholder="max value" />
    <button id="applyFilter">Apply Filter</button>

 

function getRangeValues() {
    var minValue = document.getElementById("minValue").value;
    var maxValue = document.getElementById("maxValue").value;
    var workbook = viz.getWorkbook();
    var activeSheet = workbook.getActiveSheet();
    var sheets = activeSheet.getWorksheets();
    var sheetToFilter = sheets[6]; //<==필터를 적용할  시트이다, 시트의 경우 .then을 찾는 방법도 있다.

  sheetToFilter.applyRangeFilterAsync("Date", {
      min: minValue,
      max: maxValue
    })
    .then(console.log("Filter applied!"));
}

 

///////////아래 코드를 사용하면 for문으로 적용할 시트들을 선택하여 필터를 적용할지 말지를 선택할 수 있다.

    for (var i = 0; i < sheets.length; i++) {
      var sheet = sheets[i];
      console.log(sheet.getName());
    }

 

 

728x90
반응형