Forrige emneNæste emne


Øveprogram 2: Gruppér rapportdata

Dette øveprogram indeholder en vejledning i gruppering af kundedata efter kreditmaksimum. Det begynder med den rapport, du oprettede i Øveprogram 1: "Opret en enkel listerapport". I det første øveprogram oprettede du en enkel rapport, der viser kunder i alfabetisk rækkefølge. I denne rapport skal du inddele kunder i kreditmaksimumsgrupper på 50.000,00, f.eks. 0-49999, 50000-99999, 100000-149999 og så videre.

Det første øveprogram skal være gennemført, før du begynder på dette øveprogram.

I øveprogrammet indgår følgende opgaver:

Opgave 1: Åbn rapportdesignet

I det første øveprogram oprettede du Customers.rptdesign i en projektfolder ved navn My Reports. Åbn Customers.rptdesign på en af følgende måder:

Filen åbnes i layouteditoren som vist i Figur 8-1.

Figur 8-1 Design af kunderapport i layouteditoren

Opgave 2: Gem rapporten som en ny fil

Gem Customers.rptdesign som en ny fil i stedet for at redigere direkte i den rapport, du oprettede i det første øveprogram.

  1. Vælg Fil->Gem som. I Gem som vises filens nuværende navn og placering.
  2. Ret Customers.rptdesign i Filnavn til Customers_grouped.rptdesign, og vælg derefter Afslut. BIRT Report Designer opretter en kopi af Customers.rptdesign. Den nye fil vises i layouteditoren.

Opgave 3: Tilføj kreditmaksimumsfeltet til datasættet

Feltet CREDITLIMIT skal tilføjes til datasættet, hvis rapporten skal vise data om kreditmaksimum.

  1. Vælg Data Explorer.
  2. Udvid Datasæt, og dobbeltklik derefter på Customers. SQL-forespørgslen for datasættet Customers vises i Redigér datasæt.
  3. Tilføj et komma (,) efter phone.
  4. Tilføj følgende tekst på næste linje:
  5. creditLimit 
    
    Den ændrede forespørgsel skulle nu se ud som den, der vises i Figur 8-2.

    Figur 8-2 Forespørgsel med feltet creditLimit tilføjet
  6. Vælg Vis resultater for at kontrollere, at forespørgslen returnerer rækker med oplysninger om kreditmaksimum.
  7. Vælg OK for at gemme datasættet.

Opgave 4: Tilføj kreditmaksimumsdata til rapporten

I denne fremgangsmåde skal du indsætte kreditmaksimumsfeltet i den eksisterende tabel.

  1. Vælg tabellen i layouteditoren. Der vises hjælpeceller oven over og til venstre for tabellen.
  2. Højreklik på hjælpecellen over første kolonne, og vælg derefter Indsæt->Kolonner til venstre som vist i Figur 8-3.
  3. Figur 8-3 Indsæt en kolonne til venstre for en eksisterende kolonne
    Der vises en ny kolonne.
  4. Udvid Datasæt i Data Explorer, og udvid derefter Customers. I datasættet Customers vises de felter, der er angivet i forespørgslen.
  5. Træk feltet CREDITLIMIT fra Data Explorer, og placér det på oplysningsrækkecellen ved siden af [CUSTOMERNAME].
  6. BIRT Report Designer opretter en navngivet kolonne, som er bundet til datasætfeltet. Kolonnebindingen vises i Vælg databinding.
  7. Vælg OK for at acceptere standardkolonnebindingen.
  8. I tabellen i layouteditoren vises det felt, du har tilføjet. Det etiketelement, som layouteditoren automatisk har tilføjet til toptekstrækken, vises også. Etiketten fungerer som kolonneoverskriften og viser feltnavnet som statisk tekst. Rapporten skulle nu se ud som den, der vises i Figur 8-4.

    Figur 8-4 Resultat efter tilføjelse af kreditmaksimumsfelt i layouteditoren
  9. Redigér etiketten CREDITLIMIT, så den vises som Credit Limit.
  10. Fremvis rapporten.Rapporten skulle nu se ud som den, der vises i Figur 8-5.
  11. Figur 8-5 Rapportfremvisning efter tilføjelse af kreditmaksimum
    Nogle af kunderne har et kreditmaksimum på 0. Det gælder nye kunder, der endnu ikke er kreditgodkendt.

Opgave 5: Gruppér kundedata efter kreditmaksimum

Rapporten er i øjeblikket sorteret alfabetisk efter kundenavn. I det første øveprogram blev det nemlig angivet, at rækkerne i tabellen skulle sorteres efter kundenavn. I denne fremgangsmåde skal du grupper dataene efter kreditmaksimum i intervaller på 50.000. Når du grupperer data, inddeler BIRT først dataene i grupper og sorterer derefter hver gruppe, hvis du også angiver en sorteringsbetingelse på tabelniveau. Når denne opgave er udført, ses, at datarækkerne i hver kreditmaksimumsgruppe er sorteret efter kundenavn.

  1. Vælg Layout for at vende tilbage til layouteditoren.
  2. Højreklik på tabellen, og vælg Indsæt gruppe->Før. De gruppeegenskaber, du kan angive, vises i Ny gruppe som vist i Figur 8-6.
  3. Figur 8-6 Ny gruppe
  4. Sådan angiver du kreditmaksimum i intervaller på 50000:
    1. Skriv følgende tekst som gruppenavnet i Navn:
    2. credit_group 
      
    3. Vælg CREDITLIMIT på listen i Gruppér ved.
    4. Vælg Interval på listen Interval.
    5. Skriv 50000 for Interval.
    6. Brug standardværdien til de andre indstillinger.
    7. Vælg OK.
    I tabellen i rapportdesignet vises en gruppetoptekstrække og en gruppebundtekstrække som vist i Figur 8-7. Det dataelement, som layouteditoren automatisk har tilføjet til gruppetoptekstrækken, vises også. Dataelementet fungerer som gruppeoverskrift og viser den første kreditmaksimumsværdi for hver gruppe i den genererede rapport.

    Figur 8-7 Gruppetoptekstrække og gruppebundtekstrække i et rapportdesign
  5. Vælg dataelementet [CREDITLIMIT] i gruppetoptekstrækken. Vælg ikke dataelementet [CREDITLIMIT] i oplysningsrækken.
  6. Vælg Generelt i Egenskabseditor, og vælg derefter B for at formatere gruppeoverskriften som fed tekst.
  7. Fremvis rapporten. Blad ned i rapporten for at se alle dataene. Som Figur 8-8 viser, er data opstillet i fire kreditmaksimumsgrupper i rapporten. I starten af grupperne vises følgende tal med fed skrift: 0, 61100, 113000, 227600. Tallene matcher den første kreditmaksimumsværdi i hver gruppe. Kunderne er sorteret i alfabetisk rækkefølge i hver gruppe.
  8. Figur 8-8 Rapportfremvisning med en af de fire kreditmaksimumsgrupper

Opgave 6: Vis intervaller for kreditmaksimum i gruppetopteksten

Det er nemmere at finde rundt i rapporten, hvis den i stedet for den første værdi for hver gruppe viser kreditmaksimumsintervallet for hver gruppe i gruppetopteksten:

0 - 49999 
50000 - 99999 
100000 - 149999 

I denne fremgangsmåde beskrives, hvordan du skriver et JavaScript-udtryk for at få vist disse kreditmaksimumsintervaller. Den viser også, hvordan du opretter en kolonnebinding, som JavaScript-udtrykket skal tilknyttes.

  1. Vælg Layout for at vende tilbage til layouteditoren.
  2. Vælg tabellen, og vælg Binding i Egenskabseditor.
  3. Opret en ny kolonnebinding:
    1. Vælg Tilføj.
    2. Skriv følgende udtryk i Opret udtryk:
    3. for(i=50000; i<300000; i+=50000){ 
      if( row["CREDITLIMIT"] < i ){ 
        rangeStart = i-50000; 
        rangeEnd = i-1; 
        break; 
      } 
      } 
      displayString=rangeStart + " - " + rangeEnd; 
      
    4. Vælg OK. Den nye kolonnebinding vises på siden Binding i Egenskabseditor med kolonnenavnet fremhævet.
    5. Erstat navnet Ny binding med følgende navn:
    6. CREDIT_GROUP_HEADER 
      
  4. Opdatér dataelementet CREDITLIMIT i gruppetopteksten, så det bruger den nye kolonnebinding, ved at dobbeltklikke på dataelementet og vælge CREDIT_GROUP_HEADER. Vælg derefter OK.
  5. Fremvis rapporten. Kreditmaksimumsintervallerne vises i gruppetopteksterne. Figur 8-9 viser gruppetopteksten 50000 - 99999.
  6. Figur 8-9 Rapportfremvisning med kreditmaksimumsintervaller

Opgave 7: Vis beregnede oplysninger

En af fordelene ved at gruppere data er, at du kan tilføje summerede (beregnede) oplysninger i starten eller slutningen af hver gruppe. I denne fremgangsmåde gennemgås følgende opgaver:

  1. Vælg Layout for at vende tilbage til layouteditoren.
  2. Vis antallet af kunder i hver gruppe:
    1. Træk et dataelement fra paletten, og placér det på den første celle i gruppebundtekstrækken. Elementer i gruppebundteksten vises i slutningen af hver gruppe.
    2. Opret en ny kolonnebinding i Vælg databinding:
      1. Skriv følgende tekst i Navn på en ny række:
      2. GROUP_CUSTOMER_COUNT 
        
      3. Brug standarddatatypen, Hvilken som helst.
      4. Skriv følgende beregningsudtryk i Udtryk:
      5. "Customers: " + Total.count() 
        
        Total.count( ) returnerer antallet af rækker.
      6. Brug standardværdien for Beregn på, credit_group. Værdien angiver, at funktionen Total.count( ) returnerer antallet af rækker i hver kreditmaksimumsgruppe.
      7. Vælg den kolonnebinding, du netop har oprettet, og vælg OK. Dataelementet bruger den valgte kolonnebinding.
    3. Fremvis rapporten. I rapporten vises antallet af kunder i slutningen af hver gruppe som vist i Figur 8-10.
    4. Figur 8-10 Rapportfremvisning med antal for hver gruppe
  3. Vælg Layout for at vende tilbage til layouteditoren.
  4. Vis det samlede antal kunder:
    1. Vælg tabellen.
    2. Der vises hjælpeceller oven over og til venstre for tabellen.
    3. Højreklik på hjælpecellen til venstre for den første række, Tabel - toptekst, og vælg derefter Indsæt->Række->Før.
    4. Der vises en ny tabeltoptekstrække over rækken med kolonneoverskrifterne. Den vises i farve, fordi den har overtaget egenskaberne for den efterfølgende række.
    5. Vælg den nye række, og ret dens baggrundsfarve til hvid i egenskabseditoren.
    6. Træk et dataelement fra paletten, og placér det på den første celle i den nye tabeltoptekstrække. Elementer i gruppetopteksten vises i starten af hver gruppe.
    7. Opret en ny kolonnebinding i Vælg databinding:
      1. Skriv følgende tekst i Navn på en ny række:
      2. TOTAL_CUSTOMER_COUNT 
        
      3. Brug standarddatatypen, Hvilken som helst.
      4. Skriv følgende beregningsudtryk i Udtryk:
      5. "Number of customers: " + Total.count() 
        
      6. Brug standardværdien for Beregn på, Alle. Værdien angiver, at funktionen Total.count( ) returnerer antallet af rækker i hele tabellen.
      7. Vælg den kolonnebinding, du netop har oprettet, og vælg OK. Dataelementet bruger den valgte kolonnebinding.
    Rapportdesignet skulle nu se ud som det, der vises i Figur 8-11.

    Figur 8-11 Rapportdesign med samlet antal kunder
  5. Fremvis rapporten. I rapporten vises antallet af kunder i begyndelsen af tabellen som vist i Figur 8-12.
  6. Figur 8-12 Rapportfremvisning med det samlede antal kunder

Opgave 8: Formatér rapporten

De rigtige data vises nu i rapporten, og du kan koncentrere dig om at forbedre rapportens udseende. I dette afsnit beskrives følgende opgaver:

Fjern kreditmaksimumsdata fra oplysningsrækkerne

Det er nyttigt at få vist hver kundes kreditmaksimum for at kontrollere, at data vises i de rigtige kreditmaksimumsgrupper. Efter dataene nu er kontrolleret, kan de enkelte kreditmaksimumsoplysninger slettes fra rapporten.

  1. Vælg Layout for at vende tilbage til layouteditoren.
  2. Slet dataelementet [CREDITLIMIT] fra oplysningsrækken.
  3. Fremvis rapporten. Den skulle nu se ud som den, der vises i Figur 8-13.
  4. Figur 8-13 Rapportfremvisning uden kreditmaksmumsdata for hver række

Vis gruppeoverskrifter i første række i hver gruppe

Kreditmaksimumsgruppernes overskrifter vises i deres egen række oven over hver gruppes oplysningsrække. I denne fremgangsmåde skal gruppeoverskrifterne udvides, så de vises i første oplysningsrække.

  1. Vælg Layout for at vende tilbage til layouteditoren.
  2. Vælg den celle, der indeholder gruppeoverskriften som vist i Figur 8-14. Sørg for at vælge cellen, ikke dataelementet i cellen.
  3. Figur 8-14 Gruppeoverskriftscelle valgt
  4. Angiv Udvid til Oplysninger under Generelle egenskaber i Egenskabseditor. I rapportdesignet vises gruppeoverskriften stadig oven over oplysningsrækken, da elementet teknisk set stadig findes i gruppetoptekstrækken.
  5. Angiv Udfyldning - Top til 12 punkt under udfyldningsegenskaberne i Egenskabseditor. Indstillingen justerer gruppeoverskrifterne mere præcist i forhold til dataene i oplysningsrækkerne. Du husker måske, at der i det første øveprogram blev tilføjet en udfyldning på 12 punkt til den øverste af oplysningsrækkecellerne.
  6. Fremvis rapporten. Gruppeoverskrifterne vises i første række i hver gruppe som vist i Figur 8-15.
  7. Figur 8-15 Rapportfremvisning med udvidede gruppeoverskrifter

Adskil hver gruppe med en linje

Grupperne med data træder tydeligere frem, hvis der tegnes en linje mellem hver gruppe.

  1. Vælg Layout for at vende tilbage til layouteditoren.
  2. Vælg alle cellerne i gruppebundtekstrækken. Brug Skift-klik til at vælge flere celler.
  3. Vælg Kant i Egenskabseditor, og angiv derefter egenskaberne for kanten:
    • Angiv Typografi til en ubrudt linje.
    • Vælg den knap, der illustrerer den nederste kant.
  4. Tilføj mere afstand mellem linjen og teksten over den. Vælg egenskaberne Udfyldning i Egenskabseditor, mens cellerne stadig er valgt, og angiv Bund til 6,0 punkt.
  5. Fremvis rapporten. Der vises en linje efter hver gruppe som vist i Figur 8-16.
  6. Figur 8-16 Rapportfremvisning med en linje mellem grupper

Opgave 9: Fremvis rapporten i BIRT-rapportfremviseren

Indtil nu har du kontrolleret rapportoutputtet med funktionen Vis resultat i BIRT Report Designer. Denne gang skal du bruge rapportfremviseren til at se, hvordan rapporten ser ud, når den distribueres. Rapportfremviseren har yderligere funktioner, herunder mulighed for at navigere til bestemte afsnit i en rapport ved hjælp af en indholdsfortegnelse. Når du opretter grupper i en rapport, genererer BIRT automatisk en indholdsfortegnelse, hvor gruppeværdierne bruges til at vise hierarkiet i rapporten.

  1. Vælg Fil->Vis rapport i webfremviser.
  2. Rapporten vises i rapportfremviseren.

  3. Vælg knappen Indholdsfortegnelse, som er knappen til venstre øverst i vinduet, for at få vist indholdsfortegnelsen.
  4. I indholdsfortegnelsen vises den første værdi i hver af de fire kreditmaksimumsgrupper. Når du vælger en værdi, vises det tilsvarende afsnit i rapporten. Hvis du f.eks. vælger 61100, vises kunderækkerne i kreditmaksimumsintervallet 50000 - 99999 i rapporten som vist i Figur 8-17.

    Figur 8-17 Vælg en værdi i indholdsfortegnelsen for at få vist de tilsvarende data

Opgave 10: Vis intervaller for kreditmaksimum i indholdsfortegnelsen

Indholdsfortegnelsen giver mere mening, hvis den viser samme værdier for kreditmaksimumsintervallerne som rapporten i stedet for den første værdi i hver kreditmaksimumsgruppe. Det kan du opnå ved at bruge samme JavaScript-udtryk som tidligere til at få vist kreditmaksimumsintervaller (0 - 49999, 50000 - 99999 og så videre) i gruppetopteksten.

  1. Vend tilbage til BIRT Report Designer.
  2. Vælg tabellen i layouteditoren, og vælg derefter skillebladet Grupper i Egenskabseditor.
  3. Dobbeltklik på credit_group på listen med grupper.
  4. Gruppens egenskaber vises i Redigér gruppe. Udtryk til indgang i indholdsfortegnelse er som standard angivet til grupperingsfeltet, row["CREDITLIMIT"].
  5. Vælg knappen (...), og erstat udtrykket row["CREDITLIMIT"] i Opret udtryk med følgende udtryk. Det er det samme kolonnebindingsudtryk, som bruges af dataelementet i gruppetopteksten. I stedet for at skrive udtrykket igen, kan du kopiere det fra dataelementet og klistre det ind her.
  6. for(i=50000; i<300000; i+=50000){ 
    if( row["CREDITLIMIT"] < i ){ 
      rangeStart = i-50000; 
      rangeEnd = i-1; 
      break; 
    } 
    } 
    displayString=rangeStart + " - " + rangeEnd; 
    
  7. Vælg OK.
  8. Fremvis rapporten i rapportfremviseren for at kontrollere ændringen i indholdsfortegnelsen.
  9. I indholdsfortegnelsen vises intervallerne for kreditmaksimum som vist i Figur 8-18.

    Figur 8-18 Opdateret indholdsfortegnelse


(c) Copyright Actuate Corporation 2006

Forrige emneNæste emne