2015-09-05 47 views
1

我正在使用报表生成器3.0(非常类似于SQL Server报表服务)为使用SQL Server 2012数据库的应用程序上的用户创建报表。使用报表生成器创建共享数据源的最佳方法

要设置场景,我们有一个超过1200个表的数据库。我们实际上只需要其中约100个用于报告目的。但是,我们需要将来自多个表格的字段组合在一起以获取我的同事和我需要的用于报告的数据的共同资源是非常常见的。

例如,如果我想要一个客户的视图,我想从customer_table中获取有关该客户的信息,从Phone表中获取有关其电话详细信息的信息,以及从该帐户表中获取有关其帐户的信息以及等等。然后,我可能需要另一个帐户的视图 - 帐户类型,各种余额数量,开放日期,状态等

我想做的是创建一个“客户视图”,我们将所有这些领域合并成一个单一的组合虚拟表。然后我们有一个“帐户视图”。它会更容易使用,更易于管理等。然后我们将这个用于我们所有的报告。而且,当我们需要时,我们可以将客户和帐户视图组合在一起,以便将报表和实际表格合并到一个组合数据集中以用于报表。

我不确定正确的做法。

我看到我可以创建一个数据源。这看起来不正确,因为这似乎是在处理2个或更多数据库时可能做的事情。我们只使用1个数据库。

然后有报告模型。看起来这些正在被淘汰和淘汰,所以这似乎不是一个好的选择。

最后我看到我们可以创建共享数据集。然而,这个选项(据我所知)不允许我将它与另一个数据集结合起来。因此,使用上面的示例,我将无法将客户视图和帐户视图与此方法结合使用,以用于报告显示有关客户及其帐户的详细信息。

希望了解的最佳方式的指导,实现什么,我试图做...

感谢

回答

0

我只能从个人的经验说,但使用的数据源的做法一直很好我们的目的。我们有一个包含50多个表的单个数据库。这是作为项目中的共享数据源链接的,因此可供所有50多份报告使用。

然后,我们使用存储过程使数据库中的信息可用于报告,每个报告都有自己的存储过程,它根据需要连接尽可能多的表以提供报告数据。使用Stored Procedures的优点还允许您仅返回感兴趣的行,而不是整个表。

我不确定这是否是您之后的答案,但描述了我们如何解决类似(较小)的问题。

相关问题