我在asp.net中使用RDLC。
我的报告将从具有BankId, Amount和Trans-Type字段的表中获取数据。
报表只有BankId和Amount两列。
我按BankId列分组,但如果字段具有Trans-Type = Bill,则应从Amount组中豁免;如果它有Trans-Type = Payment应该包含在Amount
我用了这个…
=IIF(Fields!TransType.Value="Bill-PMT" , RunningValue(Fields!DrAmt.Value,sum,"Group1") , RunningValue(Fields!DrAmt.Value,sum,"Group1")-(Fields!DrAmt.Value) )
:
Bank1 25000
Bank2 15000
这听起来像是我要在数据源上解决的问题-即将查询更改为
select sum(NormalizedAmount) as Amount, BankID
from (
select
case when TransType = 'Payment' then DrAmt
when TransType = 'Bill' then -DrAmt else 0
end as NormalizedAmount,
BankID
from Amounts
) as subselect
group by subselect.BankID
对于组级别的Amount表达式,您可以使用如下命令:
=Sum(IIf(Fields!TransType.Value <> "Bill-PMT", Fields!DrAmt.Value, 0))
。Amount对于Bill类型始终为0。
除非你特别寻找一个总运行RunningValue不应该是必需的。