RDL 根据条件合并/拆分行



我有一个像这样的数据集

Column1 Column2 Column3 Column4 Column5 Column6 Column7 Column8 Column9 Column10
1       a       d       1       1       0+1     2       1       2       1
1       b       e       1       1       1+3     8       4       2       1
1       b       e       2       1       1+3     8       4       2       1
1       b       e       3       1       1+3     8       4       2       1
1       b       e       5       1       1+3     8       4       2       1
1       c       f       1       1       0+1     2       1       2       1

我希望我的报告显示它像

Column1 Column2 Column3 Column4 Column5 Column6 Column7 Column8 Column9 Column10
1       a       d       1       1       0+1     2.00    1       2.00    1
1                       1                       2.00    
1       b       e       2       1       1+3     8.00    4       2.00    1
1                       3                       2.00    
1                       5                       2.00    
1       c       f       1       1       0+1     2.00    1       2.00    1

基本上我需要将具有相同数据的行合并在一起(仅某些列(。是否有可能在 rdl 中实现这一点?我遇到一个论坛,说这在rdl中是不可能的。我也尝试使用子报表,但无法实现我想要的布局。或者也许我需要以某种方式更改数据集?

这应该有效;

;with T as
(select ROW_NUMBER() OVER (PARTITION BY     Column1,column2,column3,column5,column6,column7,column8,column9,column10 ORDER BY Column4) rn
,Column1
,column2
,column3
,column4
,column5
,column6
,column7
,column8
,column9
,column10
from <your_table_name>
)
select 
Column1
,case rn     when 1 then column2      else '' end as column2
,case rn     when 1 then column3      else '' end as column3
,column4
,case rn     when 1 then column5      else '' end as column5
,case rn     when 1 then column6      else '' end as column6
,case rn     when 1 then column7      else '' end as column7
,case rn     when 1 then column8      else '' end as column8
,case rn     when 1 then column9      else '' end as column9
,case rn     when 1 then column10     else '' end as column10
from T

最新更新