Reporting services 如何为分组列创建总计行

Reporting services 如何为分组列创建总计行,reporting-services,ssrs-2008,rdlc,rdl,report-viewer2010,Reporting Services,Ssrs 2008,Rdlc,Rdl,Report Viewer2010,如果在tablix(表格)中有带分组列的rdlc报告。我想添加一个页脚行,该行跨越所有动态创建的列,并显示所有列的总计。 我如何告诉单元格它应该跨越组创建的所有列 |-------|-------|-------| | col 1 | col 2 | col 3 | |-------|-------|-------| | Column-Group Total | |-----------------------| 请注意,计算总数不是我的问题。我只是在寻找一种方法,告诉报表查看器合并通过

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

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

更新
遗憾的是,到目前为止,我还没有找到解决办法。此外,我在一份报告中也遇到了同样的问题,我必须在合并列中添加行组的总数

|------|-------|
|row 1 |       |
|------| Row-  |
|row 2 | Group |
|------| Total |
|row 3 |       |
|------|-------|
我发现这是显示总数的一种非常常见的方式这是不可能的,还是我遗漏了一些明显的东西?

更新2
下面是我的意思的截图:


中间有一个小组。这将在运行时创建n列。我想做的是“跨越类别总数”,跨越所有动态创建的列。这意味着单元格的列跨度为
n
。只有一个单元格,在此单元格中,我将显示所有类别的总数。它与report viewer在组顶部自动创建的几乎相同。

因为它看起来像是一个动态列组,所以您可能会将以下内容放入列中:

田野!ColHeading.Value|总计
领域!DataValue.Value |=总和(字段!DataValue.Value)

如果您喜欢图形界面,请右键单击total的value字段,然后单击Expression。在弹出窗口中,展开常用函数并单击聚合,在项目窗口中,双击总和。键入或单击数据字段,您将得到如下内容:


点击Ok,你就可以开始了

据我所知,rdlc是您在报表向导或visual studio上编辑的报表文件,而rdl是在BIDS上开发的报表文件

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

  • 在“行组”选项卡(底部左侧)上,右键单击您的组,然后单击 选择〖增加总计〗→〖之后〗按钮,系统将增加总计行
  • 将总和单元格(总和)临时复制到计算机上的其他位置 报告(因为如果不执行,下一步会将其删除)
  • 使用SHIFT键,在要合并的行上逐个选择单元格(不选择) 选择行本身)
  • 右键单击它并选择“合并单元格”
  • 粘贴在第2步复制的总和单元格
  • 结果(我希望你能看到):

    编辑:

    回答你的问题,是的,我相信这是可以做到的,因为我做了好几次,你也看到了在打印屏幕上。 我正在为我的行粘贴XML,我想秘密就在
    8
    标记上。我的报告中有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>
    
    
    0.25英寸
    真的
    真的
    =总和(字段!myField.Value)
    塔荷马
    9磅
    '$'#,0.00;('$'#,0.00)
    赖特
    文本框16
    浅灰色
    固体
    白色
    2吨
    2吨
    2吨
    2吨
    8.
    真的
    
    我不知道你是否找到了答案,但如果没有

    通常,对于按列分组的数据,合计应位于最后一列,对于按行分组的数据,合计应位于最后一行

    但是,根据范围和分组级别的不同,您可以通过将tablix嵌入到外部tablix中,然后在外部tablix中添加一行来汇总数据,从而实现所需的功能


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

    动态列,这是某种透视(例如,会计年度的列标题,以及该会计年度花费的美元的数据值)?@Pulsehead:对,正如您所提到的,有些报告具有透视年数。例如,col1=2005、col2=2006、col3=2007和列组合计应显示col1-col3的合计。在其他报告中,还有其他分组列,如办公室位置、月份名称等。列的数量不是固定的,这取决于要可视化的数据。感谢您的回答,但它没有回答我的问题-我必须知道,我如何告诉报告引擎合并动态创建的单元格以获得总行,这样,整个单元格将跨越所有自动创建的列。对于totals行,类似于HTML中的ColSpan。感谢您的回答。我已经尝试过了,但是VisualStudio不允许我合并单元格(步骤3+4)。只要我选择了一个属于组的单元格,编辑器的merge命令就会被禁用。您是否认为舒尔可以通过投标实现这一点?如果是,可能有机会在xml中定义合并,因为据我所知,渲染引擎是相同的。在这种情况下,这只是编辑器的一个限制。对于舒尔,您能说BIDS允许合并分组单元吗?这将是一个伟大的帮助进一步搜索…但你想要什么?所有行上的col1+col2+col3之和?这只是将表达式从=Sum(Fields!col1.Value)更改为=Sum(col1+col2+col3)的问题。迭戈:如果我正确理解你的解决方案,那就不是我想要的。您正在添加行,这意味着您正在尝试解决我绘制的第二个图形的问题。如您所见,有动态创建的行(通过组),然后在