Stel je wordt geconfronteerd met de volgende eis: er moet een rapport worden geproduceerd dat bestaat uit een hoofdpagina en een in principe onbepaald aantal subpaginas. Op de hoofdpagina wil de klant het volgende zien: Een lijst van de 20 landen met de hoogste opbrengsten. Vervolgens moet er voor elk land een afzonderlijke pagina komen met daarop de top 10 klanten per land. Deze subpaginas moeten getoond worden op volgorde van opbrengst per land, dat wil dus zeggen dat op de eerste pagina de klanten komen van het land met de hoogste opbrengst. Op de laatste pagina komen de klanten uit het land dat op de twintigste plaats staat wat betreft opbrengst.
Om de oplossing te illustreren nemen we het het ABC-Verkoop (query) pakket dat met Cognos wordt meegeleverd als demonstratiemateriaal. We gaan als volgt te werk:
Maak een lijstrapport met daarop [Verkoop (query)].[Wederverkoperfiliaal].[Wederverkoper land] en [Verkoop (query)].[Verkoop].[Opbrengst] als kolommen. Voeg daaraan een queryberekening toe, met als naam ‘Toplanden’ en als expressie: rank ([Opbrengst]). Groepeer dit rapport op de kolom Wederverkoper land.
Nu moet je allereerst filteren zodat je alleen de top 20 landen te zien krijgt. Ga daarom naar de Queryverkenner en selecteer Query1. Voeg een filter toe aan het samenvattingsfilter: [Toplanden] <= 20. In de eigenschappen van dit filter geef je als bereik Wederverkoper land op. Ga vervolgens terug naar het rapport, selecteer de kolom Opbrengst en kies voor geavanceerd sorteren. Zie onderstaande afbeelding:
Sleep hier het gegevensitem Opbrengst naar de folder Lijst sorteren onder Wederverkoper land in de folder Groepen. Het rapport wordt nu gesorteerd op volgorde van opbrengst per land. Zet met behulp van het sorteericoontje in dit menu de sorteervolgorde op aflopend. Dit rapport zal straks pagina 1 zijn van de oplossing. Test het daarom om te zien of het aan de verwachtingen voldoet.
Om de subpaginas te maken ga je als volgt te werk:
Ga naar de paginaverkenner en selecteer Rapportpagina’s. Sleep een Paginaset element onder Pagina 1. Kopieer vervolgens Pagina 1 in de folder Detailpagina’s. Zie onderstaande afbeelding:
Zoals je ziet hernoemt Cognos deze pagina tot pagina 2. Selecteer Paginaset1 en zet de eigenschap Query op query1. Ook de eigenschap Groeperen en sorteren moet je hier aanpassen. Sleep het gegevensitem Wederverkoper land in de map groepen naar de positie onder Geheel. Als je het rapport nu uitvoert, dan zie je als eerste de overzichtspagina en vervolgens per land een aparte pagina. We hebben echter nog geen klantgegevens per land. Die gaan we nu toevoegen.
Als het goed is dan zit je nog steeds in de Paginaverkenner. Dubbelklik in de rapportpagina’s op Pagina2. Het lijstrapport van die pagina verschijnt. Voeg vervolgens aan dit rapport de kolom [Verkoop (query)].[Wederverkoperfiliaal].[Bedrijfsnaam] toe. Ook aan dit rapport voeg je een queryberekening toe. Die noem je topklanten en die heeft als expressie: rank ([Opbrengst] for [Wederverkoper land]). Let hierbij op de plaats van de haakjes.
Nu moet je nog filteren zodat alleen de top 10 klanten per land op de subpagina’s verschijnen. Ga naar de queryverkenner en selecteer Query1. Maak daar het volgende detailfilter aan: [Topklanten] <= 10. In de eigenschappen van dit detailfilter moet je bij toepassing nog automatische na-aggregatie aangeven, zodat eerst de rangorde wordt bepaald en pas daarna het filter wordt toegepast.
Tenslotte wil je waarschijnlijk op Pagina2 de kolom toplanden nog verbergen. Dit doe je als volgt: Selecteer de kolom Toplanden. Selecteer onder Eigenschappen – kolomlijst onder het kopje Conditioneel: ‘Variabele weergeven’. Dubbelklik hierop en maak een nieuwe variabele aan van het type Booleaans. Noem hem Verberg en laat Weergeven voor Ja aangevinkt staan.. Geef als expressiedefinite op: 1 = 0. De kolom zal niet getoond worden op het rapport. Voer het rapport uit en je zult zien dat het aan de eisen voldoet.

