我有一个看起来像这样的数据集
ID | PName | Node | Val |
1 | Tag | Name | XBA |
2 | Tag | Desc | Dec1 |
3 | Tag | unit | Int |
6 | Tag | tids | 100 |
7 | Tag | post | AAA |
1 | Tag | Name | XBB |
2 | Tag | Desc | Des9 |
3 | Tag | unit | Float |
7 | Tag | post | BBB |
6 | Tag | tids | 150 |
我希望我的报告中的结果是
Name | Desc | Unit | Tids | Post |
XBA | Dec1 | int | 100 | AAA |
XBB | Des9 | Float | 150 | BBB |
我尝试过使用SSRS矩阵
Row: PName
Data: Node
Value: Val
结果只是一行名称,下一行是desc,下一行是单位等。它不是全部在同一行,第二行也没有。这可能是因为数据集上没有分组。
实现预期结果的好方法是什么?
答案 0 :(得分:0)
我不建议将其用于生产场景,但如果您需要快速删除报告或者您可以尝试这样做。我不会觉得你得到的记录顺序总是如你所愿。
您可以尝试将SP的结果插入到表中(常规表,临时表,表变量......只要您可以添加标识列,就没关系)。假设行总是以正确的顺序出现(100%的时间可能不是有效的假设),那么在表上添加一个标识列以获得每行的唯一行号。从那里你应该能够将一些数学逻辑写入" group"你的价值观,然后转出你想要的。
create table #temp (ID int, PName varchar(100), Node varhar(100), Val varchar(100)) insert #temp exec (your stored proc) alter table #temp add UniqueID int identity then use UniqueID (modulo on 5 perhaps?) to group records together and then pivot