我的代码似乎没有在 Tableau Web 数据连接器模拟器中生成表。我已经按照说明进行操作并完成了他们展示的教程。
有关教程 -https://tableau.github.io/webdataconnector/docs/wdc_tutorial,请参阅此处。
这可能是 json 的格式化方式以及我尝试将其转到表上的方式。
有关文档 https://blockchain.info/api/charts_api,请参阅此处
请参阅此处了解 JSON https://api.blockchain.info/charts/total-bitcoins?timespan=all&format=json
我是javascript的新手,不知道为什么它不会运行......我可以让 HTML 页面在本地运行(按照说明(。
有没有人对我如何让这个(我的代码(工作有任何建议?我已经查看了其他WDC,但仍然没有任何运气。
(function () {
var myConnector = tableau.makeConnector();
myConnector.getSchema = function (schemaCallback) {
var cols = [{
id: "x",
alias: "date",
dataType: tableau.dataTypeEnum.float
}, {
id: "y",
alias: "values",
dataType: tableau.dataTypeEnum.float
}];
var tableSchema = {
id: "bitcoin"
alias: "total bitcoin"
columns: cols
};
schemaCallback([tableSchema]);
};
myConnector.getData = function(table, doneCallback) {
$.getJSON("https://api.blockchain.info/charts/total-bitcoins?timespan=all&format=json", function(resp) {
var feat = resp.features,
tableData = [];
// Iterate over the JSON object
for (var i = 0, len = feat.length; i < len; i++) {
tableData.push({
"x": feat[i].values.x,
"y": feat[i].values.y
});
}
table.appendRows(tableData);
doneCallback();
});
};
tableau.registerConnector(myConnector);
$(document).ready(function() {
$("#submitButton").click(function() {
tableau.connectionName = "Bitcoin";
tableau.submit();
});
});
})();
这有效
(function () {
var myConnector = tableau.makeConnector();
myConnector.getSchema = function (schemaCallback) {
var cols = [{
id: "x",
alias: "date",
dataType: tableau.dataTypeEnum.float
}, {
id: "y",
alias: "values",
dataType: tableau.dataTypeEnum.float
}];
var tableSchema = {
id: "bitcoin",
alias: "total bitcoin",
columns: cols
};
schemaCallback([tableSchema]);
};
myConnector.getData = function(table, doneCallback) {
$.getJSON("https://api.blockchain.info/charts/total-bitcoins?timespan=all&format=json", function(resp) {
var feat = resp.values,
tableData = [];
// Iterate over the JSON object
for (var i = 0, len = feat.length; i < len; i++) {
tableData.push({
"x": feat[i].x,
"y": feat[i].y
});
}
table.appendRows(tableData);
doneCallback();
});
};
tableau.registerConnector(myConnector);
$(document).ready(function() {
$("#submitButton").click(function() {
tableau.connectionName = "Bitcoin";
tableau.submit();
});
});
})();