Reporting services 如何为分组列创建总计行
如果在tablix(表格)中有带分组列的rdlc报告。我想添加一个页脚行,该行跨越所有动态创建的列,并显示所有列的总计。 我如何告诉单元格它应该跨越组创建的所有列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 | |-----------------------| 请注意,计算总数不是我的问题。我只是在寻找一种方法,告诉报表查看器合并通过
|-------|-------|-------|
| 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,但我认为值得一试:
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)的问题。迭戈:如果我正确理解你的解决方案,那就不是我想要的。您正在添加行,这意味着您正在尝试解决我绘制的第二个图形的问题。如您所见,有动态创建的行(通过组),然后在