Microsoft Reporting Services对行进行分组

时间:2015-02-11 07:54:18

标签: sql-server reporting-services grouping

所以我有8列。其中5个(Company WorkShift Workshop Employee City)是关于公司,工作班,研讨会,员工和城市的信息,其他3个是2个测试的结果和进行这些测试的项目(命名为:Item Test2 Test3)。报告的结构现在是这样的:

Company | WorkShift | Workshop | Empolyee | City  |  Item  | Test1 | Test2 |
____________________________________________________________________________
Comp1   | Shift1    | wshop1   | John     | etc   |    1   |   0   |   1   |
----------------------------------------------------------------------------
Comp1   | Shift1    | wshop1   | John     | etc   |    2   |   1   |   1   |
----------------------------------------------------------------------------
Comp1   | Shift1    | wshop1   | John     | etc   |    3   |   0   |   0   |
----------------------------------------------------------------------------
Comp2   | Shift2    | wshop2   | Peter    | etc1  |    4   |   0   |   1   |
----------------------------------------------------------------------------
Comp2   | Shift2    | wshop2   | Peter    | etc1  |    5   |   1   |   0   |

正如您所看到的,前3行有关于公司,工作班次,工作坊,员工和项目的相同信息,所以我需要添加这样的分组:

Company | WorkShift | Workshop | Empolyee | Item  | -- Grouped column names
___________________________________________________
Comp1   | Shift1    | wshop1   | John     | etc   | -- Grouped equal values
---------------------------------------------------
Item        |      Test2      |       Test3       | -- Column names with tests
___________________________________________________
1           |        0        |         1         |
---------------------------------------------------
2           |        1        |         1         | -- Tests results for group1
---------------------------------------------------
3           |        0        |         0         |
--------------------------------------------------- 
                                                  |
                                                  |
Company | WorkShift | Workshop | Empolyee | city  | -- Grouped column names
___________________________________________________
Comp2   | Shift2    | wshop2   | Peter    | etc1  | -- Grouped other equal values
---------------------------------------------------
Item        |      Test2      |       Test3       | -- Column names with tests
___________________________________________________
4           |        0        |         1         | 
--------------------------------------------------- -- Test results for group2
5           |        1        |         0         | 
---------------------------------------------------

此报告的数据集是存储过程,它按照以下格式返回数据,如“报告结构”所示。

我尝试使用以下表达式创建新列:

=Fields!Company.Value & " " & Fields!WorkShift.Value & " " & Fields!Workshop.Value & " " & Fields!Employee.Value & " " & Fields!City.Value

并添加以下测试列。

但是在这种情况下,它会在一个字段中添加有关Company WorkShift Workshop Employee Item的所有信息,而不是通过测试进行分组。你有想法吗?

修改

以下是设计窗口的样子:

Company  | WorkShift  | Workshop | Empolyee | City  |  Item  | Test1 | Test2 | -- Column names 
____________________________________________________________________________
[Company]|[WorkShift] |[Workshop]|[Employee]|[City] | [Item] |[Test1]|[Test2]| -- Values 

1 个答案:

答案 0 :(得分:0)

好的,这有点棘手,但我们走了,

1)右键单击Company单元格 - >添加行组>家长组
2)然后选择公司作为父组
3)然后单击公司父母新添加的单元格并右键单击并在工作班次上添加子行组和行组 4)然后选择新创建的工作班次列,然后单击它,workshop的下一个子组为EmployeeCity执行此操作 5)现在确保右键单击CompanyGroup单元格,然后选择Insert Row - > Inside group above并添加2行
6)然后在新添加的第一行中,转到公司单元格旧的,而不是新创建的分组列,并在那里设置Company值,并在同一行和旧列中设置Workshift的值{ {1}},WorkshopEmployee
7)现在删除CityItemTest1列 8)然后在我们在步骤5中添加的第二行中将单元格标题设置为Test2,' Test1',' Test2'
9)现在默认存在的旧行包含Item和其他字段的值,将值更改为各个列CompanyItemTest1
10)现在删除我们添加的组列但确保在删除组列时只删除不是组的列,它会询问是否要删除关联的组,然后选择否。 (或者如果你愿意,你可以隐藏它们)
11)最后应该有5列(可见)和4行(带标题行)

这应该做你想要的。让我知道是否有任何问题。


<强>更新

第4步后,您的设计应该是

Test2

每次使用组添加前5列。

第8步后,设计看起来应该是

enter image description here