【发布时间】:2019-11-27 17:00:17
【问题描述】:
我有一个主表(表 A)。它与另外两个表(表 B 和表 C)具有独立的多对多关系。
我想创建一个 SSRS 报告,在表 A 中每条记录一行,然后在其中一列中为每个表 B 和表 C 显示一个子表。
我相信我可以通过为表 B 和表 C 创建一个子报告,将表 A ID 传递给这两个子报告中的每一个来做到这一点。但是,我想知道是否可以在不创建子报告的情况下做到这一点。
以下是数据结构的示例以及我希望报告的外观。
【问题讨论】:
-
如果您能够将所有数据放入单个数据集中,您或许可以实现这一目标。将 tablix 嵌套在其他 tablix 中的主要问题是数据集通常不匹配。
-
所以,我可以在同一个数据集中得到这一切,但数据并不完全有意义。如果表 A 中的记录与表 B 中的 2 条记录和表 C 中的 3 条记录相关,那么我的完整数据集提供 6 条记录。如果我能弄清楚如何正确地对它们进行分组,我想这在技术上不会成为问题,但我做不到。如果我们省略了表 B 或表 C,那么这是可行的,但是对于两个单独的多对多,我无法获得分组权来显示数据。由于 2x3=6 问题,我尝试的任何内容都有额外的行...
-
因此,如果我正确地可视化您的数据,则有 6 行 - 有些应该有
NULL值,用于C ID和其他B ID... 可能可以过滤基于此进入子表。对于子表 B -IIF(IsNothing(Fields!C_ID.Value), Nothing, Fields!B_ID.Value)或类似的东西。或者只是隐藏C_ID为NULL的行。
标签: reporting-services ssrs-tablix ssrs-2014