鉴于此数据:Complete Dataset
我只想得到那些TransactionYrMonth = ParameterPeriod的Total_AR,所以我用这段代码制作了它:
=IIF(
IsNothing(Sum(Fields!Total_AR.Value)),0,
Sum(IIF(Cdate(Fields!TransactionYrMnth.Value)=Cdate(Parameters!Period.Value),
Fields!Total_AR.Value,0)
)
)
从那里,我得到了这个数据集: Filtered Dataset
现在,我需要做的是获得从1月到3月开始的前3个服务月份的总和,它等于4月份的最新交易月份。
所以总和应该等于$ 204,329 + - $ 96,640 + - $ 259,008 = - $ 151,319
为了使它成为可能,我尝试使用这样的代码:
=Sum(IIF(
Cdate(Fields!TransactionYrMnth.Value)=Cdate(Parameters!Period.Value) And (
Cdate(Fields!ServiceYrMnth.Value)=DateAdd(DateInterval.Month, -3, CDate(Parameters!Period.Value)) Or
Cdate(Fields!ServiceYrMnth.Value)=DateAdd(DateInterval.Month, -2, CDate(Parameters!Period.Value)) Or
Cdate(Fields!ServiceYrMnth.Value)=DateAdd(DateInterval.Month, -1, CDate(Parameters!Period.Value))), Fields!Total_AR.Value,0
))
我没有运气生产它。我甚至有一个错误说
'Textbox11.Paragraphs [0] .TextRuns [0]'包含错误:[BC30516]过载分辨率失败,因为无法访问' IIf'接受这个数量的论点。
任何人,请帮忙吗?
答案 0 :(得分:0)
我已经使用此代码获得了解决方案:
=Sum(IIF(
Cdate(Fields!TransactionYrMnth.Value)=Cdate(Parameters!Period.Value) And
CDate(Fields!ServiceYrMnth.Value) >= DateAdd(DateInterval.Month, -3, CDate(Parameters!Period.Value)) And
CDate(Fields!ServiceYrMnth.Value) <= DateAdd(DateInterval.Month, -1, CDate(Parameters!Period.Value)), Fields!Total_AR.Value, 0
)
)