如何将本地Tableau报表嵌入到HTML中

时间:2017-03-01 15:45:04

标签: javascript html tableau

我尝试使用javascript + html将一个Tableau报表嵌入到网页中,并创建一些按钮/栏来与其进行交互。

但是,我在第一步中停留:显示报告。

我在这里学到了第一个例子:http://onlinehelp.tableau.com/samples/en-us/js_api/tutorial.htm

这个例子效果很好。我可以看到网页中显示的Tableau报告,所有按钮/控件都可以正常工作。

所以我在javascript函数initializeViz()中进行了一些更改,以便以相同的方式显示我的报告,如下所示:

function initializeViz() {              
            var placeholderDiv = document.getElementById("tableauViz");
            var url = "file://localhost/C:/reports/Resilience.twb";
            var options = {
                width: placeholderDiv.offsetWidth,
                height: placeholderDiv.offsetHeight * 20,
                hideTabs: true,
                hideToolbar: true,
                onFirstInteractive: function () {
                    workbook = viz.getWorkbook();
                    activeSheet = workbook.getActiveSheet();
                }
            };

            viz = new tableau.Viz(placeholderDiv, url, options);
        }

上述功能停止显示任何内容。我已经在浏览器中检查了本地文件链接file://localhost/C:/reports/Resilience.twb,但它确实有效。

所以我真的很困惑,因为我只进行了最小的更改,并且本地文件的URL链接有效,那么可能导致问题的原因是什么?请帮助我,任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:2)

你确定你的路径表示是否正确?你说C:/reports/Resilience.twb存在,但localhost类型路径通常是file:/// localhost:port / path /的形式,C:对我来说似乎很奇怪。尝试使用“开始”菜单中的“运行”(在Windows上)并键入' \ localhost \'并从那里导航以找到完整的路径。

修改: 据我所知you cannot display a desktop dashboard file on a webpage。您必须将其发布到tableau服务器。因此,您的URL必须指向视图而不是文件。我制作了培训页面的本地副本并修改了var选项(高度),如上所述,并使用教程视图和我可以访问的另一个进行测试,并且在两种情况下都可以使用。

检查此文档: http://onlinehelp.tableau.com/current/online/en-us/embed.htm