如何跨大型企业系统进行报告
不久前,我的公司正在评估不同的报告解决方案。我们选择了 MS SSRS,特别是因为它能够连接到各种类型的数据存储,包括 MS SQL、Oracle 和 SAP Netweaver BI。它已经很好地证明了时间的考验,但是,我们现在受到了管理层的批评,因为 SSRS 无法将数据源混合到同一数据集中。
因此,我花了很长时间努力寻找一种可以“内部连接”来自不同系统的数据的报告解决方案,但我没有找到。我打算建议我们为这些跨系统报告请求自定义编写报告(ASP.NET),但我想先上网寻求任何建议。
您如何在大型企业系统中“内部联接”以进行报告?
Some time ago my company was evaluating different reporting solutions. We settled on MS SSRS particularly because it's capable of connecting to various types of data stores, including MS SQL, Oracle and SAP Netweaver BI. It has proven the test of time pretty well, however, we're now under fire from management because SSRS is not capable of mixing data sources into the same data set.
So, I searched long and hard for a reporting solution that can "inner join" data from separate systems, but I came up short. I am about to propose that we custom write reports (ASP.NET) for these cross-system report requests, but I wanted to ping the internet first for any advice.
How do you "inner join" across your massive enterprise systems for reporting purposes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
查看 Actuate 的 BIRT。 BIRT 有开源和商业版本,我相信它允许跨数据源连接。
Take a look at BIRT from Actuate. BIRT comes in open-source and commercial flavors and I believe it allows joins across data sources.
也许是 SQL Server 中的链接服务器?注意性能问题,我不确定 SSRS 是否对它们有限制 - 我认为没有。您可以引用这样的表 - MYSERVER01.DATABASE1.dbo.TABLE。更多信息来自来源。
为了获得最佳性能,您可以将所有不同的数据提取到数据仓库中,但这是管理层可能不愿意资助的一项重大任务。
Perhaps a linked server in SQL Server? Watch out for performance issues and I'm not sure if SSRS has limitations against them - I don't think that it does. You can reference a table like this - MYSERVER01.DATABASE1.dbo.TABLE. More info from the source.
For best performance you would be pulling all your disparate data in to a data warehouse, but that is a major undertaking that management may not be willing to fund.
在 SSRS 中连接跨数据源的一种方法是使用子报表 - 请参阅 http://msdn.microsoft.com/en-us/library/ms159837.aspx" rel="nofollow noreferrer">http:// /msdn.microsoft.com/en-us/library/ms159837.aspx。
然而,使用这种方法的性能不太可能很好 - Sam 关于链接服务器的建议可能更实用。
(根据 BIRT 的文档,它确实支持数据集之间的连接,正如 DMKing 所建议的 - 我还没有尝试使用此功能。)
One way to join across data sources in SSRS is to use subreports - see http://msdn.microsoft.com/en-us/library/ms159837.aspx .
Peformance is unlikely to be good using this method, however - Sam's suggestion of a linked server is likely to be more practical.
(According to BIRT's documentation it does enable joins between datasets, as DMKing suggested - I haven't tried using this feature yet.)
此限制在 SQl Server 2008 R2 中已被删除。以前的版本中有一个解决方法,
请参阅我的完整回复:如何从 ssrs 中的另一个数据集向数据集添加字段?
this limitation was removed in SQl Server 2008 R2. there is a work around in previous versions
see my full response here: How can i add a field to dataset from another dataset in ssrs?
在我读到这篇文章之前,我本来打算建议使用 SSIS 作为一种可能性
链接
我使用链接服务器来合并来自 Oracle/SQL Server 的数据,虽然不太好,但它有效。
如果失败的话,我会使用子报告。
如果做不到这一点,向管理层指出 SAP/Oracle 等产品有多昂贵,他们很快就会停止抱怨。
:)
I was going to suggest using SSIS as a possibility until I read this
Link
I have used linked servers to combine data from Oracle/SQL Server, not nice but it worked.
Failing that I'd go with subreports.
Failing that, point out to management how expensive SAP/Oracle etc are and they'll soon stop moaning.
:)