มีวิธีรีไซเคิลชุดข้อมูล Crystal Reports หรือไม่

ฉันกำลังพยายามเขียน Crystal Report ซึ่งมีการจัดกลุ่มผลรวมในลักษณะที่แตกต่างจากรายงานหลัก วิธีเดียวที่ฉันสามารถทำได้จนถึงตอนนี้คือการใช้รายงานย่อยสำหรับผลรวม แต่หมายความว่าต้องกดแหล่งข้อมูลอีกครั้งเพื่อดึงข้อมูลเดิม ซึ่งดูเหมือนไร้สาระ นี่เป็นตัวอย่างง่ายๆ:

       date   name   earnings   source          location
-----------------------------------------------------------
12-AUG-2008   Tom      $50.00   washing cars    uptown
12-AUG-2008   Dick    $100.00   washing cars    downtown     { main report }
12-AUG-2008   Harry    $75.00   mowing lawns    around town

                    total earnings for washing cars: $150.00 { subreport }
                    total earnings for mowing lawns:  $75.00

       date   name   earnings   source          location
-----------------------------------------------------------
13-AUG-2008   John     $95.00   dog walking     downtown
13-AUG-2008   Jane    $105.00   washing cars    around town  { main report }
13-AUG-2008   Dave     $65.00   mowing lawns    around town

                    total earnings for dog walking:   $95.00
                    total earnings for washing cars: $105.00 { subreport }
                    total earnings for mowing lawns:  $65.00

ในตัวอย่างนี้ รายงานหลักจะถูกจัดกลุ่มตาม 'วันที่' แต่ผลรวมจะถูกจัดกลุ่มเพิ่มเติมตาม 'แหล่งที่มา' ฉันได้ค้นหาตัวอย่างของการใช้ผลรวมสะสมแล้ว แต่พวกเขาไม่ได้ทำสิ่งที่ฉันต้องการจริงๆ ไม่มีวิธีจัดเก็บชุดผลลัพธ์และมีทั้งรายงานหลักและรายงานย่อยอ้างอิงข้อมูลเดียวกันไม่ใช่หรือ?


person ninesided    schedule 12.08.2008    source แหล่งที่มา


คำตอบ (2)


อืม... ดีพอๆ กับการเรียก proc ที่เก็บไว้จากรายงานและรวมทุกอย่างไว้ในที่เดียว อย่างไรก็ตาม เราพบว่า (เช่นคุณ) ในที่สุดคุณก็มาถึงจุดที่คุณไม่สามารถรับคริสตัลมาทำสิ่งที่คุณได้ ต้องการแม้ว่าข้อมูลจะอยู่ที่นั่นก็ตาม

เราลงเอยด้วยการแนะนำชั้นธุรกิจที่อยู่ใต้รายงาน และแทนที่จะ "ดึง" ข้อมูลจากรายงาน เราจะ "พุช" ชุดข้อมูลไปที่ชุดข้อมูลและผูกข้อมูลเข้ากับรายงาน ข้อดีคือคุณสามารถจัดการข้อมูลในโค้ดในชุดข้อมูลหรือออบเจ็กต์ก่อนที่จะถึงรายงาน จากนั้นเพียงผูกข้อมูลเข้ากับรายงาน

บทความนี้มีคำแนะนำที่ดีเกี่ยวกับวิธี การตั้งค่าการพุชข้อมูลไปยังรายงาน ฉันเข้าใจว่าข้อจำกัดด้านเวลา/ธุรกิจของคุณอาจไม่อนุญาตให้คุณทำเช่นนี้ แต่ถ้าเป็นไปได้ ฉันขอแนะนำเป็นอย่างยิ่ง เนื่องจากนั่นหมายความว่าเราสามารถลบ "การเขียนโค้ด" ทั้งหมดออกจากรายงานของเราและเข้าไปในโค้ดที่ได้รับการจัดการซึ่งมักจะเป็นเช่นนั้นเสมอ สิ่งที่ดี.

person lomaxx    schedule 12.08.2008

วิธีเดียวที่ฉันสามารถนึกถึงการทำเช่นนี้โดยไม่ต้องเรียกใช้ข้อมูลเป็นครั้งที่สองคือการสร้างสูตรบางอย่างเพื่อคำนวณผลรวมต่อกลุ่ม ปัญหาที่ฉันคิดว่าคุณกำลังพบกับผลรวมสะสมที่มีอยู่ก็คือพวกมันตั้งใจที่จะติดตามแต่ละกลุ่มที่พวกเขากำลังรวมอยู่ เนื่องจากคุณดูเหมือนต้องการให้ผลรวมย่อยตามมาหลังจากข้อมูล 'ดิบ' ทั้งหมดจึงไม่ทำงาน

หากคุณสร้างสูตรของคุณเองสำหรับแต่ละกลุ่มที่บวกผลรวมจากแถวที่ตรงกับกลุ่ม คุณจะสามารถวางไว้ที่ส่วนท้ายของรายงานได้ ข้อเสียของแนวทางนี้คือผลรวมย่อยที่ได้จะไม่มีการเปลี่ยนแปลงแบบไดนามิกในความสัมพันธ์กับกลุ่ม กล่าวอีกนัยหนึ่ง หากคุณมี 'แหล่งที่มา' ใหม่ มันจะไม่แสดงในผลรวมย่อยจนกว่าคุณจะเพิ่มเข้าไป หรือหากคุณไม่มีข้อมูล 'การพาสุนัขเดินเล่น' คุณก็จะยังคงมีผลรวมย่อยอยู่

person N8g    schedule 12.08.2008