Zelfstudieprogramma 3: Rapport samenstellen met subrapporten naast elkaar
Dit gedeelte bevat stapsgewijze instructies voor het opstellen van een rapport waarmee een lijst met klanten wordt afgebeeld. Voor elke klant beeldt het rapport order- en betalingsgegevens af. De ordergegevens en betalingsgegevens bevinden zich in afzonderlijke subrapporten die naast elkaar worden afgebeeld. Het klantrapport is het hoofdrapport en wordt ook wel het buitenste rapport genoemd en de subrapporten Orders en Betalingen zijn de detailrapporten die ook wel de binnenste rapporten worden genoemd.
Elk rapport heeft toegang tot gegevens vanuit een andere tabel in de voorbeelddatabase, Classic Models. Voor het klantrapport worden gegevens uit de tabel Customers gebruikt. Voor het subrapport Orders worden gegevens uit de tabel Orders gebruikt. Voor het subrapport Betalingen worden gegevens uit de tabel Payments gebruikt.
De rapporten worden met een gemeenschappelijk veld, CUSTOMERNUMBER, aan elkaar gekoppeld. Met de waarde van het koppelveld in het hoofdrapport wordt bepaald welke gegevens in de detailrapporten verschijnen. Als het klantnummer in het hoofdrapport 173 is, worden in de detailrapporten de order- en betalingsgegevens afgebeeld voor de klant wiens ID 173 is.
Afbeelding 13-1 beeldt een gedeelte van het voltooide rapport af
Afbeelding 13-1 Hoofdrapport Klanten met de subrapporten Orders en Betalingen
In dit zelfstudieprogramma voert u de volgende taken uit:
Taak 1: Een nieuw rapport maken
Als u BIRT-rapportontwerper gebruikt, wordt voor deze taak verondersteld dat u al een project voor uw rapporten hebt gemaakt. Als u de BIRT RCP-rapportontwerper gebruikt, is een project niet vereist.
- Kies Bestand->Nieuw->Rapport.
- Op de pagina Nieuw rapport selecteert u een project waarin u het rapport moet opslaan.
- Typ de volgende tekst als de bestandsnaam:
- Kies Volgende.
- Selecteer Leeg rapport en kies vervolgens Voltooien. Het nieuwe rapport verschijnt in de layout-editor.
Taak 2: Gegevensbron bouwen
Voordat u begint met het ontwerpen van uw rapport in de layout-editor, maakt u een gegevensbron om uw rapport te verbinden met de database Classic Models.
- Kies Gegevensverkenner
- Klik met de rechtermuisknop
op Gegevensbronnen en kies de optie Nieuwe gegevensbron in het voorgrondmenu.
- Selecteer de voorbeelddatabase Classic Models Inc. uit de lijst met gegevensbronnen, gebruik de standaard-gegevensbronnaam en kies vervolgens Volgende.Er verschijnen verbindingsgegevens over de nieuwe gegevensbron.
- Klik op Voltooien. De BIRT-rapportontwerper maakt een nieuwe gegevensbron die verbinding maakt met de voorbeelddatabase. Het verschijnt in de gegevensbronnen in de Gegevensverkenner.
Taak 3: Gegevensset bouwen voor het klantenrapport
In deze procedure maakt u een gegevensset om aan te geven welke gegevens uit de tabel Customers moeten worden geëxtraheerd. Het klantenrapport dat u later maakt, gebruikt deze gegevensset.
- Klik in de Gegevensverkenner met de rechtermuisknop op Gegevenssets en kies Nieuwe gegevensset.
- Op de pagina Nieuwe gegevensset typt u de volgende tekst voor een gegevenssetnaam:
- Gebruik de standaardwaarden voor de andere velden:
- Gegevensbron toont de naam van de gegevensbron die u eerder hebt gemaakt.
- Gegevenssettype geeft aan dat de gegevensset een SQL SELECT-query gebruikt.
- Kies Volgende. Query beeldt de informatie af die u kunt gebruiken om een SQL-query te maken. Het tekstgebied aan de rechterkant toont de vereiste sleutelwoorden van een SQL SELECT-instructie.
- Vouw de tabel CUSTOMERS uit. De kolommen in de tabel Customers verschijnen.
- Gebruik de volgende SQL SELECT-instructie om aan te geven welke gegevens moeten worden opgehaald. U kunt de kolom- en tabelnamen typen of u kunt deze vanaf de linkerkant slepen naar de gewenste locatie in de SELECT-instructie.
Deze instructie die u hebt gemaakt en die wordt weergegeven in
Afbeelding 13-2 haalt waarden op uit de kolommen CUSTOMERNAME en CUSTOMERNUMBER in de tabel CUSTOMERS.
Afbeelding 13-2 Query
- Kies Voltooien om de gegevensset op te slaan. Gegevensset bewerken geeft de kolommen weer die in de query zijn opgegeven en biedt opties voor het bewerken van de gegevensset.
- Kies Preview bekijken van resultaten om te bevestigen dat de query geldig is en dat de juiste gegevens worden opgehaald. Als u de SELECT-instructie op de juiste manier hebt gemaakt, ziet u de resultaten die zijn weergegeven in Afbeelding 13-3. Dit zijn de gegevensrijen die door de query worden opgehaald.
Afbeelding 13-3 Gegevenspreview
- Kies OK.
Taak 4: Gegevensset bouwen voor het subrapport Orders
In deze procedure maakt u een gegevensset om aan te geven welke gegevens uit de tabel Orders moeten worden geëxtraheerd. Het rapport Orders dat u later maakt, gebruikt deze gegevensset.
- Klik in de Gegevensverkenner met de rechtermuisknop op Gegevenssets en kies Nieuwe gegevensset in het contextmenu.
- Op de pagina Nieuwe gegevensset typt u de volgende tekst voor een gegevenssetnaam:
- Gebruik de standaardwaarden voor de andere velden en kies vervolgens Volgende,
- Op de pagina Query klikt u op de tabel Orders om de kolommen in de tabel af te beelden.
- Gebruik de volgende SQL SELECT-instructie om aan te geven welke gegevens moeten worden opgehaald:
Met deze instructie worden de kolommen ORDERNUMBER en ORDERDATE uit de tabel Orders geselecteerd. De WHERE-clausule heeft een parametermerkteken voor de waarde CUSTOMERNUMBER. Als het rapport wordt uitgevoerd, haalt het subrapport Orders de huidige waarde CUSTOMERNUMBER op uit het klantrapport.
- Kies Voltooien om de gegevensset op te slaan. Gegevensset bewerken geeft de kolommen weer die in de query zijn opgegeven en biedt opties voor het bewerken van de gegevensset.
- Maak een gegevenssetparameter om de waarde CUSTOMERNUMBER op te geven in de WHERE-clausule:
- Kies Parameters aan de linkerkant van het venster. In Gegevensset bewerken wordt nu de
parameterinformatie afgebeeld.
- Geef de volgende waarden op in de eerste regel van de tabel:
- Naam: CustID
- Gegevenstype: Integer
- Richting: Input
- Standaardwaarde: 103
103 is een van de waarden in de kolom CUSTOMERNUMBER. Een standaardwaarde is vereist als de BIRT-rapportontwerper de query voor testdoeleinden wil uitvoeren.
Gegevensset bewerken moet lijken op hetgeen is afgebeeld in
Afbeelding 13-4.
Afbeelding 13-4 Parameterdefinitie in het subrapport Orders
- Kies Preview bekijken van resultaten om te bevestigen dat de query geldig is en dat de juiste gegevens worden opgehaald. Als u de SELECT-instructie en de gegevenssetparameter op de juiste manier heb gemaakt, ziet u de resultaten die zijn weergegeven in Afbeelding 13-5. Dit zijn de gegevensrijen die door de query worden opgehaald voor klantnummer 103.
Afbeelding 13-5 Gegevenspreview voor het subrapport Orders
- Klik op OK om de wijzigingen in de gegevensset op te slaan.
Taak 5: Gegevensset bouwen voor het subrapport Betalingen
In deze procedure maakt u een gegevensset om aan te geven welke gegevens uit de tabel Payments moeten worden geëxtraheerd. Het rapport Betalingen dat u later maakt, gebruikt deze gegevensset.
- Klik in de Gegevensverkenner met de rechtermuisknop op Gegevenssets en kies Nieuwe gegevensset in het contextmenu.
- Op de pagina Nieuwe gegevensset typt u de volgende tekst voor een gegevenssetnaam:
- Gebruik de standaardwaarden voor de andere velden en kies vervolgens Volgende,
- Op de pagina Query klikt u op de tabel Payments om de kolommen in de tabel af te beelden.
- Gebruik de volgende SQL SELECT-instructie om aan te geven welke gegevens moeten worden opgehaald:
Met deze instructie worden de kolommen PAYMENTDATE, CHECKNUMBER en AMOUNT geselecteerd uit de tabel Payments. De WHERE-clausule heeft een parametermerkteken voor de waarde CUSTOMERNUMBER. Als het rapport wordt uitgevoerd, haalt het subrapport Betalingen de huidige waarde CUSTOMERNUMBER op uit het klantrapport.
- Kies Voltooien om de gegevensset op te slaan. Gegevensset bewerken geeft de kolommen weer die in de query zijn opgegeven en biedt opties voor het bewerken van de gegevensset.
- Maak een gegevenssetparameter om de waarde CUSTOMERNUMBER op te geven voor de WHERE-clausule:
- Kies Parameters. In Gegevensset bewerken wordt nu de
parameterinformatie afgebeeld.
- Geef de volgende waarden op in de eerste regel van de tabel:
- Naam: CustID
- Gegevenstype: Integer
- Richting: Input
- Standaardwaarde: 103
- Kies Preview bekijken van resultaten om te bevestigen dat de query geldig is en dat de juiste gegevens worden opgehaald. Als u de SELECT-instructie en de gegevenssetparameter op de juiste manier heb gemaakt, ziet u de resultaten die zijn weergegeven in Afbeelding 13-6. Dit zijn de gegevensrijen die door de query worden opgehaald voor klantnummer 103.
Afbeelding 13-6 Gegevenspreview voor het subrapport Betalingen
- Klik op OK om de wijzigingen in de gegevensset op te slaan.
Taak 6: Het hoofdrapport Klanten maken
U gebruikt een lijstelement om het hoofdrapport te maken en de subrapporten Orders en Betalingen in dit rapport te organiseren. De lijst wordt herhaald in de klantengegevensrijen en maakt de bijbehorende subrapporten Orders en Betalingen voor elk record. In het belang van de eenvoud beeldt het klantrapport alleen de klantnaam af. Daarnaast kunnen natuurlijk aanvullende gegevens worden afgebeeld, zoals het klantadres, telefoonnummer en kredietlimiet.
- Kies Palet.
- Sleep een lijstelement van het palet en zet het neer in het rapport. Het lijstelement verschijnt in het rapport, zoals in Afbeelding 13-7.
Afbeelding 13-7 Lijstelement
- Koppel of verbind de lijst met de gegevensset Customers:
- In de eigenschappeneditor kiest u het tabblad Binding.
- Bij Gegevensset selecteert u Customers uit de vervolgkeuzelijst.
- Kies Gegevensverkenner, klik op Gegevenssets en klik vervolgens op Customers. De kolommen die u hebt opgegeven in de query verschijnen onder Customers.
- Sleep CUSTOMERNAME uit de Gegevensverkenner en zet deze neer in het detailgebied van de lijst. De BIRT-rapportontwerper maakt een benoemde kolom die met het gegevenssetveld is verbonden. Deze kolombinding wordt afgebeeld in Gegevensbinding selecteren.
- Klik op OK om de standaard-kolombinding te accepteren.In de layout-editor wordt in de lijst het veld weergegeven dat u hebt toegevoegd, zoals in Afbeelding 13-8.
Afbeelding 13-8 Gegevenssetveld in het lijstelement
- Kies Preview om een preview van het rapport te bekijken.Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-9.Het rapport geeft alle klantnamen weer in de volgorde waarin deze door de query worden opgehaald.
Afbeelding 13-9 Gegevenspreview voor het hoofdrapport
- Sorteer de klantnamen in oplopende volgorde:
- Kies Layout om terug te gaan naar de layout-editor.
- In de layout-editor, selecteert u het lijstelement. Houd de muisaanwijzer boven de linkerbenedenhoek tot het tabblad Lijst verschijnt en selecteer dat tabblad.
- In de eigenschappeneditor kiest u het tabblad Sorteren.
- Op de pagina Sorteren kiest u Toevoegen om een sorteerexpressie te maken. Er verschijnt een rij onder Sorteren op.
- Klik in het gebied onder Sorteersleutel en selecteer vervolgens de pijlknop die verschijnt en selecteer CUSTOMERNAME uit de vervolgkeuzelijst.
- Gebruik de standaardwaarde Oplopend voor de Sorteerrichting, zoals in Afbeelding 13-10.
Afbeelding 13-10 Sorteerexpressie
- Open de preview van het
rapport. Klantnamen verschijnen in oplopende volgorde.
Taak 7: Subrapport Orders maken
Het subrapport Orders geeft de orders voor elke klant weer in een rij- en een kolomindeling. Het beeldt het ordernummer en de datum van elk order af. Gebruik het tabelelement om dit te herhalen in de gegevenssetrijen van de orders en deze af te beelden in een rij- en een kolomindeling.
- Kies Layout om terug te gaan naar de layout-editor.
- Sleep een tabelelement van het palet en zet dit neer onder het gegevenselement [CUSTOMERNAME] in het detailgebied. Bij Tabel invoegen moet u het aantal kolommen en detailrijen opgeven die voor de tabel moeten worden gemaakt.
- Geef aan dat u 2 kolommen en 1 detailrij wilt maken en kies vervolgens OK. Er verschijnt een tabel met twee kolommen en een detailrij in de layout-editor.
- Verbind de tabel met de gegevensset Orders:
- In de eigenschappeneditor kiest u Binding.
- Bij Gegevensset selecteert u Orders uit de vervolgkeuzelijst.
- Kies Gegevensverkenner, klik op Gegevenssets en klik vervolgens op Orders. De kolommen die u hebt opgegeven in de query verschijnen onder Orders.
- Sleep ORDERNUMBER uit de Gegevensverkenner en zet deze neer in de eerste cel van de detailrij van de tabel. De BIRT-rapportontwerper maakt een benoemde kolom die met het gegevenssetveld is verbonden. Deze kolombinding wordt afgebeeld in Gegevensbinding selecteren.
- Klik op OK om de standaard-kolombinding te accepteren.
In de layout-editor bevat de tabelcel waarin u het gegevenssetveld hebt neergezet een gegevenselement dat [ORDERNUMBER] weergeeft. Boven dit gegevenselement bevindt zich een labelelement dat de layout-editor automatisch aan de koptekstrij toevoegt. In dit label wordt de veldnaam weergegeven als statische tekst en dient dit label als kolomkop.
- Sleep ORDERDATE uit de Gegevensverkenner en zet deze neer in de tweede cel van de detailrij. Klik op OK om de standaard-kolombinding te accepteren. De rapportpagina moet lijken op de pagina die is afgebeeld in Afbeelding 13-11.
Afbeelding 13-11 Rapportontwerp bevat het subrapport Orders
- Sorteer de orderrijen op ordernummer:
- Selecteer de tabel Orders.
- In de eigenschappeneditor kiest u Sorteren.
- Op de pagina Sorteren kiest u Toevoegen om een sorteerexpressie te maken. Er verschijnt een rij onder Sorteren op.
- Klik in het gebied onder Sorteersleutel en selecteer vervolgens de pijlknop die verschijnt en selecteer ORDERNUMBER uit de vervolgkeuzelijst.
- Gebruik de standaardwaarde Oplopend voor de Sorteerrichting.
- Open de preview van het
rapport.
Afbeelding 13-12 Preview van het rapport beeldt herhaalde orderrecords af
Dezelfde orderrecords verschijnen voor elke klant, omdat u de standaardwaarde 103 hebt opgegeven voor customerNumber toen u de gegevenssetparameter hebt gemaakt. Vanwege deze standaardwaarde beeldt het subrapport Orders altijd de orderrecords af voor klant 103.
De oplossing hiervoor is om de waarde van de parameter CustID dynamisch bij te werken elke keer dat de klantrij in het hoofdrapport wordt gewijzigd. Deze procedure wordt beschreven in de volgende taak.
Taak 8: Subrapport Orders koppelen aan het hoofdrapport Klanten
U koppelt het subrapport Orders aan het hoofdrapport Customers door de parameter CustID te verbinden met het gegevenssetveld CUSTOMERNUMBER in het klantenrapport. Elke keer dat het klantenrapport een nieuwe klantrij bereikt, wordt de parameter CustID bijgewerkt met de nieuwe waarde CUSTOMERNUMBER.
Voordat u de parameter CustID met het gegevenssetveld CUSTOMERNUMBER kunt verbinden, moet u een kolombinding maken en verbinden met het gegevenssetveld. Parameters hebben geen directe toegang tot gegevenssetvelden.
- Kies Layout om terug te gaan naar de layout-editor.
- Maak een kolombinding die een verbinding maakt met het gegevenssetveld CUSTOMERNUMBER:
- Selecteer de lijst.
- In de eigenschappeneditor kiest u Binding.
- Kies Toevoegen op de pagina Binding.
- Bij Expressie opbouwen, kiest u Beschikbare gegevenssets, kiest u Customers en dubbelklikt u op CUSTOMERNUMBER. Bij Expressie opbouwen wordt de expressie, dataSetRow["CUSTOMERNUMBER"] afgebeeld, zoals in Afbeelding 13-13.
Afbeelding 13-13 Expressie opbouwen beeldt de kolombindingexpressie af
- Kies OK. De nieuwe kolombinding verschijnt op de bindingpagina van de eigenschappeneditor waarbij de kolomnaam is geaccentueerd.
- Vervang de naam Nieuwe binding door de volgende naam:
- Selecteer de tabel Orders.
- In de eigenschappeneditor kiest u Binding.
- Kies Parameterbinding van gegevensset op de pagina Binding. Parameterbinding van gegevensset beeldt de parameter CustID af, zoals in Afbeelding 13-14. De waarde wordt ingesteld op de standaardwaarde 103, die u hebt opgegeven toen u de gegevenssetparameter hebt gemaakt.
Afbeelding 13-14 Parameterbinding van gegevensset voor de tabel Orders
- Wijzig de parameterwaarde in het veld CUSTOMERNUMBER in het rapport Customers:
- Klik op het veld Waarde, en klik op
de knop rechts ervan.
Expressie opbouwen wordt afgebeeld.
- Bij Expressie opbouwen kiest u Beschikbare kolombindingen, kiest u Lijst en dubbelklikt u vervolgens op CUSTOMER_NUMBER. Bij Expressie opbouwen wordt de expressie
row["CUSTOMER_NUMBER"] afgebeeld, zoals in Afbeelding 13-15.
Afbeelding 13-15 Het veld CUSTOMERNUMBER in de Expressiebuilder
- Klik op OK om de expressie op te slaan. De pagina Parameterbinding van gegevensset beeldt de nieuwe waarde row["CUSTOMER_NUMBER"] af voor de parameter CustID.
- Klik op OK om de gewijzigde gegevenssetparameterbinding op te slaan.
- Bekijk een preview van het rapport dat moet lijken op het rapport dat wordt afgebeeld in Afbeelding 13-16.
Afbeelding 13-16 Preview van het rapport beeldt de juiste ordergegevens af.
Nu verschijnen er verschillende orderrecords voor verschillende klanten. Niet alle klanten hebben orderrecords. Om alleen klanten af te beelden die orders hebben wijzigt u de query voor het klantenrapport. Deze taak wordt later beschreven in
Taak 11: "Alleen klanten met orders of betalingen afbeelden"
Taak 9: Het subrapport Betalingen maken
Het subrapport Betalingen beeldt in een rij- en kolomindeling de betalingen af die door elke klant zijn gedaan. In het rapport worden de betalingsdatum, het chequenummer en het bedrag van elke order afgebeeld. Gebruik een tabelelement om dit te herhalen in de gegevenssetrijen van de betalingen en deze af te beelden in een rij- en een kolomindeling.
- Kies Layout om terug te gaan naar de layout-editor.
- Sleep een tabelelement van het palet en zet dit neer onder het subrapport Orders in het detailgebied. Bij Tabel invoegen moet u het aantal kolommen en detailrijen opgeven die voor de tabel moeten worden gemaakt.
- Geef aan dat u 3 kolommen en 1 detailrij wilt maken en kies vervolgens OK. Er verschijnt een tabel met drie kolommen en een detailrij in de layout-editor.
- Verbind de tabel met de gegevensset Payments:
- In de eigenschappeneditor kiest u Binding.
- Bij Gegevensset selecteert u Payments uit de vervolgkeuzelijst.
- Kies Gegevensverkenner, klik op Gegevenssets en klik vervolgens op Payments. De kolommen die u hebt opgegeven in de query verschijnen onder Payments.
- Sleep de volgende velden uit de Gegevensverkenner en zet deze neer in de eerste, tweede en derde cel in de detailrij van de tabel. Klik op OK om de standaard-kolombindingen voor alle velden te accepteren.
- PAYMENTDATE
- CHECKNUMBER
- AMOUNT
Afbeelding 13-17 Rapportontwerp bevat het subrapport Betalingen
In de tabel worden de gegevenssetvelden weergegeven die u hebt toegevoegd. Ook worden de labels weergegeven die de layout-editor automatisch aan de koptekstrij heeft toegevoegd. In de labels worden de veldnamen als statische tekst afgebeeld en de labels dienen als kolomkoppen.
- Sorteer de betalingsrijen op betalingsdatum.
- Selecteer de tabel Payments.
- In de eigenschappeneditor kiest u Sorteren.
- Op de pagina Sorteren kiest u Toevoegen om een sorteerexpressie te maken. Er verschijnt een rij onder Sorteren op.
- Klik onder Sorteersleutel en selecteer de pijlknop die verschijnt en selecteer PAYMENTDATE uit de vervolgkeuzelijst.
- Gebruik de standaardwaarde Oplopend voor de Sorteerrichting.
- Open de preview van het
rapport. Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-18.
Afbeelding 13-18 Rapportpreview beeldt herhaalde betalingsrecords af
Net als in het subrapport Orders toen u dit rapport voor het eerst had gemaakt, worden dezelfde betalingsrecords herhaald voor elke klant, omdat u de standaardwaarde 103 hebt opgegeven voor customerNumber toen u de parameter CustID hebt gemaakt voor de gegevensset Payments. Vanwege deze standaardwaarde beeldt het subrapport Betalingen altijd de betalingsrecords af voor klant 103.
Net zoals u dit hebt gedaan voor het subrapport Orders, moet u de waarde van de parameter CustID dynamisch bijwerken voor elke klant in het hoofdrapport.
Taak 10: Subrapport Betalingen koppelen aan het hoofdrapport Klanten
U koppelt het subrapport Betalingen aan het hoofdrapport Customers door de parameter CustID te verbinden met het veld CUSTOMERNUMBER in het klantenrapport.
- Kies Layout om terug te gaan naar de layout-editor.
- Selecteer de tabel Payments.
- In de eigenschappeneditor kiest u het tabblad Binding.
- Kies Parameterbinding van gegevensset op de pagina Binding. Parameterbinding van gegevensset beeldt de parameter CustID af. De waarde wordt ingesteld op de standaardwaarde 103, die u hebt opgegeven toen u de gegevenssetparameter hebt gemaakt.
- Wijzig de parameterwaarde in het veld CUSTOMERNUMBER in het rapport Customers:
- Klik op het veld Waarde, en klik op de knop die aan de rechterkant verschijnt.
- Bij Expressie opbouwen kiest u Beschikbare kolombindingen, kiest u Lijst en dubbelklikt u vervolgens op CUSTOMER_NUMBER. Bij Expressie opbouwen wordt de expressie row["CUSTOMER_NUMBER"] afgebeeld.
- Klik op OK om de expressie op te slaan. De pagina Parameterbinding van gegevensset beeldt de nieuwe waarde row["CUSTOMER_NUMBER"] af voor de parameter CustID.
- Klik op OK om de gewijzigde gegevenssetparameterbinding op te slaan.
- Open de preview van het
rapport. Nu beeldt het rapport verschillende betalingsrecords af voor verschillende klanten. Niet alle klanten hebben betalingsrecords. Om alleen klanten af te beelden die betalingen of orders hebben wijzigt u de query voor het klantenrapport.
Taak 11: Alleen klanten met bestellingen of betalingen afbeelden
De database bevat klanten die geen orders of betalingen hebben. De query voor het klantenrapport haalt alle klanten op. Als
u het rapport uitvoert, zijn er klantrijen waarin alleen de kolomkoppen voor de orders en
betalingstabellen zijn te zien, zoals in Afbeelding 13-19.
Afbeelding 13-19 Rapport beeldt geen order- of betalingsgegevens af voor een klant
U kunt klanten uitsluiten die geen orders of betalingen hebben door de query voor het rapport Klanten te wijzigen.
- Kies Layout om terug te gaan naar de layout-editor.
- Klik in de Gegevensverkenner op Gegevenssets, klik met de rechtermuisknop op Customers en kies vervolgens Bewerken.
- Voeg de volgende SQL-regels toe aan het einde van de bestaande query.
De WHERE EXISTS-clausule controleert de tabellen Orders en Payments op customerNumber-waarden die overeenkomen met de customerNumber-waarden in de tabel Customers. Alleen rijen met overeenkomende customerNumber-waarden zijn geselecteerd. De volledige query moet lijken op de query die wordt afgebeeld in
Afbeelding 13-20.
Afbeelding 13-20 WHERE EXISTS-clausule in Gegevensset bewerken
- Kies Preview bekijken van resultaten om te controleren of de query rijen ophaalt en kies vervolgens OK.
- Open de preview van het
rapport. Blader verder in het rapport om de uitvoer te controleren. Het rapport beeldt geen klanten meer af die geen orders of betalingen hebben.
Taak 12: Subrapporten naast elkaar afbeelden
Nu de juiste gegevens in de subrapporten worden afgebeeld, kunt u uw aandacht richten op het naast elkaar plaatsen van de subrapporten. U kunt twee tabellen niet nast elkaar plaatsen omdat de BIRT-rapportontwerper elementen op blokniveau maakt. Dit betekent dat elk element op een nieuwe regel begint.Als u tabellen naast elkaar wilt afbeelden, voegt u de tabellen in een raster in. Met het raster kunt u elementen eenvoudig uitlijnen.
- Kies Layout om terug te gaan naar de layout-editor.
- Sleep een rasterelement van het palet en zet dit element neer in de detailrij boven de tabel Orders. Bij Raster invoegen wordt u gevraagd het
aantal kolommen en rijen voor het raster op te geven.
- Bij Aantal kolommen typt u 2 en bij Aantal rijen typt u 1. Vervolgens klikt u op OK.
Er verschijnt een raster met twee kolommen en een rij in de layout-editor.
- Verplaats de tabel Orders naar de eerste rastercel. Als u dit wilt doen, selecteert u het tabblad Tabel in de linkerbenedenhoek, sleept u de tabel en zet u deze neer in de rastercel.
- Verplaats de tabel Payments naar de tweede rastercel. De rapportindeling moet lijken op de indeling die is afgebeeld in Afbeelding 13-21.
Afbeelding 13-21 Subrapporten naast elkaar in het rapportontwerp
- Open de preview van het
rapport. Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-22.
Afbeelding 13-22 Rapportpreview beeldt subrapporten naast elkaar af
Taak 13: Het rapport opmaken
Nu het rapport de juiste gegevens en opmaak weergeeft, kunt u uw aandacht richten op het verbeteren van de presentatie van het rapport. U voert taken uit in deze sectie:
Namen van klanten accentueren
- Kies Layout om terug te gaan naar de layout-editor.
- In de layout-editor, selecteert u het gegevenselement [CUSTOMERNAME].
- Kies het tabblad Eigenschappen van de eigenschappeneditor.
- Selecteer Algemeen in de lijst onder Eigenschappen. De algemene indelingseigenschappen van het gegevenselement worden afgebeeld in de eigenschappeneditor.
- Bij Grootte selecteert u Groot om de tekst van het element groter weer te geven. De tekst wordt groter.
- Kies B om de gegevens als vette tekst op te maken. De gegevens worden vet afgedrukt.
Kolomkoppen bewerken
Als u een gegevenssetveld in een tabel invoegt, voegt de BIRT-rapportontwerper automatisch een label met de naam van het gegevenssetveld toe aan de koptekstrij. Vaak hebben namen van gegevenssetvelden geen indeling die geschikt is voor rapporten en moet u deze namen wijzigen.
- Dubbelklik op de eerste kolomkop in de tabel Orders. De tekst wordt geaccentueerd.
- Vervang ORDERNUMBER door de volgende tekst en druk vervolgens op Enter:
- Herhaal de vorige stappen om de rest van de kolomkoppen te wijzigen in de volgende tekst:
De rapportindeling moet lijken op de indeling die is afgebeeld in
Afbeelding 13-23.
Afbeelding 13-23 Bewerkte kolomkoppen in het rapportontwerp
- Open de preview van het
rapport. Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-24.
Afbeelding 13-24 Bewerkte kolomkoppen in de rapportpreview
Datumnotatie wijzigen
Als u een gegevenselement invoegt van het gegevenstype Date, beeldt de BIRT-rapportontwerper datums af op basis van de lokale instellingen van uw systeem. De BIRT-rapportontwerper biedt veel verschillende datumnotaties die u kunt selecteren als u niet de standaardnotatie wilt gebruiken. In deze procedure maakt u een stijl waarmee de notatie van de waarden ORDERDATE en PAYMENTDATE wordt gewijzigd van 3 jun 2005 12:00 AM in 3/6/05.
- Kies Layout om terug te gaan naar de layout-editor.
- Selecteer het gegevenselement dat [ORDERDATE] afbeeldt.
- Kies Element->Nieuwe stijl uit het hoofdmenu. In
het venster Nieuwe
stijl vindt u de eigenschappen die u voor een stijl kunt instellen, zoals
in Afbeelding 13-25.
Afbeelding 13-25 Nieuwe stijl
- Bij Aangepaste stijl typt u:
- Kies Datum/tijd-notatie uit de lijst met stijleigenschappen aan de linkerkant.
- Kies de notatie d/m/jj uit de vervolgkeuzelijst. De waarden in de vervolgkeuzelijst worden dynamisch bijgewerkt met de huidige datum.
- Kies OK.
De stijl Date_data wordt toegepast op het gegevenselement [ORDERDATE], zoals in
Afbeelding 13-26.
Afbeelding 13-26 De stijl Date_data zoals toegepast op een gegevenselement
- Stel de stijl Date_data in voor het
gegevenselement Payment date.
- Selecteer het gegevenselement dat [PAYMENTDATE] afbeeldt, zoals in Afbeelding 13-27.
Afbeelding 13-27 Het element [PAYMENTDATE] geselecteerd
- Klik met de rechtermuisknop op het geselecteerde element en kies vervolgens Stijl->Stijl toepassen->Date_data.
- Open de preview van het
rapport. De datums zijn gewijzigd van de notatie 3 jun 2005 12:00 AM in 3/6/05.
Numerieke notatie wijzigen
Als u een gegevenselement invoegt van het gegevenstype Integer, beeldt de BIRT-rapportontwerper getallen af op basis van de lokale instellingen van uw systeem. De BIRT-rapportontwerper biedt veel verschillende getalnotaties die u kunt selecteren als u niet de standaardnotatie wilt gebruiken. In deze procedure maakt u een stijl waarmee de notatie van de bedragwaarden wordt gewijzigd van 48425,69 in $48.425,69.
- Kies Layout om terug te gaan naar de layout-editor.
- Selecteer het gegevenselement dat [AMOUNT] afbeeldt in de tabel Payments.
- Kies Element->Nieuwe stijl uit het hoofdmenu. Nieuwe stijl beeldt de eigenschappen af in de algemene categorie.
- Bij Aangepaste stijl, typt u:
- Kies Getalnotatie uit de lijst met stijleigenschappen aan de linkerkant.
- Bij Getalnotatie als selecteert u
Valuta in de vervolgkeuzelijst.
- Bij Decimalen gebruikt u de standaardwaarde 2.
- Selecteer Scheidingsteken voor duizendtallen gebruiken.
- Bij Symbool, selecteert u $ in de
vervolgkeuzelijst.
- Gebruik de standaardwaarden voor de andere kenmerken.
Afbeelding 13-28 Eigenschappen getalnotatie
- Kies OK. De stijl Currency_data wordt toegepast op het gegevenselement [AMOUNT], zoals wordt aangegeven door de stijleigenschap van het element in de eigenschappeneditor.
- Open de preview van het
rapport. De getallen verschijnen in de valutanotatie, zoals in Afbeelding 13-29.
Afbeelding 13-29 Valutanotatie in de rapportpreview
Verticale ruimte tussen elementen groter maken
In deze procedure vergroot u de ruimte tussen elke klantnaam en de regels ervoor en erna. U
kunt de verticale ruimte tussen elementen op verschillende manieren aanpassen:
- U kunt de bovenste of onderste opvulling of marges van elementen vergroten.
- U kunt de elementen in een raster organiseren en u kunt de hoogte van rasterrijen aanpassen.
- U kunt de elementen in een raster organiseren en u kunt lege rijen met een bepaalde hoogte gebruiken om ruimte tussen de elementen aan te brengen.
Een indeling maken met een raster is veel eenvoudiger en biedt meer voorspelbare resultaten.
Eigenschappenwaarden voor opvulling en marges kunnen verschillende resultaten opleveren in verschillende webbrowsers.
In deze procedure gebruikt u de derde methode.
- Kies Layout om terug te gaan naar de layout-editor.
- Plaats het gegevenselement [CUSTOMERNAME] in het raster dat de twee tabellen bevat door de volgende stappen uit te voeren:
- Selecteer het raster. Houd de muisaanwijzer boven de linkerbenedenhoek tot het tabblad Raster verschijnt en selecteer dat tabblad. Bovenin en links van het geselecteerde raster
verschijnen geleidercellen.
De layout-editor geeft de kaders aan van afzonderlijke gegevenselementen, rasters, tabellen en cellen weer en soms kan het moeilijk zijn om te zien waar een element is geplaatst. Als u een duidelijker overzicht wilt hebben van de containers en de elementen in de containers, gebruikt u de view Overzicht om een boomstructuurview van het rapportontwerp te bekijken. U kunt de view Overzicht ook bekijken om een bepaald element te selecteren dat lastig te selecteren is.Bijvoorbeeld het selecteren van het raster in plaats van de tabel in het raster kan erg lastig zijn. Als u de view Overzicht wilt openen, kiest u Venster->View afbeelden->Overzicht.
- Klik met de rechtermuisknop op de
geleidercel links van de eerste rij van het raster en kies vervolgens Invoegen->Rij->Boven, zoals
in Afbeelding 13-30.
Afbeelding 13-30 Een nieuwe rij invoegen
Er verschijnt een nieuwe rij boven de geselecteerde rij.
- Verplaats het element [CUSTOMERNAME]
van de huidige locatie naar de eerste cel van de nieuwe rasterrij, zoals in Afbeelding 13-31.
Afbeelding 13-31 Naar de nieuwe rij verplaatst gegevenselement
- Voeg een nieuwe rasterrij toe
boven en onder de rij die het gegevenselement [CUSTOMERNAME] bevat met behulp van
de procedures die eerder zijn beschreven.
- Selecteer het raster en selecteer
vervolgens de eerste rij in het raster, zoals in Afbeelding 13-32.
Afbeelding 13-32 De eerste rij selecteren
- In de algemene eigenschappen van
de eigenschappeneditor stelt u de hoogte van de rij in op 0,2, zoals
in Afbeelding 13-33.
Afbeelding 13-33 Eigenschap voor de rijhoogte instellen
- Selecteer de derde rij in het
raster en stel de hoogte in op 0,1 inch. Het rapportontwerp moet lijken op het ontwerp dat is
afgebeeld in Afbeelding 13-34.
Afbeelding 13-34 Nieuwe rijhoogten in het rapportontwerp
- Open de preview van het
rapport. Er is meer ruimte boven en onder de naam van de klant. Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-35.
Afbeelding 13-35 Rapportpreview beeldt toegevoegde ruimte af.
Horizontale ruimte tussen de tabellen Orders en Payments vergroten
In deze procedure vergroot u de ruimte tussen de tabellen Orders en Payments. Net als met verticale spatiëring kunt u de horizontale ruimte tussen elementen op verschillende manieren aanpassen:
- U kunt de linker- of rechteropvulling of marges van elementen vergroten.
- U kunt de elementen in een raster organiseren en u kunt de breedte van rasterkolommen aanpassen.
- U kunt de elementen in een raster organiseren en u kunt lege kolommen met een bepaalde breedte gebruiken om ruimte tussen de elementen aan te brengen.
Opnieuw geldt dat een indeling maken met een raster veel eenvoudiger is en meer voorspelbare resultaten biedt. Eigenschappenwaarden voor opvulling en marges kunnen verschillende resultaten opleveren in verschillende webbrowsers. In deze procedure gebruikt u de derde methode.
- Kies Layout om terug te gaan naar de layout-editor.
- Selecteer het raster. Houd de muisaanwijzer boven de linkerbenedenhoek tot het tabblad Raster verschijnt en selecteer dat tabblad. Bovenin en links van het geselecteerde raster
verschijnen geleidercellen.
- Klik met de rechtermuisknop op de
geleidercel boven de eerste kolom en kies vervolgens Invoegen->Kolommen rechts, zoals in Afbeelding 13-36.
Afbeelding 13-36 Een kolom invoegen
Er verschijnt een nieuwe kolom tussen de eerste en derde kolommen. Standaard maakt de BIRT-rapportontwerper kolommen met dezelfde breedte.
- Selecteer de kolom die u zojuist hebt
toegevoegd en gebruik de eigenschappeneditor om de breedte in te stellen op 0,4 inch, zoals
in Afbeelding 13-37.
Afbeelding 13-37 Kolombreedte instellen
De breedte van de tweede kolom wordt smaller.
- Open de preview van het
rapport.
Er is meer ruimte tussen de tabellen Orders en Payments, zoals in
Afbeelding 13-38.
Afbeelding 13-38 Rapportpreview toegevoegde ruimte tussen tabellen afbeelden.
Kaders toevoegen rond de tabellen
In deze procedure plaats u een kader rond de tabellen Orders en Payments om duidelijk aan te geven dat het om twee afzonderlijke subrapporten gaat.
- Kies Layout om terug te gaan naar de layout-editor.
- Selecteer de tabel Orders. Houd de muisaanwijzer boven de linkerbenedenhoek tot het tabblad Tabel verschijnt en selecteer dat tabblad. Bovenin en links van de geselecteerde tabel
verschijnen geleidercellen.
- Kies Kader in de eigenschappeneditor en stel vervolgens de kadereigenschappen in.
- Stel Stijl in op een ononderbroken lijn..
- Kies alle knoppen om kaders rond de tabel toe te voegen, zoals in Afbeelding 13-39.
Afbeelding 13-39 Kaders aan een tabel toevoegen
- Herhaal de vorige stappen om een kader ronde de tabel Payments te plaatsen.
- Open de preview van het
rapport. Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-40.
Afbeelding 13-40 Kaders rond tabellen in de rapportpreview
Ruimte vergroten tussen de tabelranden en de inhoud ervan
De bovenste en linkerkaders van de tabellen bevinden zich te dicht op de tabelinhoud. In deze procedure vergroot u de ruimte tussen de bovenste en linkerkaders en de inhoud.
- Kies Layout om terug te gaan naar de layout-editor.
- Selecteer de eerste cel in de groepskoptekst van de tabel Orders. Zorg dat u de cel
selecteert, zoals in Afbeelding 13-41, en niet het
gegevenselement in die cel.
Afbeelding 13-41 Een cel selecteren
De titel die verschijnt in de
eigenschappeneditor geeft de naam van het geselecteerde element weer.
Controleer of de volgende tekst wordt afgebeeld:
- Kies de opvuleigenschappen in de
eigenschappeneditor en vervolgens stelt u Boven en Links in op 6 punten.
Afbeelding 13-42 Celopvuleigenschappen in de eigenschappeneditor
In de layout-editor verschijnt extra ruimte
bovenaan en links van de cel, zoals in
Afbeelding 13-43.
Afbeelding 13-43 Celopvulling in het rapportontwerp
- Selecteer de volgende cel naast de cel die u zojuist hebt opgemaakt en stel de opvulling voor Boven en Links in op 6 punten.
- Selecteer de twee cellen in de detailrij en stel de eigenschap voor de opvulling voor Links in op 6 punten.
- Selecteer de cellen die zich in dezelfde positie bevinden in de tabel Payments en pas dezelfde instellingen toe die u hebt gebruikt voor de cellen in de tabel Orders.
- Open de preview van het
rapport. Het rapport moet lijken op het rapport dat is afgebeeld in Afbeelding 13-44.
Afbeelding 13-44 Rapportpreview beeldt meer ruimte binnen de tabellen af


|