ssrs表达式sum并不是所有列的总和

时间:2015-12-30 07:55:59

标签: reporting-services sum ssrs-expression

我有一个列:

LEFT_PIN_HEIGHT_MIN

 0
 0
 0
 1
 1
 0

我将其写入Tablix,如下所示,

=Sum(Fields!LEFT_PIN_HEIGHT_MIN.Value)

我想对字段求和,结果必须为" 2" ,但它不会对列进行求和

并将所有行写入Tablix.

2 个答案:

答案 0 :(得分:1)

我同意之前的回答,你的第一个选择应该是在SQL中计算这个,但有时候这不太实际。

您是否尝试在每行中显示列的总和?如果是这样,请将数据集名称添加为sum函数中的第二个参数,如

=Sum(Fields!LEFT_PIN_HEIGHT_MIN.Value,"Dataset1")

"Dataset1"替换为数据集的名称。您当前使用的Sum函数是在Tablix中每行的上下文中定义总和。添加第二个参数会更改该上下文,以返回每行中整个数据集的总和。

如果您的Tablix很大,这可能会导致性能下降,因为表达式将在每次显示时进行评估,因此优先考虑在数据集查询中执行此操作。

答案 1 :(得分:0)

我建议用SQL做。使用查询到SELECT SUM(LEFT_PIN_HEIGHT_MIN) ...

如果你想通过SSRS表达式实现它,你可以在下面这样做:

Right Click上的

table1_Details_Group> Group Properties...

Group on:字段中提供LEFT_PIN_HEIGHT_MIN点击OK

隐藏0>值行左侧的Right Click> Row Visibility检查Show or hide based on an expression然后写下面的表达式:=IIF(Fields!LEFT_PIN_HEIGHT_MIN.Value = 0, true, false)点击OK

它应该有用。