8

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

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

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

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

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

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

Update2
这是我的意思的截图:

跨越类别总计

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

4

3 回答 3

1

不知道你是否已经找到了这个问题的答案,但如果没有......

通常,按列分组的数据的最后一列和按行分组的数据的最后一行预期总计...

但是,根据范围和您拥有的分组级别,您可以通过将 Tablix 嵌入到外部 Tablix 中,然后向外部 Tablix 添加一行来汇总那里的数据,从而实现您想要的效果。

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

于 2012-06-12T20:59:23.780 回答
0

据我所知,rdlc 是您在 Report Wizard 或 Visual Studio 上编辑的报告文件,而 rdl 是在 BIDS 上开发的报告文件。

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

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

结果(希望你能看到):

在此处输入图像描述

编辑:

回答您的问题,是的,我确信可以完成,因为我做了几次,而且您在打印屏幕上也看到了。我正在为我的行粘贴 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>
于 2012-04-26T13:28:38.303 回答
-1

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

字段!ColHeading.Value |总
字段!DataValue.Value | =SUM(字段!数据值。值)

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

点击确定,您就可以开始了!

于 2012-04-25T14:59:22.307 回答