不久前,我的公司正在评估不同的报告解决方案。我们选择MS SSRS特别是因为它能够连接到各种类型的数据存储,包括MS SQL,Oracle和SAP Netweaver BI。它已经证明了时间的考验,但是,我们现在受到管理层的攻击,因为SSRS无法将数据源混合到同一数据集中。
所以,我仔细搜索了一个可以从单独的系统“内部加入”数据的报告解决方案,但我做得很短。我打算建议我们为这些跨系统报告请求自定义写入报告(ASP.NET),但我想首先ping互联网以获取任何建议。
为了报告目的,您如何在大型企业系统中“内部加入”?
答案 0 :(得分:2)
看看Actuate的BIRT。 BIRT采用开源和商业风格,我相信它允许跨数据源进行连接。
答案 1 :(得分:1)
在SQL Server中可能是linked server?注意性能问题,我不确定SSRS是否对它们有限制 - 我认为它没有。您可以引用这样的表 - MYSERVER01.DATABASE1.dbo.TABLE。更多信息from the source。
为了获得最佳性能,您可以将所有不同的数据存入数据仓库,但这是管理层可能不愿意为此提供资金的一项重大任务。
答案 2 :(得分:0)
在SSRS中跨数据源加入的一种方法是使用子报告 - 请参阅http://msdn.microsoft.com/en-us/library/ms159837.aspx。
使用这种方法表现不太好 - 但Sam对链接服务器的建议可能更实用。
(根据BIRT的文档,它确实启用了数据集之间的连接,正如DMKing建议的那样 - 我还没有尝试使用此功能。)
答案 3 :(得分:0)
在SQl Server 2008 R2中删除了此限制。在以前的版本中有一个解决方法
在此处查看我的完整回复:How can i add a field to dataset from another dataset in ssrs?
答案 4 :(得分:0)
在我读到这篇文章之前,我建议使用SSIS http://blogs.msdn.com/b/jenss/archive/2009/04/23/consuming-ssis-package-data-in-reporting-services-and-using-web-services-in-addition-part-1.aspx
我使用链接服务器来组合来自Oracle / SQL Server的数据,不是很好但是很有效。 如果不这样,我就会使用子报告。
如果做不到这一点,请向管理层指出SAP / Oracle等的成本是多少,他们很快就会停止呻吟。 :)