将来自 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
我必须将来自 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