gpt4 book ai didi

javascript - Tableau JavaScript API - 获取选定值

转载 作者:行者123 更新时间:2023-11-30 17:13:17 26 4
gpt4 key购买 nike

我目前正在研究通过 JavaScript API 从 Tableau 报告中获取数据的可能性,但在过滤后我可以从图表中获取值的最接近方法是通过 selectSingleValue() 方法选择值。

例如:JavaScript API Tutorial

在名为“选择”的 API 教程选项卡中。其中一个示例选择了行“Marcao Sao, China”。是否可以提取 52.0k 美元的数值?

我已经尝试查看返回的对象(通过 FireBug),但我似乎无法找到正确的对象。我最近的位置在 getActiveSheets() 中。

如有任何帮助,我们将不胜感激。

最佳答案

在 JavaScript API 教程选项卡“事件”中,它向您展示了如何添加事件监听器以返回所选标记。然后,您可以遍历标记以获取所需的值。

将下面的代码块复制到一个文件中,另存为 html 并在您喜欢的网络浏览器中打开(在 ie11 上测试过)。

<html>
<head>
<meta charset="utf-8">
<title>Tableau 8 Javascrip API</title>
<script type="text/javascript" src="http://public.tableausoftware.com/javascripts/api/tableau_v8.js"></script>
<script type="text/javascript">
/////////////////////
// Global variables
var viz, workbook, activeSheet

// function called by viz on marks being selected in the workbook
function onMarksSelection(marksEvent) {
return marksEvent.getMarksAsync().then(reportSelectedMarks);
}

function reportSelectedMarks(marks) {
for (var markIndex = 0; markIndex < marks.length; markIndex++) {
var pairs = marks[markIndex].getPairs();
for (var pairIndex = 0; pairIndex < pairs.length; pairIndex++) {
var pair = pairs[pairIndex];
if (pair.fieldName == "AVG(F: GDP per capita (curr $))") {
alert("You selected a country with an avg GPD per capita of " + pair.formattedValue);
}
}
}
}


// Initialise the viz to hold the workbook
function initializeViz(){
var placeholderDiv = document.getElementById("tableauViz");
var url = "http://public.tableausoftware.com/views/WorldIndicators/GDPpercapita?Region=";
var options = {
width: "800px", //width: placeholderDiv.offsetWidth,
height: "400px", //height: placeholderDiv.offsetHeight,
hideTabs: true,
hideToolbar: true,
onFirstInteractive: function () {
workbook = viz.getWorkbook();
activeSheet = workbook.getActiveSheet();
}
};
viz = new tableauSoftware.Viz(placeholderDiv, url, options);
// Add event listener
viz.addEventListener(tableauSoftware.TableauEventName.MARKS_SELECTION, onMarksSelection);
}
</script>
</head>
<body>
<!-- Tableau view goes here -->
<div id="tableauViz" style="height:1200px; width:1200px"\></div>
<script type='text/javascript'>
//Initialize the viz after the div is created
initializeViz();
</script>
</body>
</html>

关于javascript - Tableau JavaScript API - 获取选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26578731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com