SQL server report builder 3.0动态分组和求和

时间:2017-07-31 13:49:37

标签: sql sql-server reporting-services

因此,我尝试撰写报告,并希望使用特定条件对我的行进行分组。 这就是我所拥有的

    Code    July,1    July,2  SC   BF
    20       5          2      1    6
    21       4          1      4    1
    31       4          7      9    2
    35       5          1      6    0

我想要做的是二十几岁,三十岁等的总和,如

    Code    July,1    July,2  SC   BF
    20       5          2      1    6
    21       4          1      4    1
    2*       9          3      5    7
    31       4          7      9    2
    35       5          1      6    0
    3*       9          8      15   2

或者可能

    Code    July,1    July,2  SC   BF
    20       5          2      1    6
    21       4          1      4    1
    2*                         5    7
    31       4          7      9    2
    35       5          1      6    0
    3*                         15   2

提前谢谢

3 个答案:

答案 0 :(得分:1)

在ssrs报告中您可以在数据集中添加计算字段,其中字段名称为“组”,表达式为=Floor(Fields!code.Value/10),然后在tablix中根据该分组进行总和。 Adding Expression

Creating Tablix

Results

答案 1 :(得分:0)

处理此问题的一种方法是在SQL设置中添加一个可以分组的列。在这种情况下,如果Code是一个整数,你可以除以10,它将所有二十多岁组合为2和30和3:

create table #test
(
    intValue int,
    sumValue int
)

insert into #test
select 20, 9
union all select 21, 10
union all select 30, 1
union all select 31, 2

select * , round(intValue/10,0) as GroupByThis
from #test

答案 2 :(得分:0)

select Code    July,1    July,2  SC   BF from tablename
union 



select DISTINCT Code/10 ,  (select SUM (July,1) over (Code/10) from tablename where code=t.code)July,1   ,    (select SUM (July,2) over (Code/10) from tablename where code=t.code) July,2 ,  (select SUM (SC) over (Code/10) from tablename where code=t.code) SC,  (select SUM (BF) over (Code/10) from tablename where code=t.code) BF from tablename t