如何为分组列创建总计行

时间:2012-04-19 08:43:57

标签: reporting-services ssrs-2008 rdlc rdl report-viewer2010

如果在tablix(表)中有一个带有分组列的rdlc报告。我想添加一个跨越所有动态创建的列的页脚行,并显示所有列的总计。 如何告诉单元格它应该跨越由该组创建的所有创建的列?

|-------|-------|-------|
| col 1 | col 2 | col 3 |
|-------|-------|-------|
|   Column-Group Total  |
|-----------------------|

请注意,计算总数不是我的问题。我只是在寻找一种方法来告诉报告查看器合并通过特定行的列组自动创建的单元格。

更新
可悲的是,到目前为止,我还没有找到解决方案。此外,我在报告中遇到了同样的问题,我必须在合并列中添加行组的总数。

|------|-------|
|row 1 |       |
|------| Row-  |
|row 2 | Group |
|------| Total |
|row 3 |       |
|------|-------|

我发现这是显示总数的一种非常常见的方式。 这是不可能的,或者我错过了一些明显的东西?

UPDATE2
这是我的意思截图:

Spanning Category Total

中间有一个小组。这会在运行时创建n列。我想要做的是"跨越类别总数"跨越所有动态创建的列。这意味着,单元格的圆柱是n。只有一个单元格,在这个单元格中,我将显示所有类别的总数。它与报告查看器在组顶部自动创建的一样准。

3 个答案:

答案 0 :(得分:1)

不知道你是否找到了答案,但如果不是......

通常,对于按行分组的数据,最后一列中的总数是预期的;对于按行分组的数据,最后一行是...

但是,根据范围和分组级别,您可以通过将Tablix嵌入到外部Tablix中,然后在外部Tablix中添加一行来对其中的数据进行求和,从而实现所需的效果。

我在矩形和列表中使用了多个数据区域来操作各种布局。您只需要使用范围,并可能调整输出数据(存储过程中的组的总和/平均值),如果这些范围不合作。如果它能解决您的问题,请告诉我。

答案 1 :(得分:0)

据我所知,rdlc是您在报表向导或Visual Studio上编辑的报表文件,而不是作为在BIDS上开发的报表文件的rdl。

我不知道这是否适用于rdlc文件,因为我只使用BIDS,但我认为值得尝试:

    在行组选项卡(左侧)上
  1. 右键单击您的组和 选择添加总计 - >之后,它会添加一行。
  2. 暂时将总和单元格(总数)复制到其他地方 报告(因为如果你不这样做,下一步将删除它)
  3. 使用SHIFT,在要合并的行上逐个单元格选择(不要 选择行本身)
  4. 右键单击它并选择合并单元格
  5. 粘贴您在第2步中复制的总和单元格
  6. 结果(我希望你能看到):

    enter image description here

    编辑:

    回答你的问题,是的我确信它可以完成,因为我做了几次,你也看到了打印屏幕。 我正在为我的行粘贴XML,我认为秘密在<ColSpan>8</ColSpan>标记上。我的报告中有8列。

    <TablixRow>
    <Height>0.25in</Height>
    <TablixCells>
      <TablixCell>
        <CellContents>
          <Textbox Name="textbox18">
            <CanGrow>true</CanGrow>
            <KeepTogether>true</KeepTogether>
            <Paragraphs>
              <Paragraph>
                <TextRuns>
                  <TextRun>
                    <Value>=Sum(Fields!myField.Value)</Value>
                    <Style>
                      <FontFamily>Tahoma</FontFamily>
                      <FontSize>9pt</FontSize>
                      <Format>'$'#,0.00;('$'#,0.00)</Format>
                    </Style>
                  </TextRun>
                </TextRuns>
                <Style>
                  <TextAlign>Right</TextAlign>
                </Style>
              </Paragraph>
            </Paragraphs>
            <rd:DefaultName>textbox16</rd:DefaultName>
            <Style>
              <Border>
                <Color>LightGrey</Color>
                <Style>Solid</Style>
              </Border>
              <BackgroundColor>White</BackgroundColor>
              <PaddingLeft>2pt</PaddingLeft>
              <PaddingRight>2pt</PaddingRight>
              <PaddingTop>2pt</PaddingTop>
              <PaddingBottom>2pt</PaddingBottom>
            </Style>
          </Textbox>
          <ColSpan>8</ColSpan>
          <rd:Selected>true</rd:Selected>
        </CellContents>
      </TablixCell>
      <TablixCell />
      <TablixCell />
      <TablixCell />
      <TablixCell />
      <TablixCell />
      <TablixCell />
      <TablixCell />
    </TablixCells>
    </TablixRow>
    

答案 2 :(得分:-1)

由于您看起来有一个动态列组,因此您可能会列入以下列:

字段!ColHeading.Value |总计
Fields!DataValue.Value | = SUM(字段!DataValue.Value)

如果您更喜欢图形界面,请右键单击总计的值字段,然后单击“表达式”。在弹出窗口中,展开Common Functions并单击Aggregate,然后在Item窗口中双击Sum。输入或单击数据字段,您将得到如下内容:Filled out Expression Window

点击确定,你很高兴!