私の目標は、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 Days" では、合計をサポートする以下の 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)
この謎を解決するための支援に感謝します。ありがとうございました。