SSRS:仅显示与矩阵行组关联的列

时间:2012-06-14 14:46:48

标签: reporting-services ssrs-tablix

我正在尝试使用矩阵创建报告,该矩阵仅显示关联行组的列。

例如,我有一个软件允许系统用户定期“采样”存储在数据库中。此数据的存储方式使其按人名分组。

报告的格式是这样的。

Person  Item    TimeStamp1 TimeStamp2 
John    Item1   Value1-1   Value1-2   
John    Item1   Value2-1   Value2-2   
John    Item1   Value3-1   Value3-2   
--PageBreak--
Person  Item    TimeStamp1 TimeStamp2 
Steve   Item1   Value1-1   Value1-2   
Steve   Item1   Value2-1   Value2-2   
Steve   Item1   Value3-1   Value3-2   

我得到了换行符,但Steve的专栏出现在史蒂夫的约翰和约翰身上,就像这样。

Person  Item    TimeStamp1 TimeStamp2 SteveTime1 SteveTime2
John    Item1   Value1-1   Value1-2   
John    Item1   Value2-1   Value2-2   
John    Item1   Value3-1   Value3-2   
--PageBreak--
Person  Item    JohnTime1  JohnTime1 TimeStamp1 TimeStamp2 
Steve   Item1                        Value1-1   Value1-2   
Steve   Item1                        Value2-1   Value2-2   
Steve   Item1                        Value3-1   Value3-2   

我认为根据用户组添加分页符可能会有用,但会留下额外的列。

是否只有列只能显示页面上关联组的列?

2 个答案:

答案 0 :(得分:1)

我假设你的问题意味着第一个“TimeStamp1”实际上与“JohnTime1”相同,对吗?

如果有的话,不要认为你可以在矩阵中轻松完成。它可能涉及对时间戳排名进行分组,并在行组中显示该排名的时间戳。

但是有一个更简单的解决方案。我的建议是做以下事情:

  • 将矩阵嵌套在列表中
  • 该列表将迭代不同的人/项组合(或仅仅是人,具体取决于您的需要)
  • 将矩阵的PageBreak属性设置为Start
  • 矩阵在人/项
  • 上有行组
  • 矩阵在时间戳上有列组
  • 值(Value1-1等)作为数据

答案 1 :(得分:-1)

有很多方法可以做到这一点 - 我个人会在查询中引入一个联合,所以JohnTime和SteveTime都映射到TimeStamp。

有时候这是不可能的,或证明是困难的(名称数量的增加使得这很不实际),在这种情况下,您可以在列可见性上放置一个公式,如果它们具有正确的名称,则只显示列,即TimeStamp1和TimeStamp2。如果在关闭可见性之前计算内容,我不确定这是否会降低报告速度。

无论如何,希望这有帮助!