我正在使用report builder 3.0(非常类似于SQL Server报告服务)来为使用SQL Server 2012数据库的应用程序上的用户创建报告。
要设置场景,我们有一个包含1200多个表的数据库。实际上,我们只需要其中的大约100个用于报告目的。但是,我们需要将来自多个表的字段组合在一起以获得我和我的同事所需的公共数据资源,这是非常常见的。
例如,如果我想要一个客户的视图,我想要从customer_table提供有关客户的信息,从电话表中提供有关他的电话详细信息的信息,从账户表中获取有关他的账户的信息等等。上。然后我可能需要另一个帐户视图 - 帐户类型,各种余额,开放日期,状态等。
我喜欢做的是创建一个"客户视图"我们将所有这些字段组合成一个组合的虚拟表。然后我们有一个" Accounts视图"。它会更容易使用,更易于管理等。然后我们将这个用于我们所有的报告。当我们需要时,我们可以将客户和帐户视图结合起来,将报表和实际表格一起用于一个组合数据集,以用于报表。
我不确定正确的方法。
我看到我可以创建数据源。这看起来并不正确,因为这似乎是在处理2个或更多数据库时可能会做的事情。我们只使用1个数据库。
然后是报告模型。似乎这些都被弃用并逐步淘汰,所以这似乎不是一个好的选择。
最后,我看到我们可以创建共享数据集。但是,这个选项(据我所知)不允许我将它与另一个数据集结合起来。因此,使用上面的示例,我无法将客户视图和帐户视图与此方法结合使用,以用于报告以显示有关客户及其帐户的详细信息。
希望获得有关实现我想要做的最佳方式的指导......
由于
答案 0 :(得分:0)
我只能根据个人经验说话,但使用数据源方法对我们的目的有好处。我们有一个包含50多个表的数据库。这与项目中的共享数据源相关联,因此可供所有50多个报告使用。
然后,我们使用存储过程使数据库中的信息可用于报告,每个报告都有自己的存储过程,该过程连接了为报告提供数据所需的多个表。使用存储过程的优点还允许您只返回您感兴趣的行,而不是整个表。
我不确定这是否是您所追求的那种答案,但描述了我们如何解决类似(较小)的问题。