ssrs 表达式总和不对所有列求和
ssrs expression sum doesn't sum all column
我有一个专栏:
LEFT_PIN_HEIGHT_MIN
0
0
0
1
1
0
我写给Tablix
如下,
=Sum(Fields!LEFT_PIN_HEIGHT_MIN.Value)
我想对字段求和,结果必须是 "2" 但它不会对
列求和
并将所有行写入 Tablix.
我建议用 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
应该可以。
我同意前面的回答,你的首选应该是在SQL中计算这个,但有时这并不实用。
您是否尝试在每一行中显示该列的总和?如果是这样,将数据集名称添加为求和函数中的第二个参数,如
=Sum(Fields!LEFT_PIN_HEIGHT_MIN.Value,"Dataset1")
将 "Dataset1"
替换为您的数据集的名称。您当前使用的 Sum
函数在 Tablix 中的每一行的上下文中定义总和。添加第二个参数会将上下文更改为 return 每行中整个数据集的总和。
如果您的 Tablix 很大,这可能会影响性能,因为表达式会在每次显示时进行计算,因此在您的数据集查询中更倾向于这样做。
我有一个专栏:
LEFT_PIN_HEIGHT_MIN
0
0
0
1
1
0
我写给Tablix
如下,
=Sum(Fields!LEFT_PIN_HEIGHT_MIN.Value)
我想对字段求和,结果必须是 "2" 但它不会对
列求和并将所有行写入 Tablix.
我建议用 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
应该可以。
我同意前面的回答,你的首选应该是在SQL中计算这个,但有时这并不实用。
您是否尝试在每一行中显示该列的总和?如果是这样,将数据集名称添加为求和函数中的第二个参数,如
=Sum(Fields!LEFT_PIN_HEIGHT_MIN.Value,"Dataset1")
将 "Dataset1"
替换为您的数据集的名称。您当前使用的 Sum
函数在 Tablix 中的每一行的上下文中定义总和。添加第二个参数会将上下文更改为 return 每行中整个数据集的总和。
如果您的 Tablix 很大,这可能会影响性能,因为表达式会在每次显示时进行计算,因此在您的数据集查询中更倾向于这样做。