Există un fel de reciclare a unui Crystal Reports de date CCD?

Încerc să scriu un Raport de cristal care are totaluri grupate într-un mod diferit față de raportul principal. Singurul mod în care am reușit să fac acest lucru este de a folosi o subreport pentru totaluri, dar înseamnă să trebuiască să apăsați din nou sursa de date pentru a prelua aceleași date, ceea ce pare a fi un nonsens. Iată un exemplu simplificat:

       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

În acest exemplu, raportul principal este grupat după "data", dar totalurile sunt grupate suplimentar prin "sursă". Am căutat exemple de folosire a totalurilor, dar ei nu fac exact ceea ce am nevoie. Nu există o metodă de stocare a setului de rezultate și având atât raportul principal, cât și referința subreportului aceleași date?

0
fr hi bn

2 răspunsuri

Hmm ... la fel de frumos ca este de a apela Proc stocate din raport și de a le conține toate într-o singură locație, cu toate acestea am găsit (ca tine) că ați lovit în cele din urmă un punct în care nu puteți obține cristal pentru a face ceea ce doresc chiar că datele sunt chiar acolo.

Am ajuns să introducem un strat de afaceri care face parte din raport și mai degrabă decât să "tragem" datele din raportul pe care "împingem" seturile de date la acesta și să le legăm în raport. Avantajul este că puteți manipula datele în cod în seturi de date sau obiecte înainte de a ajunge la raport și apoi pur și simplu să legeți datele în raport.

This article has a nice intro on how to setup pushing data to the reports. I understand that your time/business constraints may not allow you to do this, but if it's at all possible, I'd highly recommend it as it's meant we can remove all "coding" out of our reports and into managed code which is always a good thing.

0
adăugat

Singura modalitate în care mă pot gândi să fac acest lucru fără oa doua rulare prin date ar fi prin crearea unor formule pentru a face rezultate totale pe grup. Problema pe care o presupun că vă întâlniți cu totalurile existente care rulează este că acestea sunt destinate să urmeze fiecare dintre grupurile pe care le reprezintă în totalitate. Deoarece pare să doriți ca subtotalurile să urmeze după toate datele "brute", acest lucru nu va funcționa.

Dacă creați propriile formule pentru fiecare grup care adaugă pur și simplu totalul din acele rânduri care se potrivesc grupului, ar trebui să le puteți plasa la sfârșitul raportului. Dezavantajul acestei abordări este că subtotalele rezultate nu vor fi dinamice în raport cu grupurile. Cu alte cuvinte, dacă ai avea o "sursă" nouă, nu s-ar afișa în subtotal până când nu i-ai adăugat sau dacă nu aveai date despre "câine de mers pe jos", ai avea încă un subtotal pentru el.

0
adăugat