RDLC #ข้อผิดพลาดทำให้ฉันแทบบ้า (ผลรวมย่อยต่อหน้า)

ฉันได้รับรายงานพร้อมตารางที่มีลักษณะดังนี้:

UserCode|RecordID|OriginatingBranch|OriginatingAccount|HomingBranch|HomingAccount|Amount|ActionDate|SeqNo|Onus|Homedback

สองคอลัมน์สุดท้ายเป็นบูลีน ซึ่งมีทั้ง Y หรือ N อันที่จริงแล้ว คอลัมน์ Onus จะมีเพียง Y เท่านั้น ฉันต้องมีผลรวมย่อยที่ส่วนท้ายของแต่ละหน้าเพื่อแสดงจำนวนธุรกรรม Onus และมูลค่าของธุรกรรมดังกล่าว และเช่นเดียวกันสำหรับธุรกรรม Onus

ฉันได้ลองหลายอย่างรวมถึงทุกสิ่งที่อธิบายไว้ ที่นี่ แต่เมื่อฉันพยายามให้เหลือเพียง #Error ที่ไม่ชัดเจนในรายงานของฉัน ฉันไม่มีข้อผิดพลาดหรือบันทึกหรืออะไรเลย มีเพียง #Error ที่ฉันควรมีตัวเลข

ตอนนี้ฉันกำลังลองคำตอบจาก ที่นี่ ซึ่งระบุว่า:

  1. เพิ่มคอลัมน์เพิ่มเติมและป้อนนิพจน์นี้: =Runningvalue(Fields!YourValue.Value,Sum,"yourtable1") และตั้งค่าคุณสมบัติที่ซ่อนไว้เป็นจริง

  2. ในส่วนหัวหรือส่วนท้ายของหน้า ให้ใช้นิพจน์: =Last(ReportItems!textbox12.Value) เพื่อรับผลรวมย่อยของหน้าก่อนหน้าทั้งหมด (สมมติว่าแถวรายละเอียดของคอลัมน์ด้านบนคือ textbox12)

ฉันใส่สิ่งนี้ลงในตาราง นี่คือสำนวนของฉัน:

=RunningValue(IIF(Fields!HomedBack.Value="Y", Fields!Amount2.Value, 0),Sum,"Items")
//my tablix is called "Items" and my "Amount" field is a formatted string, 
//the actual value is kept in "Amount2"

และดูเถิด ฉันกำลังมีชื่อเสียง #Error อีกครั้ง แถวแรกของฉันมี 0 และทุกแถวหลังจากนั้นมี #Error

ฉันควรทราบว่าฉันไม่ได้ดูรายงานในเบราว์เซอร์หรือแบบโต้ตอบหรืออะไรทำนองนั้น ฉันกำลังใช้ไลบรารีการรายงานเก่าของบริษัทซึ่งแย่มากและจำเป็นต้องเขียนใหม่ (ฉันหวังว่า) และแทบจะต้องใช้ชุดข้อมูล และ RDLC และแยกออกเป็น PDF

มีอะไรที่ชัดเจนอย่างเห็นได้ชัดซึ่งผิดปกติกับการแสดงออกของฉันหรือไม่? ฉันค่อนข้างใหม่กับ RDLC ดังนั้นฉันจึงรู้สึกเหมือนขาดอะไรไร้สาระไป มีวิธีใดบ้างที่จะแสดงอย่างชัดเจนว่า #Errors เหล่านี้หมายถึงหรือสอดคล้องกับอะไรจริง ๆ

หมายเหตุอีกประการหนึ่งคือฉันออกแบบ RDLC ของฉันใน VS2013 หากนั่นสร้างความแตกต่าง


person ldam    schedule 10.06.2014    source แหล่งที่มา


คำตอบ (1)


SSRS สามารถให้ #Error เนื่องจากประเภทข้อมูลไม่ตรงกัน อาจมีการประเมิน Amount2 เป็นฟิลด์สตริงแทนที่จะเป็นตัวเลข เพื่อหลีกเลี่ยงเงื่อนไขดังกล่าว ให้การแปลงอย่างชัดเจน

ลองสิ่งนี้:

=RunningValue(IIF(Fields!HomedBack.Value="Y", Fields!Amount2.Value*1.0, 0.0),Sum,"Items")

OR

=RunningValue(IIF(Fields!HomedBack.Value="Y", CDBL(Fields!Amount2.Value), 0.0),Sum,"Items")

OR

=RunningValue(IIF(Fields!HomedBack.Value="Y", CDEC(Fields!Amount2.Value), 0),Sum,"Items")
person Anup Agrawal    schedule 11.06.2014
comment
ฉันลองใช้ CLNG และพบปัญหาเดียวกัน แต่ขอบคุณสำหรับการตอบกลับ ฉันจะลองใช้ CDBL และ CDEC ด้วยเช่นกัน - person ldam; 12.06.2014