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:
- Hvis du bruker BIRT Report Designer, åpner du filen gjennom Navigator:
- Åpne Navigator ved å velge Vindu->Vis visning>Navigator.
Navigator viser alle prosjektmappene og rapportfilene du har opprettet.
- Naviger til mappen My Reports, og dobbeltklikk på Customers.rptdesign.
- Hvis du bruker BIRT RCP Report Designer, bruker du hovedmenyen til å åpne filen:
- Velg Fil->Åpne fil.
- Naviger til og velg Customers.rptdesign, og velg deretter Åpne.
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.
- Velg Fil->Lagre som. Lagre som viser filens gjeldende navn og plassering.
- 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.
- Velg Datautforsker.
- Utvid Datasett, og dobbeltklikk på Customers. Rediger datasett viser SQL-spørringen for datasettet Customers.
- Legg til et komma (,) etter phone.
- På neste linje legger du til denne teksten:
Den endrede spørringen skal se ut som den i
Figur 8-2.
Figur 8-2 Spørring der feltet creditLimit er lagt til
- Velg Forhåndsvis resultater for å verifisere at spørringen returnerer rader med informasjon om kredittgrenser.
- 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.
- Velg tabellen i layoutredigeringsprogrammet. Det blir vist hjelpeceller øverst og på venstre side av tabellen.
- Høyreklikk på hjelpecellen over den første kolonnen, og velg deretter Sett inn->Kolonne til venstre, som vist i Figur 8-3.
Figur 8-3 Sette inn en kolonne til venstre for en eksisterende kolonne
Det blir vist en ny kolonne.
- I Datautforsker utvider du Datasett, og deretter utvider du Customers. Datasettet Customers viser feltene som er oppgitt i spørringen.
- Dra feltet CREDITLIMIT fra Datautforsker, og slipp det i detaljradcellen ved siden av [CUSTOMERNAME].
BIRT Report Designer oppretter en navngitt kolonne, som er bundet til datasettfeltet. Velg databinding viser denne kolonnebindingen.
- Velg OK for å godta standard kolonnebinding.
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
- Rediger etiketten CREDITLIMIT slik at den blir vist som Credit Limit.
- Forhåndsvis rapporten. Rapporten skal se ut som den i Figur 8-5.
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.
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Høyreklikk på tabellen, og velg Sett inn gruppe->Over. Ny gruppe, som vises i Figur 8-6, viser gruppeegenskapene du kan definere.
Figur 8-6 Ny gruppe
- Følg disse trinnene når du skal oppgi gruppering etter kredittgrense i intervaller på 50000:
- For Navn skriver du den følgende teksten som gruppenavnet:
- For Grupper etter velger du CREDITLIMIT fra rullegardinlisten.
- For Intervall velger du Intervall fra rullegardinlisten.
- For Område skriver du 50000.
- Bruk standardverdiene for de andre alternativene.
- 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
- Velg dataelementet [CREDITLIMIT] som vises i gruppetopptekstraden. Du må ikke velge dataelementet [CREDITLIMIT] som vises i detaljraden.
- I redigeringsprogrammet for egenskaper velger du Generelt, og deretter velger du B for å formatere gruppetoppteksten som fet tekst.
- 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.
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:
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.
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Velg tabellen, og velg deretter Binding i redigeringsprogrammet for egenskaper.
- Opprett en ny kolonnebinding:
- Velg Legg til.
- I Uttrykksbygger skriver du dette uttrykket:
- Velg OK. Den nye kolonnebindingen vises på siden Binding i redigeringsprogrammet for egenskaper med kolonnenavnet uthevet.
- Erstatt navnet Ny binding med det følgende navnet:
- 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.
- Forhåndsvis rapporten. Gruppetoppteksten viser verdiområdene av kredittgrenser. Figur 8-9 viser gruppetoppteksten 50000 - 99999.
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:
- Vis antall kunder i hver gruppe.
- Vis det totale antall kunder som er oppført i rapporten.
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Vis antall kunder i hver gruppe:
- 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.
- I Velg databinding oppretter du en ny kolonnebinding:
- På en ny rad, i Navn, skriver du denne teksten:
- Bruk standard datatype, Alle.
- I Uttrykksbygger skriver du dette aggregerte uttrykket:
Total.count( ) returnerer antall rader.
- Bruk standardverdien for Aggreger på, credit_group. Denne verdien oppgir at funksjonen Total.count( ) returnerer antall rader i hver kredittgrensegruppe.
- Velg kolonnebindingen du nettopp opprettet, og velg OK. Dataelementet bruker den valgte kolonnebindingen.
- Forhåndsvis rapporten. Rapporten viser antall kunder på slutten av hver gruppe, som vist i Figur 8-10.
Figur 8-10 Rapportforhåndsvisning som viser et antall for hver gruppe
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Vis det totale antall kunder:
- Velg tabellen.
Det blir vist hjelpeceller øverst og på venstre side av tabellen.
- Høyreklikk på hjelpecellen til venstre for den første raden, Tabell - Topptekst, og velg deretter Sett inn->Rad->Over.
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.
- Velg den nye raden, og i redigeringsprogrammet for egenskaper endrer du bakgrunnsfargen til hvit.
- 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.
- I Velg databinding oppretter du en ny kolonnebinding:
- På en ny rad, i Navn, skriver du denne teksten:
- Bruk standard datatype, Alle.
- I Uttrykksbygger skriver du dette aggregerte uttrykket:
- Bruk standardverdien for Aggreger på, ALLE. Denne verdien oppgir at funksjonen Total.count( ) returnerer antall rader i hele tabellen.
- 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
- Forhåndsvis rapporten. Rapporten viser antall kunder i begynnelsen av tabellen, som vist i Figur 8-12.
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.
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Slett dataelementet [CREDITLIMIT] fra detaljraden.
- Forhåndsvis rapporten. Den skal se ut som den som vises i Figur 8-13.
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.
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Velg cellen som inneholder gruppeoverskriften, som vist i Figur 8-14. Sørg for å velge cellen, og ikke dataelementet i cellen.
Figur 8-14 Gruppeoverskriftscellen valgt
- 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.
- 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.
- Forhåndsvis rapporten. Gruppeoverskriftene blir vist i den første raden i hver gruppe, som vist i Figur 8-15.
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.
- Velg Layout for å gå tilbake til layoutredigeringsprogrammet.
- Velg alle cellene i gruppebunntekstraden. Du velger flere celler ved å trykke på skifttasten og klikke.
- 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.
- 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.
- Forhåndsvis rapporten. Det blir vist en linje på slutten av hver gruppe, som vist i Figur 8-16.
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.
- Velg Fil->Vis rapport i web-visningsprogrammet.
Rapporten blir vist i rapportvisningsprogrammet.
- Velg knappen for innholdsfortegnelsen, det er knappen til venstre øverst i vinduet, for å vise innholdsfortegnelsen.
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.
- Gå tilbake til BIRT Report Designer.
- I layoutredigeringsprogrammet velger du tabellen, og deretter velger du flippen Grupper i redigeringsprogrammet for egenskaper.
- Dobbeltklikk på credit_group i listen over grupper.
Rediger gruppe viser egenskapene for gruppen. TOC-elementuttrykk er som standard definert til grupperingsfeltet, row["CREDITLIMIT"].
- 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.
- Velg OK.
- Forhåndsvis rapporten i rapportvisningsprogrammet for å verifisere endringene i innholdsfortegnelsen.
Innholdsfortegnelsen viser verdiområdene av kredittgrenser, som vist i
Figur 8-18.
Figur 8-18 Oppdatert innholdsfortegnelse


|