Forrige emneNeste emne


Opplæring 2: Gruppere rapportdata

Denne opplæringen inneholder instruksjoner for hvordan du grupperer kundedata etter kredittgrenser. Den begynner med rapporten du bygde i Opplæring 1: "Bygge en enkelt listerapport." I den første opplæringen bygde du en enkel rapport som viser kunder i alfabetisk rekkefølge. I denne rapporten skal du ordne kundene i kredittgrensegrupper på $50.000,00, for eksempel 0-49999, 50000-99999, 100000-149999 og så videre.

Før du begynner med denne opplæringen, må du fullføre den første opplæringen.

I denne opplæringen skal du utføre de følgende oppgavene:

Oppgave 1: Åpne Rapportdesign

I den første opplæringen opprettet du Customers.rptdesign i en prosjektmappe med navnet My Reports. Åpne Customers.rptdesign ved å følge en av disse fremgangsmåtene:

Filen blir åpnet i redigeringsprogrammet, som vist i Figur 8-1.

Figur 8-1 Kunderapportdesign i layoutredigeringsprogrammet

Oppgave 2: Lagre rapporten som en ny fil

I stedet for å redigere rapporten du opprettet i den første opplæringen direkte, Customers.rptdesign som en ny fil.

  1. Velg Fil->Lagre som. Lagre som viser filens gjeldende navn og plassering.
  2. For Filnavn endrer du Customers.rptdesign til Customers_grouped.rptdesign, og deretter velger du Fullfør. BIRT Report Designer lager en kopi av Customers.rptdesign. Den nye filen blir vist i layoutredigeringsprogrammet.

Oppgave 3: Legg til feltet for kredittgrense i datasettet

For at rapporten skal vise kredittgrensedata, må du legge til feltet CREDITLIMIT i datasettet.

  1. Velg Datautforsker.
  2. Utvid Datasett, og dobbeltklikk på Customers. Rediger datasett viser SQL-spørringen for datasettet Customers.
  3. Legg til et komma (,) etter phone.
  4. På neste linje legger du til denne teksten:
  5. creditLimit 
    
    Den endrede spørringen skal se ut som den i Figur 8-2.

    Figur 8-2 Spørring der feltet creditLimit er lagt til
  6. Velg Forhåndsvis resultater for å verifisere at spørringen returnerer rader med informasjon om kredittgrenser.
  7. Velg OK for å lagre datasettet.

Oppgave 4: Legg til kredittgrensedata i rapporten

I denne fremgangsmåten skal du sette inn kredittgrensefeltet i den eksisterende tabellen.

  1. Velg tabellen i layoutredigeringsprogrammet. Det blir vist hjelpeceller øverst og på venstre side av tabellen.
  2. Høyreklikk på hjelpecellen over den første kolonnen, og velg deretter Sett inn->Kolonne til venstre, som vist i Figur 8-3.
  3. Figur 8-3 Sette inn en kolonne til venstre for en eksisterende kolonne
    Det blir vist en ny kolonne.
  4. I Datautforsker utvider du Datasett, og deretter utvider du Customers. Datasettet Customers viser feltene som er oppgitt i spørringen.
  5. Dra feltet CREDITLIMIT fra Datautforsker, og slipp det i detaljradcellen ved siden av [CUSTOMERNAME].
  6. BIRT Report Designer oppretter en navngitt kolonne, som er bundet til datasettfeltet. Velg databinding viser denne kolonnebindingen.
  7. Velg OK for å godta standard kolonnebinding.
  8. I layoutredigeringsprogrammet viser tabellen feltet du la til. Det viser også etikettelementet som layoutredigeringsprogrammet la til automatisk i topptekstraden. Denne etiketten tjener som kolonneoverskrift, og den viser feltnavnet som statisk tekst. Rapporten skal se ut som den i Figur 8-4.

    Figur 8-4 Resultat av å legge til kredittgrensefeltet i layoutredigeringsprogrammet
  9. Rediger etiketten CREDITLIMIT slik at den blir vist som Credit Limit.
  10. Forhåndsvis rapporten. Rapporten skal se ut som den i Figur 8-5.
  11. Figur 8-5 Rapportforhåndsvisning som viser resultatet av å legge til en kredittgrense
    Noen av kundene har en kredittgrense på 0. Dette er nye kunder som ennå ikke er godkjent for en kreditt.

Oppgave 5: Grupper kundedata etter kredittgrense

Rapporten er for tiden sortert alfabetisk etter kundenavn. Husk at i den første opplæringen oppgav du at radene i tabellen skulle sorteres etter kundenavn. I denne fremgangsmåten grupperer du dataene etter kredittgrenser i intervaller på 50.000. Når du grupperer data, sorterer BIRT radene i grupper først, deretter sorterer det radene i hver gruppe, såfremt du også oppgir en sorteringsbetingelse på tabellnivå. Som du vil se når du har fullført denne oppgaven, blir dataradene i hver kredittgrensegruppe sortert etter kundenavn.

  1. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  2. Høyreklikk på tabellen, og velg Sett inn gruppe->Over. Ny gruppe, som vises i Figur 8-6, viser gruppeegenskapene du kan definere.
  3. Figur 8-6 Ny gruppe
  4. Følg disse trinnene når du skal oppgi gruppering etter kredittgrense i intervaller på 50000:
    1. For Navn skriver du den følgende teksten som gruppenavnet:
    2. credit_group 
      
    3. For Grupper etter velger du CREDITLIMIT fra rullegardinlisten.
    4. For Intervall velger du Intervall fra rullegardinlisten.
    5. For Område skriver du 50000.
    6. Bruk standardverdiene for de andre alternativene.
    7. Velg OK.
    Tabellen i Rapportdesign viser en gruppetopptekst- og en gruppebunntekstrad, som vist i Figur 8-7. Den viser også dataelementet som layoutredigeringsprogrammet la til automatisk i gruppetopptekstraden. Dette dataelementet tjener som en gruppeoverskrift, og i den genererte rapporten vises den første kredittgrenseverdien for hver gruppe.

    Figur 8-7 Gruppetopptekst- og gruppebunntekstrader i en rapportdesign
  5. Velg dataelementet [CREDITLIMIT] som vises i gruppetopptekstraden. Du må ikke velge dataelementet [CREDITLIMIT] som vises i detaljraden.
  6. I redigeringsprogrammet for egenskaper velger du Generelt, og deretter velger du B for å formatere gruppetoppteksten som fet tekst.
  7. Forhåndsvis rapporten. Bla nedover i rapporten for å vise alle dataene. Som Figur 8-8 viser, ordner rapporten dataene i fire grupper med kredittgrenser. I begynnelsen av hver gruppe ser du disse tallene med fete typer: 0, 61100, 113000, 227600. Disse tallene samsvarer med den første kredittgrenseverdien for hver gruppe. I hver gruppe blir kundene sortert i alfabetisk rekkefølge.
  8. Figur 8-8 Rapportforhåndsvisning som viser en av de fire kredittgrensegruppene

Oppgave 6: Vis verdiområder for kredittgrenser i gruppetoppteksten

I stedet for å vise den første verdien i hver gruppe i gruppetoppteksten, blir det enklere å navigere i rapporten hvis den viser kredittgrensenes verdiområde for hver gruppe, på denne måten:

0 - 49999 
50000 - 99999 
100000 - 149999 

Denne fremgangsmåten viser hvordan du skriver et JavaScript-uttrykk som viser disse verdiområdene for kredittgrenser. Fremgangsmåten viser også hvordan du oppretter en kolonnebinding som du kan bruke til å tilknytte JavaScript-uttrykket.

  1. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  2. Velg tabellen, og velg deretter Binding i redigeringsprogrammet for egenskaper.
  3. Opprett en ny kolonnebinding:
    1. Velg Legg til.
    2. I Uttrykksbygger skriver du dette uttrykket:
    3. for(i=50000; i<300000; i+=50000){ 
      if( row["CREDITLIMIT"] < i ){ 
        rangeStart = i-50000; 
        rangeEnd = i-1; 
        break; 
      } 
      } 
      displayString=rangeStart + " - " + rangeEnd; 
      
    4. Velg OK. Den nye kolonnebindingen vises på siden Binding i redigeringsprogrammet for egenskaper med kolonnenavnet uthevet.
    5. Erstatt navnet Ny binding med det følgende navnet:
    6. CREDIT_GROUP_HEADER 
      
  4. Oppdater dataelementet CREDITLIMIT i gruppetoppteksten slik at du kan bruke den nye kolonnebindingen, ved å dobbeltklikke på dataelementet og velge CREDIT_GROUP_HEADER. Velg deretter OK.
  5. Forhåndsvis rapporten. Gruppetoppteksten viser verdiområdene av kredittgrenser. Figur 8-9 viser gruppetoppteksten 50000 - 99999.
  6. Figur 8-9 Rapportforhåndsvisning som viser verdiområder av kredittgrenser

Oppgave 7: Vis aggregert informasjon

En av fordelene ved å gruppere data er at du kan legge til sammendrag av, eller aggregert, informasjon i begynnelsen eller slutten av hver gruppe. I denne fremgangsmåten skal du fullføre disse oppgavene:

  1. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  2. Vis antall kunder i hver gruppe:
    1. Dra et dataelement fra paletten, og slipp det i den første cellen i gruppebunntekstraden. Elementer som ligger i gruppebunnteksten, vises på slutten av hver gruppe.
    2. I Velg databinding oppretter du en ny kolonnebinding:
      1. På en ny rad, i Navn, skriver du denne teksten:
      2. GROUP_CUSTOMER_COUNT 
        
      3. Bruk standard datatype, Alle.
      4. I Uttrykksbygger skriver du dette aggregerte uttrykket:
      5. "Customers: " + Total.count() 
        
        Total.count( ) returnerer antall rader.
      6. Bruk standardverdien for Aggreger på, credit_group. Denne verdien oppgir at funksjonen Total.count( ) returnerer antall rader i hver kredittgrensegruppe.
      7. Velg kolonnebindingen du nettopp opprettet, og velg OK. Dataelementet bruker den valgte kolonnebindingen.
    3. Forhåndsvis rapporten. Rapporten viser antall kunder på slutten av hver gruppe, som vist i Figur 8-10.
    4. Figur 8-10 Rapportforhåndsvisning som viser et antall for hver gruppe
  3. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  4. Vis det totale antall kunder:
    1. Velg tabellen.
    2. Det blir vist hjelpeceller øverst og på venstre side av tabellen.
    3. Høyreklikk på hjelpecellen til venstre for den første raden, Tabell - Topptekst, og velg deretter Sett inn->Rad->Over.
    4. Det blir vist en ny tabelltopptekstrad over raden som viser kolonneoverskriftene. Den blir vist i farger, fordi den har arvet egenskapene fra raden som følger den.
    5. Velg den nye raden, og i redigeringsprogrammet for egenskaper endrer du bakgrunnsfargen til hvit.
    6. Dra et dataelement fra paletten, og slipp det i den første cellen i den nye tabelltopptekstraden. Elementer som ligger i tabelltoppteksten, vises i begynnelsen av delen.
    7. I Velg databinding oppretter du en ny kolonnebinding:
      1. På en ny rad, i Navn, skriver du denne teksten:
      2. TOTAL_CUSTOMER_COUNT 
        
      3. Bruk standard datatype, Alle.
      4. I Uttrykksbygger skriver du dette aggregerte uttrykket:
      5. "Number of customers: " + Total.count() 
        
      6. Bruk standardverdien for Aggreger på, ALLE. Denne verdien oppgir at funksjonen Total.count( ) returnerer antall rader i hele tabellen.
      7. Velg kolonnebindingen du nettopp opprettet, og velg OK. Dataelementet bruker den valgte kolonnebindingen.
    Rapportens design skal se ut som den i Figur 8-11.

    Figur 8-11 Rapportdesign som viser et totalt antall for kunder
  5. Forhåndsvis rapporten. Rapporten viser antall kunder i begynnelsen av tabellen, som vist i Figur 8-12.
  6. Figur 8-12 Rapportforhåndsvisning som viser et totalt antall kunder

Oppgave 8: Formater rapporten

Rapporten viser nå riktige data, og du kan begynne å forbedre rapportens utseende. Du skal utføre disse oppgavene i denne delen:

Fjern kredittgrensedata fra detaljradene

For å verifisere at data blir vist i de riktige kredittgrensegruppene, er det nyttig å vise hver enkelt kundes kredittgrense. Dataene er nå verifisert, og vi kan slette informasjonen om individuelle kredittgrenser fra rapporten.

  1. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  2. Slett dataelementet [CREDITLIMIT] fra detaljraden.
  3. Forhåndsvis rapporten. Den skal se ut som den som vises i Figur 8-13.
  4. Figur 8-13 Rapportforhåndsvisning uten kredittgrensedata for hver rad

Vis gruppetopptekster på første rad for hver gruppe

Gruppeoverskriftene for kredittgrensene blir vist i egne rader, over detaljradene for hver gruppe. I denne fremgangsmåten skal du slippe gruppeoverskrifter slik at de blir vist i første detaljrad.

  1. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  2. Velg cellen som inneholder gruppeoverskriften, som vist i Figur 8-14. Sørg for å velge cellen, og ikke dataelementet i cellen.
  3. Figur 8-14 Gruppeoverskriftscellen valgt
  4. I Generelle egenskaper i redigeringsprogrammet for egenskaper definerer du Slipp til Detaljer. I Rapportdesign blir gruppeoverskriftene fremdeles vist over detaljraden fordi teknisk sett er elementet fremdeles i gruppetopptekstraden.
  5. I egenskapene for Utfylling i redigeringsprogrammet for egenskaper definerer du Utfylling--Øverst til 12 punkter. Denne innstillingen justerer gruppeoverskriftene mer nøyaktig med detaljradens data. Husk at i den første opplæringen la vi til 12-punkters utfylling øverst i detaljradcellene.
  6. Forhåndsvis rapporten. Gruppeoverskriftene blir vist i den første raden i hver gruppe, som vist i Figur 8-15.
  7. Figur 8-15 Rapportforhåndsvisning som viser gruppeoverskrifter som er sluppet

Skill hver gruppe med en linje

Hvis det blir tegnet en linje for å skille ut hver gruppe, blir det enklere å se gruppene av data.

  1. Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
  2. Velg alle cellene i gruppebunntekstraden. Du velger flere celler ved å trykke på skifttasten og klikke.
  3. Velg Kantlinjer i redigeringsprogrammet for egenskaper, og definer deretter egenskapene for kantlinjene:
    • Definer Stil til en heltrukket linje.
    • Velg knappen som viser den nedre kantlinjen.
  4. Legg til mer plass mellom linjen og teksten over den. Mens cellene fremdeles er valgt, velger du Utfylling i redigeringsprogrammet for egenskaper, og definerer Nederst til 6,0 punkter.
  5. Forhåndsvis rapporten. Det blir vist en linje på slutten av hver gruppe, som vist i Figur 8-16.
  6. Figur 8-16 Rapportforhåndsvisning som viser en linje mellom grupper

Oppgave 9: Forhåndsvis rapporten i BIRT-rapportvisningsprogrammet

Hittil har du kontrollert rapportutdataene i forhåndsvisningsprogrammet BIRT Report Designer. Denne gangen skal du bruke rapportvisningsprogrammet til å se hvordan rapporten ser ut når den er distribuert. Rapportvisningsprogrammet har ekstra funksjonalitet, inkludert muligheten til å navigere til bestemte deler av en rapport ved hjelp av en innholdsfortegnelse. Når du oppretter grupper i en rapport, genererer BIRT automatisk en innholdsfortegnelse, og bruker gruppeverdiene til å vise rapportens hierarki.

  1. Velg Fil->Vis rapport i web-visningsprogrammet.
  2. Rapporten blir vist i rapportvisningsprogrammet.

  3. Velg knappen for innholdsfortegnelsen, det er knappen til venstre øverst i vinduet, for å vise innholdsfortegnelsen.
  4. Innholdsfortegnelsen viser den første verdien i hver av de fire kredittgrensegruppene. Når du velger en verdi, viser rapporten den tilsvarende delen av rapporten. Hvis du for eksempel velger 61100, viser rapporten kunderadene i kredittgrenseområdet 50000 - 99999, som vist i Figur 8-17.

    Figur 8-17 Velg en verdi i innholdsfortegnelsen for å vise de tilsvarende dataene

Oppgave 10: Vis verdiområder for kredittgrenser i innholdsfortegnelsen

I stedet for å vise den første verdien i hver kredittgrensegruppe, får innholdsfortegnelsen mer mening hvis den viser de samme verdiområdene for kredittgrenser som rapporten. Du utfører denne oppgaven ved hjelp av det samme JavaScript-uttrykket som du brukte tidligere til å vise verdiområder av kredittgrenser (0 - 49999, 50000 - 99999 og så videre) i gruppetoppteksten.

  1. Gå tilbake til BIRT Report Designer.
  2. I layoutredigeringsprogrammet velger du tabellen, og deretter velger du flippen Grupper i redigeringsprogrammet for egenskaper.
  3. Dobbeltklikk på credit_group i listen over grupper.
  4. Rediger gruppe viser egenskapene for gruppen. TOC-elementuttrykk er som standard definert til grupperingsfeltet, row["CREDITLIMIT"].
  5. Velg ellipseknappen (...), og i Uttrykksbygger erstatter du uttrykket row["CREDITLIMIT"] med det følgende uttrykket. Dette er det samme kolonnebindingsuttrykket som det som brukes av dataelementet i gruppetoppteksten. I stedet for å skrive uttrykket på nytt, kan du kopiere den fra dataelementet og lime den inn her.
  6. for(i=50000; i<300000; i+=50000){ 
    if( row["CREDITLIMIT"] < i ){ 
      rangeStart = i-50000; 
      rangeEnd = i-1; 
      break; 
    } 
    } 
    displayString=rangeStart + " - " + rangeEnd; 
    
  7. Velg OK.
  8. Forhåndsvis rapporten i rapportvisningsprogrammet for å verifisere endringene i innholdsfortegnelsen.
  9. Innholdsfortegnelsen viser verdiområdene av kredittgrenser, som vist i Figur 8-18.

    Figur 8-18 Oppdatert innholdsfortegnelse


(c) Copyright Actuate Corporation 2006

Forrige emneNeste emne