繁体   English   中英

具有多个组的 SSRS 矩阵

[英]SSRS Matrix with multiple groups

我有一个数据集,可以在此生成结果。

 Parent |   NodeName    |   Value   |   ID  |
---------------------------------------------
AAA     |   Name        |   blah1   |   1   |   
AAA     |   val         |   1       |   1   |
BBB     |   tag         |   tag2    |   2   |
BBB     |   Name        |   blah2   |   2   |
BBB     |   val         |   2       |   2   |
AAA     |   tag         |   tag1    |   1   |
CCC     |   Name        |   blah3   |   3   |
CCC     |   tag         |   tag3    |   3   |
CCC     |   val         |   3       |   3   |       
AAA     |   Name        |   blah4   |   4   |
AAA     |   tag         |   tag4    |   4   |   
AAA     |   val         |   4       |   4   |

我想把这个分组

AAA
-----------------------------------------
    |   Name    |   Val     |   Tag     |
-----------------------------------------
    |   blah1   |   1       |   tag1    |
    |   blah4   |   4       |   tag4    |

BBB
-----------------------------------------
    |   Name    |   Val     |   Tag     |
-----------------------------------------
    |   blah2   |   2       |   tag2    |


CCC
-----------------------------------------
    |   Name    |   Val     |   Tag     |
-----------------------------------------
    |   blah3   |   3       |   tag3    |

我从这个链接尝试了一些技巧,但仍然没有运气。 谢谢。 http://agilebi.com/jjames/2010/09/10/how-to-pivot-data-in-ssrs/

我尝试了@jimmy8ball 在评论中的建议。 设计表面看起来像设计面

最终结果看起来像最后结果。但有差距

因为我目前只有三个组AAA,BBB和CCC。 我使用过滤器创建了三个不同的数据集,只包含一组,例如 AAA。 结果看起来像这样。

每个父级的过滤数据

我不确定这是否是最好的做法。 欢迎任何建议。

另一个基于@Jimmy8ball 的更新。 根据@Jimmy8ball 的回复,我无法让它继续工作。

我的数据集结果如下所示在此处输入图片说明

我的设计表面看起来像这样。 在此处输入图片说明

根据@jimmy8ball 响应,我的结果如下所示,缺少 AAA 的第二组值。 有什么建议吗? 在此处输入图片说明

一种解决方案是按 Parent 分组,然后是 Maxtix Rows 的 ID 和列的 NodeName(以及值的 Value)。 它以您需要的方式对数据进行分组,但格式与您想要的并不完全相同。

在此处输入图片说明

如果您希望为每个父级重复列标题,一种方法是使用外部 List 或 Tablix 进行分组。

  • 在您的矩阵中,按行 ID 和列的 NodeName 分组
  • 还要创建一个 List,它的 Parent 作为它的行组。 (组的实例之间不要有分页符)
  • 将矩阵放入列表
  • 为列表中的 Parent 值添加一个 TextBox,位于 Matrix 上方。

在此处输入图片说明

要更新以前的答案,请按照以下设置,我已经调整了矩阵以将 NodeName 显示为每个父级的拆分,就像以前一样,删除任何自动计数或总和

在此处输入图片说明

在此处使用行号和分区有助于维护分组级别,这是我使用的 sql

select parent+'-'+convert(varchar,ROW_NUMBER() over(partition by parent,  nodename order by id)) as parent, nodename, value,  id
from dbo.test1 t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM