태블로 대시보드의 필터값을 수정하는 코드가 있다, <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());
}