我在Server数据库中的三个临时表中批量保存了三个SQL查询结果,但在从tableau连接到数据库时,这些临时表似乎在tableau中不可用。
例如:
创建临时表#p
CREATE TABLE #p
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);从主表将值插入到#p中
insert into #p
select *
from Persons
where PersonID in (1, 2, 3);连接到表格中的Server数据源后,表列表中没有显示#p临时表。有没有可能使用tableau中的temp表作为仪表板?如果不是,请建议一些替代方案,如何使这些临时表可用在仪表板上。
在过去的几天里,我一直在努力解决这个问题,所以希望听到你们soon..thank你们的一些建议!
发布于 2017-08-03 12:34:43
临时表(包括全局临时表)将在没有更多连接访问它们时自动删除。尽管如此,在Tableau,有几种方法可以实现你想要做的事情。
1.使用临时表的初始SQL
Tableau有一个“Intial”选项,您可以在定义连接时进行选择。每次Tableau连接到服务器时,都会执行这些语句。请注意,临时表是在tempdb中创建的;因此必须将数据库更改为tempdb。您还必须在SQL中使用完全限定的表名。请特别注意突出显示的领域。

2.存储过程
如果您有足够的访问权限,可以将查询创建为存储过程并从Tableau调用它。存储过程将显示为表下的单独部分。

https://stackoverflow.com/questions/45474392
复制相似问题