SSRS - 组内

时间:2015-06-01 22:37:09

标签: ssrs-2008

我尝试创建一个报告,该报告将从多个库存数据库中提取数据,并根据各种系统中的项目计数提供来自其他数据源的成本估算。该报告有两个级别的分组,我需要仅对每个组中的成本值求和(而不是所有组的总计)。

举个例子,我的结果集看起来像这样

MODEL  |COMPONENT   |Sys1   |Sys2   |Sys3   |Sys1ID |Match  |Cost
=====================================================================
Car    |            |       |       |       |       |       |620 <--- Sum of component costs
       |Wheel       |4      |8      |10     |       |Sys1   |40
                                            |wheel1
                                            |wheel2
                                            |wheel3
       |Brakes      |0      |9      |11     |       |Sys2   |80
       |Horn        |0  |0  |50 |   |Sys3   |500
---------------------------------------------------------------------
Truck  |            |       |       |       |       |       |980 <--- Sum of component costs
       |Wheel       |0      |0      |10     |       |Sys3   |400
       |Brakes      |0      |9      |11     |       |Sys2   |80
       |Horn        |0      |0      |50     |       |Sys3   |500

表显示Sys1中任何匹配项的唯一ID,Sys1列包含这些项的COUNT()聚合。 Sys2和Sys3返回材料基于在其他两个数据源中查找Model + Component计算。

“匹配”列,根据资产是否存在(Sys1,然后是Sys2,然后是Sys3),按优先级顺序指示要从哪个库存中进行服务。最后,基于对第四个数据集的查找来填充“成本”列,该数据集的格式为:

MODEL   |COMPONENT  |System |Cost
=====================================
Car |Wheel      |Sys1   |40
Car |Wheel      |Sys2   |50
Car |Wheel      |Sys3   |300
Car |Brakes     |Sys1   |60
Car |Brakes     |Sys2   |80
Car |Brakes     |Sys3   |900
...

除了小组内的费用总和之外,所有内容都已设置并正常运行。有谁知道如何解决这个问题?

作为参考,我最初的尝试总结这些使用了这个表达式:

= SUM(ReportItem!Estimate_Cost.Value)

产生以下错误消息:

The Value expression for the textrun 'Textbox39.Paragraphs[0].TextRuns[0]' 
uses an aggregate function on a report item.  Aggregate functions can be used 
only on report items contained in page headers and footers.

0 个答案:

没有答案