Självstudiekurs 1: Bygga en enkel listrapport
I det här avsnittet får du stegvisa instruktioner för hur du bygger en rapport med listor över kundnamn, telefonnummer och namn på kontaktpersoner. I rapporten används data från den exempeldatabas som medföljer BIRT Report Designer, Classic Models. I figur 1-1 visas en del av den färdiga rapporten.
Figur 1-1: Rapport med en lista över kundnamn, telefonnummer och namn på kontaktpersoner
I den här självstudiekursen utför du följande uppgifter:
Uppgift 1: Skapa ett nytt projekt
I Eclipse organiseras filerna per projekt. Du kan skapa ett enda projekt där du organiserar alla rapporter eller skapa flera projekt där du organiserar rapporterna efter kategorier. För varje projekt du skapar kommer en katalog att skapas i filsystemet i Eclipse.
Om du använder BIRT RCP Report Designer gäller inte den här uppgiften dig.
- Välj Arkiv -> Nytt -> Projekt. I figur 1-2 visas Nytt projekt med de typer av projekt som du kan skapa.
Figur: 1-2 Nytt projekt
- Expandera BIRT (Business Intelligence and Reporting Tools), välj Rapportprojekt och sedan Nästa.
- Under Nytt rapportprojekt, i Projektnamn, skriver du följande, enligt figur 1-3:
- Lägg till projektet genom att välja Slutför. Nu ser du projektet i navigeringsvyn. Se figur 1-4.
Figur 1-4: Ett projekt i navigeringsvyn
Uppgift 2: Skapa en ny rapport
Du kan skapa en rapport på följande sätt:
- Starta med en tom rapportdesign.
- Använda en fördefinierad rapportmall.
För varje mall finns en lathund med stegvisa instruktioner i BIRT Report Designer, som är till hjälp när du skapar rapporten.
I den här självstudiekursen börjar du med en tom rapportdesign.
- Välj Arkiv -> Ny -> Rapport. Ny Rapport visas. I figur 1-5 ser du det fönster som visas i BIRT Report Designer. Ny rapport är något annorlunda i BIRT RCP Report Designer.
Figur 1-5: Ny rapport i BIRT Report Designer
- I BIRT Report Designer, under Ange eller välj den överordnade mappen, väljer du det projekt du har skapat. Det här steget gäller endast den som använder BIRT Report Designer.
- Skriv följande text som filnamn:
- Välj Nästa. Under Ny rapport finns alternativ för hur du startar med en tom rapport och flera rapportmallar. Se figur 1-6.
Figur 1-6: Rapportmallar i Ny rapport
- Välj Tom rapport och sedan Slutför. Den nya rapporten visas i huvudfönstret. I det här fönstret visas layoutredigeraren. Se figur 1-7. I layoutredigeraren visas en tom rapportsida.
I resten av den här självstudiekursen finns detaljerade steg för hur du skapar kundrapporten.
Figur 1-7: Tom rapportdesign
Uppgift 3: Bygga en datakälla
Innan du börjar designa din rapport i layoutredigeraren bygger du en BIRT-datakälla så att du kan ansluta rapporten till en databas eller andra typer av datakällor. När du bygger en datakälla anger du drivrutinsklass, datakällnamn och annan anslutningsinformation, t.ex. användarnamn och lösenord. För den här självstudiekursen använder du exempeldatabasen, Classic Models, som redan är konfigurerad för användning med BIRT Report Designer. Du behöver inte ange anslutningsinformation för den här exempeldatabasen.
- Välj datautforskaren. Om du använder standardperspektivet för rapportdesign finns datautforskaren till vänster i layoutredigeraren, bredvid paletten. Se figur 1-8. Om den inte är öppen väljer du Fönster -> Visa vy -> Datautforskare.
Figur 1-8: Datautforskaren
- Högerklicka på Datakällor och välj Ny datakälla på sammanhangsmenyn. Ny datakälla visas med de typer av datakällor du kan skapa. Se figur 1-9.
Figur 1-9: Ny datakälla
- Välj Classic Models Inc. Sample Database i listan över datakällstyper. Använd standardnamnet på datakällan och välj Nästa. Anslutningsinformation om den nya datakällan visas.
- Välj Slutför. En ny datakälla skapas i BIRT Report Designer och ansluts till exempeldatabasen. Den visas inom Datakällor i datautforskaren. Se figur 1-10.
Figur 1-10: Datakällor i datautforskaren
Uppgift 4: Bygga en datauppsättning
Nu är du redo att bygga en datauppsättning. En datauppsättning identifierar vilka data som ska hämtas från datakällan.
Om din rapport till exempel ansluts till en JDBC-datakälla kan du använda en SQL SELECT-sats när du anger vilka data som ska hämtas.
- I datautforskaren högerklickar du på Datauppsättningar och väljer Ny datauppsättning på sammanhangsmenyn.
- I Ny datauppsättning, under Datauppsättningsnamn, anger du följande text. Se figur 1-11:
- Använd standardvärdena för övriga fält:
- I Datakälla visas namnet på den datakälla du skapade tidigare.
- I Datauppsättningstyp visas att datauppsättningen använder en SQL SELECT-fråga.
- Välj Nästa.
I Fråga visas information som hjälper dig att skapa en SQL-fråga. Under Tillgängliga alternativ visas alla tabeller i databasen Classic Models. Klicka på plustecknet (+) bredvid en tabell om du vill se kolumnerna i tabellen. I textområdet till höger i Redigera datauppsättning visas obligatoriska nyckelord för en SQL SELECT-sats:
- I textområdet skriver du följande SQL SELECT-sats och anger vilka data som ska hämtas:
Tabell- och kolumnnamn visas med versaler i datauppsättningsredigeraren, men du kan skriva namnen med gemener om du vill, eftersom SQL inte är skiftlägeskänsligt. Om du inte vill skriva frågan kan du dra kolumner och tabeller från Tillgängliga alternativ till textområdet.
Den SELECT-sats som du skapade, som visas i
figur 1-12, hämtar värden från kolumnerna CUSTOMERNAME, CONTACTLASTNAME, CONTACTFIRSTNAME, och PHONE i tabellen CUSTOMERS.
Figur 1-12: SQL SELECT-sats i Redigera datauppsättning
- Välj Slutför så sparas datauppsättningen. Redigera datauppsättning visas med de kolumner du angav i frågan och med alternativ för hur du redigerar datauppsättningen.
- Välj Förhandsgranska resultat och kontrollera att frågan är giltig och returnerar rätt data. Om du skrev SELECT-satsen på rätt sätt ska du se det resultat som visas i figur 1-13. Det är de datarader som frågan returnerar.
Figur 1-13: Datarader som returneras genom en SQL SELECT-sats
- Välj OK.
Uppgift 5: Skapa layout för rapporten
I den här proceduren infogar du element på rapportsidan så att data visas från den datauppsättning du skapade tidigare. Du börjar med att infoga ett tabellelement och infogar sedan dataelement i tabellen. Det är viktigt att förstå den funktionalitet du får med tabeller:
- Tabellen räknas stegvis genom alla datarader som en datauppsättning returnerar.
- På så sätt kan du enkelt placera data i rad- och kolumnformat.
- Välj Palett. Paletten visas mellan alla element som du kan placera i en rapport.
- Dra ett tabellelement från paletten och släpp det i rapporten i layoutredigeraren. I Infoga tabell uppmanas du att ange antalet kolumner och detaljrader som ska skapas för tabellen.
- Ange 3 kolumner och 1 detaljrad. Välj sedan OK. En tabell med tre kolumner och en detaljrad visas i layoutredigeraren. Nu är du redo att infoga data i tabellen.
- Välj datautforskaren.
- I datautforskaren expanderar du Datauppsättningar och sedan Customers. De kolumner som du angav i frågan visas under Customers.
- Dra CUSTOMERNAME från datautforskaren och släpp den i den första cellen i tabellens detaljrad. Se figur 1-14. I detaljraden visas huvuddata i rapporten. I den slutförda rapporten upprepas alla datarader från datauppsättningen i detaljraden.
Figur 1-14: Dra en kolumn från datautforskaren och släppa den i en tabellcell
En namngiven kolumn skapas i BIRT Report Designer och binds till datauppsättningsfältet. Välj Databindning. Se
figur 1-15 där databindningen visas.
Figur 1-15: En namngiven kolumn som är bunden till ett datauppsättningsfält
- Godkänn definitionen av databindningen genom att välja OK.
I layoutredigeraren ser du att tabellcellen där du släppte fältet CUSTOMERNAME innehåller ett dataelement där [CUSTOMERNAME] visas. Ovanför det här dataelementet finns ett etikettelement som har lagts till automatiskt i huvudet. I den här etiketten visas fältnamnet som statisk text. Det fungerar som kolumnrubrik. I
figur 1-16 visas data- och etikettelementen.
Figur 1-16: Data- och etikettelement i en tabell
- Dra PHONE från datautforskaren och släpp den i den andra cellen i detaljraden. Godkänn standarddatabindningen genom att välja OK.
- Dra CONTACTFIRSTNAME och släpp den i den tredje cellen i detaljraden. Godkänn standarddatabindningen genom att välja OK.
- Dra CONTACTLASTNAME och släpp den i den tredje cellen i detaljraden, under CONTACTFIRSTNAME. Godkänn standarddatabindningen genom att välja OK. Nu ska rapportsidan se ut som i figur 1-17.
Figur 1-17: Kund- och kontaktinformation som har lagts till i en tabell
- Välj Förhandsgranska, fliken längst ned i layoutredigeraren. BIRT Report Designer genererar rapporten och visar den i HTML-format. Se figur 1-18. Bläddra nedåt så att du ser hela rapporten. Du kan också förhandsgranska en rapport i PDF. Det gör du genom att välja Arkiv -> Visa rapport som PDF på huvudmenyn.
Som visas i
figur 1-18 är data korrekta, men de visas i slumpmässig ordning. Det är mer praktiskt att sortera data i bokstavsordning efter kundnamn. Det behövs också förbättringar av rapportens utseende.
Figur 1-18: Förhandsgranskning av rapportdata
Uppgift 6: Sortera data
När du först skapar och förhandsgranskar en rapport visas dataraderna i den ordning som frågan returnerar dem. Ordningen kan variera beroende på många faktorer, till exempel hur data fördes in i datakällan. I de flesta fall vill du förmodligen ändra visningsordningen för data i rapporten.
- Gå tillbaka till layoutredigeraren genom att välja Layout.
- Öppna egenskapsredigeraren vid behov. Om du använder standardperspektivet för rapportdesign finns egenskapsredigeraren under layoutredigeraren. Om den inte är öppen väljer du Fönster -> Visa vy -> Egenskapsredigerare.
- I layoutredigeraren väljer du tabellen genom att välja fliken Tabell längst ned till vänster. Fliken visas när du håller musen över området. I egenskapsredigeraren visas egenskaperna för tabellen. Se figur 1-19.
Figur 1-19: Egenskapsredigeraren
- Välj fliken Sortering.
- Välj Lägg till och skapa ett sorteringsuttryck. En rad viss under Sorteringsnyckel.
- Klicka i raden under Sorteringsnyckel, klicka på den pilknapp som visas och välj CUSTOMERNAME i listrutan.
- Använd standardvärdet Stigande för sorteringsordning. Se figur 1-20.
Figur 1-20: Stigande sorteringsordning
- Förhandsgranska rapporten. Sorterade data visas i stigande ordning efter kundnamn. Se figur 1-21.
Figur 1-21: Data sorterade efter kundnamn
Lägg märke till att namn med versaler visas överst i listan. BIRT sorterar strängdata efter UCS2-kodpunktvärden. I ASCII-baserade teckentabeller har versaler lägre kodpunktvärden än gemener. Därför visas versaler före gemener.
- Om du vill sortera kundnamn skiftberoende så att ANG Resellers visas efter American Souvenirs Inc., i stället för före, ändrar du uttrycket för sorteringsnyckel på sidan Sortera till följande uttryck:
I det här uttrycket används JavaScript-funktionen toUpperCase( ) så att alla kundnamnsvärden ändras till versaler innan de sorteras. Namn i JavaScript-funktionen är skiftlägeskänsliga, så du måste skriva toUpperCase( ) exakt så som visas. Referenser till kolumnnamn är också skiftlägeskänsliga. I det här uttrycket är row["CUSTOMERNAME"] det namn du ska använda. Om du till exempel skriver row["customername"] visas ett fel i BIRT Report Designer när du kör rapporten. Du kan kontrollera skiftläget för en kolumn genom att titta på det namn som visas i datautforskaren.
- Förhandsgranska rapporten. Kundnamnen visas i annan ordning. Namn med versaler visas inte längre överst i listan.
Uppgift 7: Formatera rapporten
När du nu har bekräftat att rätt data visas i rätt ordning i rapporten kan du börja tänka på att förbättra utseendet på rapporten. Du utför följande uppgifter i det här avsnittet:
- Redigera text i kolumnrubriker.
- Formatera kolumnrubriker så att de kan särskiljas från datarader.
- Visa kontaktpersonernas för- och efternamn på samma rad.
- Öka mellanrummet mellan rader.
Redigera kolumnrubrikerna
- Gå tillbaka till layoutredigeraren genom att välja Layout.
- Dubbelklicka på den första kolumnrubriken, CUSTOMERNAME. Kolunrubriken är tabellens första rad, huvudet.
- Börja skriva så ersätts all den markerade texten och tryck på Enter när du är klar. Om du vill redigera texten klickar du en gång så att texten avmarkeras och placerar sedan markören där du vill ta bort eller lägga till tecken.
Ersätt CUSTOMERNAME med följande text:
- Upprepa steg 2 och 3 så att du kan ändra den andra och tredje kolumnrubriken till följande text:
Figur 1-22: Reviderade kolumnrubriker i en rapportdesign
Formatera kolumnrubrikerna
När du ska formatera ett rapportelement anger du egenskaper för det. Det kan du göra på två sätt:
- Ange ett elements egenskaper genom egenskapsredigeraren.
- Definiera ett format som innehåller de egenskaper du vill använda och tillämpa formatet på ett element. Använd den här metoden om du vill definiera formategenskaper en gång och tillämpa dem på flera element.
I den här proceduren använder du den första metoden till att ange kolumnrubrikerna som fetstilta, och den andra metoden till att lägga till färg på rubrikraden.
- Så här anger du kolumnrubrikerna som fetstilta med hjälp av egenskapsredigeraren:
- Markera alla kolumnrubriker. Du markerar flera element genom att trycka på Skift medan du klickar på varje element. I egenskapsredigeraren visas egenskaperna för de valda elementen. Se figur 1-23.
Figur 1-23: Egenskaper för valda element i egenskapsredigeraren
- Välj B så formateras kolumnrubrikerna som fetstilt text.
- Om du vill avmarkera kolumnrubrikerna klickar du i det vita utrymmet utanför tabellen.
- Så här lägger du till en bakgrundsfärg på rubrikraden med hjälp av ett format:
- På huvudmenyn väljer du Element -> Nytt format.
Nytt format visas. Se
figur 1-24. Till vänster visas egenskapskategorierna. Till höger visas egenskaperna för den kategori du väljer.
Figur 1-24: Nytt format
- För Anpassat format anger du följande formatnamn:
- Välj Bakgrund i listan med egenskapskategorier. I Nytt format visas de bakgrundsegenskaper som du kan ange.
- Ange en färg för egenskapen Bakgrundsfärg, på något av följande sätt:
- Välj knappen bredvid egenskapen och välj sedan en färg på färgpaletten.
- Välj en färg i listrutan.
Välj OK.
- I layoutredigeraren väljer du tabellen genom att välja fliken Tabell längst ned till vänster. Fliken visas när du håller musen över området. Celler med stödlinjer visas på överkanten och vänsterkanten av tabellen. Se figur 1-25.
Figur 1-25: Celler med stödlinjer i överkanten och vänsterkanten av en tabell
- Välj stödlinjecellen bredvid rubrikraden. I egenskapsredigeraren visas egenskaperna för den valda raden.
- Välj Egenskaper och sedan Allmänt så visas allmänna egenskaper för raden.
- Tillämpa det format du just skapade genom att välja table_header_row i listrutan bredvid Format. BIRT Report Designer tillämpar formatet på rubrikraden så att den visas med färg.
- Förhandsgranska rapporten. Nu ska rapporten se ut som i figur 1-26.
Figur 1-26: Förhandsgranskning av rapport, med format för rubrikraden
Hittills är den största förbättringen att rubrikerna är tydligt definierade.
Visa för- och efternamn på samma rad
När du placerar flera element i en enda cell skapas element på blocknivå i BIRT Report Designer. Om du är van vid HTML vet du att varje blockelement börjar på ny rad. Om du vill se flera element på samma rad måste du ange dem som "inline-element". Alternativt kan du sammanfoga värdena för förnamn och efternamn så att de visas i ett enda dataelement, enligt vad som beskrivs i den här proceduren.
- Gå tillbaka till layoutredigeraren genom att välja Layout.
- Ta bort det dataelement som visar kontaktpersonens efternamn.
- Dubbelklicka på det dataelement som visar kontaktpersonens förnamn.
I Välj databindning visas alla databindningar som används i rapporten. En bockmarkering bredvid CONTACTFIRSTNAME visar vilken databindning som används av det valda dataelementet.
- Klicka i den cell där uttrycket dataSetRow["CONTACTFIRSTNAME"] och välj sedan bläddringsknappen (...).
I Uttrycksassistenten visas följande uttryck i textområdet överst i fönstret:
- Sammanfoga för- och efternamn med hjälp av följande uttryck:
I
figur 1-27 visas uttrycket i Uttrycksassistenten. De tomma citattecknen (" ") innebär att ett mellanrum läggs till mellan förnamnet och efternamnet. Du kan skriva uttrycket i textområdet eller dubbelklicka på ett objekt längst ned till höger i fönstret om du vill infoga det i uttrycket.
Figur 1-27: Sammanfogade data i Uttrycksassistenten
- Välj OK så stängs Uttrycksassistenten och välj sedan OK i Välj databindning så sparas det ändrade uttrycket.
- Förhandsgranska rapporten. Nu ska rapporten se ut som i figur 1-28.
Figur 1-28: Förhandsgranskning av rapport, med sammanfogade kontaktnamn
Öka mellanrummet mellan rader.
I standardlayouten läggs ett minsta mellanrum till mellan tabellraderna. I allmänhet vill du justera mellanrummet mellan raderna.
- Gå tillbaka till layoutredigeraren genom att välja Layout.
- Markera alla cellerna i detaljraden, den mittersta raden. Du kan välja flera celler genom att skift-klicka. Var noggrann med att bara markera cellerna, inte dataelementen i cellerna. En ruta visas runt de markerade cellerna. Se figur 1-29.
Figur 1-29: Markerade celler i layoutredigeraren
I egenskapsredigeraren visas egenskaperna för cellerna. Den rubrik som visas i egenskapsredigeraren visar vilken typ av element som du markerar, så vad du bör se är Egenskapsredigerare - Cell.
- Välj Ifyllning. I egenskapsredigeraren visas ifyllningsegenskaperna. Med hjälp av de här egenskaperna kan du ange hur stort mellanrum som ska läggas till ovanför, under, till vänster och till höger om elementet.
- Ange 12 punkter för Ifyllning - Ovanför.
Nu kanske du undrar varför du inte bara kunde markera raden och justera radavståndet i stället för att markera de enskilda cellerna i raden. BIRT Report Designer hanterar inte radifyllning eftersom vissa webbläsare inte har den funktionen.
- Förhandsgranska rapporten. Nu ska rapporten se ut som i figur 1-30. Mellanrummet har ökat mellan dataraderna.
Figur 1-30: Förhandsgranskning av rapport, med radavstånd
Uppgift 8: Skapa en rapporttitel
Nu återstår bara att ge rapporten en titel. Du skapar en titel med ett etikettelement, ett textelement eller ett dataelement:
- Etikettelementet passar för kortfattad statisk text, till exempel kolumnrubriker.
- Dataelementet passar för visning av dynamiska värden från ett datauppsättningsfält eller ett beräknat fält.
- Textelementet passat för text på flera rader som innehåller olika formatering eller olika dynamiska värden.
I den här proceduren använder du ett textelement och HTML-märkord till att formatera texten. Lägg märke till att du inte behöver använda HTML för att skapa formaterad text. Men om du är van vid HTML eller webbdesign kanske du föredrar att använda HTML till att skapa block av formaterad text.
- Gå tillbaka till layoutredigeraren genom att välja Layout.
- Välj Palett.
- Dra textelementet från paletten och släpp det ovanför tabellen.
- I Redigera textobjekt väljer du HTML/dynamisk text i listrutan där Oformaterad text visas.
När du väljer HTML eller dynamisk text kan du bädda in HTML-märkord eller CSS-egenskaper i texten. Du kan skriva märkorden eller infoga vanliga HTML-märkord som tillhandahålls i textredigeraren.
- Välj OK och förhandsgranska rapporten. Nu ska rapporten se ut som i figur 1-32.
Figur 1-32: Förhandsgranskning av rapport, med formaterad rapporttitel
Som du ser kan du göra följande när du använder textelement med inbäddad HTML:
- Använda olika formatering för varje rad i ett textblock med flera rader.
- Infoga dynamiska värden, t.ex. dagens datum.
Alternativt kan du använda:
- Två etikettelement, så att första och andra raden visas med statisk text.
- Ett dataelement, så att tredje raden visas med dynamiskt värde.
Nästa steg
Nu har du byggt din första rapport och arbetat med några av de grundläggande verktygen och funktionerna i BIRT Report Designer. Det finns många fler uppgifter som du kan utföra om du vill skapa mer avancerade rapporter. Vissa av de uppgifterna, som beskrivs i andra kapitel i den här boken, är:
- Ansluta till en egen datakälla
- Skapa diagram
- Skapa rapportparametrar för användarindata
- Bygga rapporter som innehåller delrapporter
- Formatera rapportelement baserade på villkor
- Dölja rapporter baserat på villkor
- Lägga till hyperlänkar i rapporten till webbplatser eller mellan olika rapportavsnitt
