我的数据集中有以下格式(请参阅数据集布局屏幕截图)。
我需要此报告显示如下(请参阅报告布局屏幕截图),但有点不同,但首先让我解释一下。
此报告是每月一次"报告显示给定月份每天的数据。我在报告布局屏幕截图中显示的是,如果用户仅为列#34; Level!2!Sample"选择一个可用值,报告将如何显示。换句话说,不是在屏幕打印中显示该列中的多个值,而是只包含一个不同的值。只有一个项目可用时,此报告才有效,但我需要允许多个选项。
我需要做的是能够为" Level!2!Sample"的多个值显示这样的数据,并且每次新的" Level!2!Sample"遇到它,它会创建一个新的矩阵,如屏幕打印所示。因此,如果此列有四个不同的项目,我将在报告中显示四个不同的表格,每个表格显示" Level!2!Sample"的给定不同值的数据。柱。
我认为我需要使用" Order By"使数据正确显示的子句: 订购 等级!2!样品, 名字!3!标题, 一个月!4!ReportMonth
但我不确定如何在遇到新级别!2!样本记录时让SSRS创建新矩阵。
我希望我的解释对我要做的事情有意义。任何帮助是极大的赞赏。
答案 0 :(得分:1)
您无法创建类似的新矩阵,但还有其他选项。
简单选项:创建一个按Level!2分组的大矩阵!样本并在组之间分页。这显然意味着您最终会在示例场景中找到4页,这可能并不理想。
稍微不那么简单的选择:
dsLoop
),该数据集返回单个列,每个选定参数条目返回1个记录。这可能类似于SELECT DISTINCT Level!2!Sample FROM myTable WHERE Level!2!Sample IN(@myParameter)
。dsLoop
注意:
一个。您可以删除原始报告中的可用值和相关数据集,因为不再需要这些值(可选)
湾如果要在每个Tablix之间添加间隙,可以使用子报表在单元格之前或之后添加行。
基本上,您的新报表充当循环,并在参数列表中为每个选定项创建一行,每行包含一个整个子报表,其中包含传递给它的当前行的参数。
最终结果是,您将为每个选定的条目获得一个“新”表。
希望这是有道理的。