如何在 table header 的顶部而不是在 rdlc 的左侧按列显示分组

How to show group by columns on top of the table header instead of on the left in rdlc

我有一个包含 EmpType(完整 Time/Part 时间等)、EmpLocation(Redmond/Seatle/Washington 等)、EmpBand(S/T/E 等)、EmpId、EmpName、EmpFullAddress、EmpContactNo 列的报告,EmpSal,EmpGender,EmpDob.

我们需要按 EmpType、EmpLocation、EmpBand 列对数据进行分组,然后将其余列显示为数据。

我可以使用 rdlc 报告的按功能分组,首先按 EmpType 分组,然后按 EmpLocation 作为其 child 和 EmpBand 作为 EmpLocation 的 child 组,但这三个值出现在左侧作为一棵树。

但我想要的是将这三个字段显示在每个 table 之上作为 像 header 数据 header 顶部的东西 table 而不是左边的树。

是否可以像下面这样显示它们?


EmpType: Full Time EmpLocation: Seatle EmpBand: S

EmpId | Emp Name | EmpFullAddress  | EmpContactNo | EmpSal |EmpGender |EmpDob    
100     Kris       40 Drealand ave   7417894561    74000    M      15/4/1985

EmpType: Full Time EmpLocation: Seatle EmpBand: T

EmpId | Emp Name | EmpFullAddress  | EmpContactNo | EmpSal |EmpGender |EmpDob   
100     Kris       40 Drealand ave   7417894561    74000      M      15/4/1985 

EmpType:全职 EmpLocation:Redmond EmpBand:S

EmpId | Emp Name | EmpFullAddress  | EmpContactNo | EmpSal |EmpGender |EmpDob   
100     Kris       40 Drealand ave   7417894561    74000      M      15/4/1985 

EmpType:全职 EmpLocation:西雅图 EmpBand:S

EmpId | Emp Name | EmpFullAddress  | EmpContactNo | EmpSal |EmpGender |EmpDob   
100     Kris       40 Drealand ave   7417894561    74000      M      15/4/1985 

EmpType:兼职 EmpLocation:西雅图 EmpBand:S

EmpId | Emp Name | EmpFullAddress  | EmpContactNo | EmpSal |EmpGender |EmpDob   
100     Kris       40 Drealand ave   7417894561    74000      M      15/4/1985 

是的,这绝对有可能。但是,您不希望它在层次结构中对这三列进行分组(至少,正如我所设想的那样,这似乎不正确)。

你真正想要做的是对三个变量的组合进行分组(见下面的截图)。或者,您可以创建一个表达式,它创建一个字符串来分组:

=Fields!Field1.Value & "-" & Fields!Field2.Value & "-" & Fields!Field3.Value

无论采用哪种方式,您都需要设置排序以按所需顺序排列组。

还应注意,每当您 添加 一个 parent 行组时,都会添加一列。您可以删除已添加的列,并在出现提示时 select "Delete Columns Only"。这将使该组保留在层次结构中的位置,但会删除多余的列。

完成后,您可以执行以下操作以获得您想要的结果:

  1. Right-click 在您的详细信息行上,然后选择插入行 => 外部组 - 上方。将您的行 header 移至这个新创建的行。

  2. Right-click 在您刚刚创建的行上,然后选择插入行 => 内部组 - 上方。

  3. 合并第 2 步中创建的行中的所有单元格。

  4. 在步骤 2 中创建的行中的单个单元格中添加一个占位符。设置占位符的表达式以创建所需的组 header:

    ="EmpType: " & Fields!EmpType.Value & " EmpLocation: " & Fields!EmpLocation.Value & " EmpBand: " & Fields!EmpBand.Value

瞧!你应该有你想要的结果。如果您有任何疑问或问题,请发表评论,我会尽力提供帮助。

基于评论的其他详细信息

当 Tablix 跨页时,您能否在新页面上重复 header?明确地。为此,请访问高级模式以查看行详细信息。在高级模式中单击与 tablix 中包含 header.

的行相对应的行

在 tablix 属性下,在 header 的情况下,将“与组保持一致”更改为“"After"”,并将“在新页面上重复”更改为“真”。

你能显示整个组的工资总和吗?是的你可以。您想要在底部添加一个新行并对默认范围的所需字段求和。

  1. Right-click 在您的详细信息行上并选择插入行 => 外部组 - 下方.

  2. 使用以下表达式在此行中创建总计:

    =SUM(字段!Salary.Value)

请注意,我没有为聚合指定范围或数据集。只要表达式位于组内(无论是细节组还是其他组),如果未提供 scope/dataset,它将默认为当前范围。这应该会给你你想要的总数。

当你说"if I want only the table with its header to repeat under the same group header for different values of EmpBand S/T/E, can I do that ?"时,我不明白你的意思。

编码愉快!