我的目标是从 Visual Studio 2008 中的 SSRS 表达式在我的 *.rdl 报告中获得以下结果。DueDate 和 InvoiceAmt 是绑定字段(fields!duedate.Value 和 fields!valuehome_1)。“NotDueYet”和“0-30 Days”是引用绑定字段的表达式的别名。
ClientInvoice>>>DueDate>>>InvoiceAmt>>>>NotDueYet>>>>0-30 天
4502767-00>>>>4/8/2013>>>>$75.89>>>>>>>>>>> >>>>>>>>>75.89 美元
4505151-00>>>>2013 年 4 月 11 日>>>137.26 美元>>>>>>>137.26 美元
总计:>>>>>>>>>>>>>>>>>>> $213.15 >>>>>>> $ 137.26 >>>>>> $75.89
问题:在别名列“NotDueYet”和“0-30 天”中,根据我下面支持总计的 iif/sum/datediff 表达式,总计应该是仅出现在这些列中的详细金额(参见上面的示例) . 明细金额基于引用 Duedate 和 InvoiceAmt 绑定字段的表达式。相反,我得到以下结果;
ClientInvoice>>>DueDate>>>InvoiceAmt>>>>NotDueYet>>>>0-30 天
4502767-00>>>>4/8/2013>>>>$75.89>>>>>>>>>>> >>>>>>>>>75.89 美元
4505151-00>>>>2013 年 4 月 11 日>>>137.26 美元>>>>>>>137.26 美元
总计:>>>>>>>>>>>>>>>>>>> $213.15 >>>>> ?>> $0.00 >>>>>>>> $ 213.15
这是我对每个领域的表达;
发票金额(详细信息):
=(fields!valuehome_1.Value)
发票金额(总计):
=Sum(fields!valuehome_1.Value)
NotDueYet(详细信息):
= iif(datediff("d",fields!duedate.Value,now())<= 0
and (fields!valuehome_1.value>0),fields!valuehome_1.Value,"")
NotDueYet(总计):
= iif(datediff("d",fields!duedate.Value,now())<= 0
and (fields!valuehome_1.value>0),SUM(fields!valuehome_1.Value),0)
0-30 天(详情):
= iif(datediff("d",fields!duedate.Value,now())>0
and (datediff("d",fields!duedate.Value,now())<31
and (fields!valuehome_1.value>0),fields!valuehome_1.Value,"")
0-30 天(总计):
= iif(datediff("d",fields!duedate.Value,now())>0
and (datediff("d",fields!duedate.Value,now())<31
and (fields!valuehome_1.value>0),SUM(fields!valuehome_1.Value),0)
我感谢任何帮助解决这个谜团。谢谢你。