将来自 2 个数据集的数据绑定到 SSRS 中的一个 tablix

Bind data from 2 datasets into one tablix in SSRS

我必须将来自 2 个不同数据集的数据合并到一个 Tablix 中,它应该按日期时间排序。

例如:
数据集 1:

DateTime                      Product       Employee  
2020-08-13 18:10:53.263       ABC             A

数据集2:

DateTime                      Product       Employee  
2020-08-13 19:10:20.000       XYZ             A  

结果集:

DateTime                      Product       Employee  
2020-08-13 18:10:53.263       ABC             A  
2020-08-13 19:10:20.000       XYZ             A 

注意:我无法在数据库级别合并来自两个数据集的数据,因为这些数据集引用 2 个不同的数据源。

我对 LOOKUP 有一个想法,但我想它可以在列级别使用,但我的情况是我需要根据日期时间排序在行级别显示来自 2 个数据集的数据。

有人可以建议是否有实现此目的的方法。

提前致谢!!

如果数据库在同一台服务器上,那么您可以简单地将结果联合在一起,例如

SELECT [DateTime], [Product], [Employee]
    FROM [database_A].[mySchema].[myFirstTable]
UNION ALL
SELECT [DateTime], [Product], [Employee]
    FROM [database_B].[myotherSchema].[myOtherFirstTable]

如果它们在不同的服务器上,则创建一个 linked 服务器(有关如何执行此操作的详细信息 here

然后使用相同的查询,但在第二个引用之前加上服务器名称/link 服务器名称

SELECT [DateTime], [Product], [Employee]
    FROM [database_A].[mySchema].[myFirstTable]
UNION ALL
SELECT [DateTime], [Product], [Employee]
    FROM [myLinkedServerName].[database_B].[myotherSchema].[myOtherFirstTable]

现在,您将拥有一个包含所有数据的数据集,而不会头疼!


如果您有两个现有的存储过程


如果你有两个 SP,那么你仍然可以这样做,但方式略有不同。像

CREATE TABLE #t([DateTime] DateTime, Product varchar(50), Employee int)

INSERT INTO #t
    EXEC #myFirstProc

INSERT INTO #t
    EXEC #mySecondProc

SELECT * FROM #t