Föregående avsnittNästa avsnitt


Självstudiekurs 2: Gruppera rapportdata

I den här självstudiekursen finns instruktioner för hur du grupperar kunddata efter kreditgräns. Den börjar med den rapport som du skapade i Självstudiekurs 1: "Bygga en enkel listrapport". I den första självstudiekursen byggde du en enkel rapport med en lista över kunder i bokstavsordning. I den här rapporten organiserar du kunder i kreditgränsgrupper om USD 50 000,00, t.ex. 0-49999, 50000-99999, 100000-149999, och så vidare.

Innan du börjar med den här självstudiekursen måste du ha slutfört den första.

I den här självstudiekursen utför du följande uppgifter:

Uppgift 1: Öppna rapportdesignen

I den första självstudiekursen skapade du Customers.rptdesign i en projektmapp som hette My Reports. Öppna Customers.rptdesign på något av följande sätt:

Filen öppnas i layoutredigeraren. Se figur 8-1.

Figur 8-1: Rapportdesign för Customer i layoutredigeraren

Uppgift 2: Spara rapporten som en ny fil

I stället för att redigera direkt i den rapport du skapade i den första självstudiekursen sparar du Customers.rptdesign som en ny fil.

  1. Välj Arkiv -> Spara som. I Spara som visas filens aktuella namn och placering.
  2. För Filnamn ändrar du Customers.rptdesign till Customers_grouped.rptdesign och väljer Slutför. BIRT Report Designer skapar en kopia av Customers.rptdesign. Den nya filen visas i layoutredigeraren.

Uppgift 3: Lägga till ett fält för kreditgräns i datauppsättningen

Om kreditgränsdata ska kunna visas i rapporten måste du lägga till fältet CREDITLIMIT i datauppsättningen.

  1. Välj datautforskaren
  2. Expandera Datauppsättningar och dubbelklicka på Customers. Redigera datauppsättning visas med SQL-frågan för datauppsättningen Customers.
  3. Lägg till ett komma (,) efter Phone.
  4. På nästa rad anger du följande text:
  5. creditLimit 
    
    Den ändrade frågan ska se ut som den i figur 8-2.

    Figur 8-2: Fråga med fältet creditLimit tillagt
  6. Välj Förhandsgranska resultat och kontrollera att frågan returnerar rader med kreditgränsinformation.
  7. Välj OK så sparas datauppsättningen.

Uppgift 4: Lägga till kreditgränsdata i rapporten

I den här proceduren infogar du fältet för kreditgräns i den befintliga tabellen.

  1. I layoutredigeraren väljer du tabellen. Celler med stödlinjer visas på överkanten och vänsterkanten av tabellen.
  2. Högerklicka på stödlinjecellen ovanför den första kolumnen och välj Infoga -> Kolumn till vänster. Se figur 8-3.
  3. Figur 8-3: Infogning av en kolumn till vänster om en befintlig kolumn
    En ny kolumn visas.
  4. I datautforskaren expanderar du Datauppsättningar och sedan Customers. Datauppsättningen Customers visas med de fält som har angetts i frågan.
  5. Dra fältet CREDITLIMIT från datautforskaren och släpp det i detaljradcellen bredvid [CUSTOMERNAME].
  6. En namngiven kolumn skapas i BIRT Report Designer och binds till datauppsättningsfältet. Välj databindning visas med den här kolumnbindningen.
  7. Godkänn standardkolumnbindningen genom att välja OK.
  8. I layoutredigeraren visas tabellen med det fält du lade till. Dessutom visas ett etikettelement som har lagts till automatiskt i huvudet av layoutredigeraren. Etiketten fungerar som kolumnrubrik och fältnamnet visas som statisk text. Nu ska rapporten se ut som i figur 8-4.

    Figur 8-4: Resultatet när fältet för kreditgräns har lagts till i layoutredigeraren
  9. Redigera etiketten CREDITLIMIT så att den visas som Credit Limit.
  10. Förhandsgranska rapporten. Nu ska rapporten se ut som i figur 8-5.
  11. Figur 8-5: Förhandsgranskning av rapport, där fältet för kreditgräns har lagts till
    Vissa kunder har kreditgränsen 0. Det gäller nya kunder som inte har blivit godkända för kredit ännu.

Uppgift 5: Gruppera kunddata efter kreditgräns

Rapporten är just nu sorterad i bokstavsordning efter kundnamn. I den första självstudiekursen angav du att raderna i tabellen skulle sorteras efter kundnamn. I den här proceduren grupperar du data efter kreditgräns i intervall om 50 000. När du grupperar data sorteras raderna först i grupper, sedan sorteras raderna inom varje grupp, förutsatt att du också anger ett sorteringsvillkor på tabellnivå. Som du kommer att se när uppgiften är slutförs kommer dataraderna inom varje kreditgränsgrupp att sorteras efter kundnamn.

  1. Gå tillbaka till layoutredigeraren genom att välja Layout.
  2. Högerklicka på tabellen och välj Infoga grupp -> Ovanför. Ny grupp visas i figur 8-6 med de gruppegenskaper du kan ange.
  3. Figur 8-6: Ny grupp
  4. Ange gruppering efter kreditgräns i intervall om 50000 genom att utföra följande steg:
    1. I Namn anger du följande text som gruppnamn:
    2. credit_group 
      
    3. För Gruppera efter väljer du CREDITLIMIT i listrutan.
    4. För Intervall väljer du intervall i listrutan.
    5. Välj 50000 som intervall.
    6. Använd standardvärdena för övriga alternativ.
    7. Välj OK.
    Tabellen i rapportdesignen innehåller ett grupphuvudrad och en gruppfotsrad. Se figur 8-7. Här visas också det dataelement som har lagts till automatiskt av layoutredigeraren i grupphuvudraden. Det här dataelementet fungerar som grupprubrik och visas i den genererade rapporten som det första kreditgränsvärdet för varje grupp.

    Figur 8-7: Grupphuvudrad och gruppfotsrad i en rapportdesign
  5. Välj dataelementet [CREDITLIMIT] som visas i grupphuvudet. Välj inte dataelementet [CREDITLIMIT] som visas i detaljraden.
  6. I egenskapsredigeraren väljer du Allmänt och sedan B så att grupprubriken formateras som fetstilt text.
  7. Förhandsgranska rapporten. Bläddra nedåt till rapporten om du vill se alla data. Som visas i figur 8-8 har data i rapporten organiserats i fyra kreditgränsgrupper. I början av varje grupp ser du följande siffror i fetstil: 0, 61100, 113000, 227600. De här siffrorna motsvarar det första kreditgränsvärdet i varje grupp. Inom varje grupp sorteras kunderna i bokstavsordning.
  8. Figur 8-8: Förhandsgranskning av rapport med en av de fyra kreditgränsgrupperna

Uppgift 6: Visa kreditgränsintervall i grupphuvudet

I stället för att visa det första värdet för varje grupp i grupphuvudet kan du skapa en bättre överblick genom att visa kreditintervallet för varje grupp, enligt följande:

0 - 49999 
50000 - 99999 
100000 - 149999 

I den här proceduren demonstreras hur du skriver ett JavaScript-uttryck som visar kreditgränsintervallen. Här visas också hur du skapar en kolumnbindning att associera JavaScript-uttrycket med.

  1. Gå tillbaka till layoutredigeraren genom att välja Layout.
  2. Välj tabellen och sedan Bindning i egenskapsredigeraren.
  3. Skapa en ny kolumnbindning:
    1. Välj Lägg till.
    2. I Uttrycksassistenten skriver du följande uttryck:
    3. for(i=50000; i<300000; i+=50000){ 
      if( row["CREDITLIMIT"] < i ){ 
        rangeStart = i-50000; 
        rangeEnd = i-1; 
        break; 
      } 
      } 
      displayString=rangeStart + " - " + rangeEnd; 
      
    4. Välj OK. Den nya kolumnbindningen visas på bindningssidan i egenskapsredigeraren med kolumnnamnet markerat.
    5. Byt ut namnet Ny bindning mot följande:
    6. CREDIT_GROUP_HEADER 
      
  4. Uppdatera dataelementet CREDITLIMIT i grupphuvudet så att den nya kolumnbindningen används. Det gör du genom att dubbelklicka på dataelement och välja CREDIT_GROUP_HEADER. Välj sedan OK.
  5. Förhandsgranska rapporten. Grupphuvudena visas med kreditgränsintervallen. I figur 8-9 visas grupphuvudet 50000 - 99999.
  6. Figur 8-9: Förhandsgranskning av rapport med kreditgränsintervall

Uppgift 7: Visa aggregeringsinformation

En av fördelarna med att gruppera data är att du kan lägga till information om summor, eller aggregering, i början eller slutet av varje grupp. I den här proceduren kommer du att utföra följande uppgifter:

  1. Gå tillbaka till layoutredigeraren genom att välja Layout.
  2. Visa antalet kunder i varje grupp:
    1. Dra ett dataelement från paletten och släpp det i den första cellen i gruppfotsraden. Element som finns i gruppfoten visas i slutet av varje grupp.
    2. I Välj databindning skapar du en ny kolumnbindning:
      1. I Namn, på en ny rad, skriver du följande text:
      2. GROUP_CUSTOMER_COUNT 
        
      3. Använd standarddatatypen Valfri.
      4. I Uttryck skriver du följande aggregatuttryck:
      5. "Customers: " + Total.count() 
        
        Total.count( ) returnerar antalet rader.
      6. Använd standardvärdet credit_group för Aktiverat aggregat. Det här värdet visar att funktionen Total.count( ) returnerar antalet rader i varje kreditgränsgrupp.
      7. Välj den kolumnbindning du nyss skapade och välj OK. Dataelementet använder den valda kolumnbindningen.
    3. Förhandsgranska rapporten. I rapporten visas antalet kunder i slutet av varje grupp. Se figur 8-10.
    4. Figur 8-10: Förhandsgranskning av rapport med en beräkning för varje grupp
  3. Gå tillbaka till layoutredigeraren genom att välja Layout.
  4. Visa det totala antalet kunder:
    1. Välj tabellen.
    2. Celler med stödlinjer visas på överkanten och vänsterkanten av tabellen.
    3. Högerklicka på stödlinjecellen till vänster om den första raden, Tabell - Huvud och välj sedan Infoga -> Rad -> Ovanför.
    4. En ny tabellhuvudsrad visas ovanför raden med kolumnrubriker. Den visas i färg eftersom den ärver egenskaperna för raden nedanför.
    5. Välj den nya raden och ändra bakgrundsfärgen till vit i egenskapsredigeraren.
    6. Dra ett dataelement från paletten och släpp det i den första cellen i en nya tabellhuvudsraden. Element som finns i tabellhuvudet visas i början av avsnittet.
    7. I Välj databindning skapar du en ny kolumnbindning:
      1. I Namn, på en ny rad, skriver du följande text:
      2. TOTAL_CUSTOMER_COUNT 
        
      3. Använd standarddatatypen Valfri.
      4. I Uttryck skriver du följande aggregatuttryck:
      5. "Number of customers: " + Total.count() 
        
      6. Använd standardvärdet ALL för Aktiverat aggregat. Det här värdet visar att funktionen Total.count( ) returnerar antalet rader i hela tabellen.
      7. Välj den kolumnbindning du nyss skapade och välj OK. Dataelementet använder den valda kolumnbindningen.
    Nu ska rapportdesignen se ut som i figur 8-11.

    Figur 8-11: Rapportdesign med det totala antalet kunder
  5. Förhandsgranska rapporten. I rapporten visas antalet kunder i början av tabellen. Se figur 8-12.
  6. Figur 8-12: Förhandsgranskning av rapport med det totala antalet kunder

Uppgift 8: Formatera rapporten

Nu visas rätt data i rapporten och du kan koncentrera dig på att förbättra utseendet. Du utför följande uppgifter i det här avsnittet:

Ta bort kreditgränsdata från detaljraderna

När du ska kontrollera att data visas i rätt kreditgränsgrupper är det praktiskt att visa kreditgränsen för varje kund. När vi nu har kontrollerat data kan vi ta bort den individuella kreditgränsinformationen från rapporten.

  1. Gå tillbaka till layoutredigeraren genom att välja Layout.
  2. Ta bort dataelementet [CREDITLIMIT] från detaljraden.
  3. Förhandsgranska rapporten. Nu ska rapporten se ut som i figur 8-13.
  4. Figur 8-13: Förhandsgranskning av rapport utan kreditgränsdata för varje rad

Visa grupprubriker i första raden av varje grupp

Grupprubrikerna för kreditgränser visas på egna rader ovanför detaljraderna för varje grupp. I den här proceduren släpper du grupprubrikerna så att de visas i den första detaljraden.

  1. Gå tillbaka till layoutredigeraren genom att välja Layout.
  2. Välj den cell som innehåller grupprubriken. Se figur 8-14. Se till att du väljer cellen och inte dataelementen i cellen.
  3. Figur 8-14: Vald cell i grupprubrik
  4. Under Allmänna egenskaper i egenskapsredigeraren väljer du Detalj under Släpp. I rapportdesignen visas grupprubriken fortfarande ovanför detaljraden eftersom elementet tekniskt sett fortfarande finns i grupphuvudraden.
  5. I ifyllningsegenskaperna i egenskapsredigeraren går du till Ifyllning - Överst och väljer 12 punkter. Med den här inställningen justeras grupprubrikerna mer exakt mot data i detaljraderna. I den första självstudiekursen lade vi till en 12-punkters ifyllning överst i detaljradscellerna.
  6. Förhandsgranska rapporten. Grupprubrikerna visas i första raden i varje grupp. Se figur 8-15.
  7. Figur 8-15: Förhandsgranskning av rapport med släppta grupprubriker

Avgränsa grupperna med en linje

Om du sätter en linje mellan varje grupp är det enklare att urskilja datagrupperna.

  1. Gå tillbaka till layoutredigeraren genom att välja Layout.
  2. Markera alla cellerna i gruppfotsraden. Du kan välja flera celler genom att skift-klicka.
  3. Välj Kant i egenskapsredigeraren och ange sedan egenskaper för kanter:
    • I Format väljer du fylld linje.
    • Välj den knapp som visar den nedersta kanten.
  4. Lägg till ett större mellanrum mellan linjen och texten ovanför. När cellerna fortfarande är markerade väljer du egenskaper för ifyllning i egenskapsredigeraren och väljer 6 punkter för nederkanten.
  5. Förhandsgranska rapporten. En linje visas i slutet av varje grupp. Se figur 8-16.
  6. Figur 8-16: Förhandsgranskning av rapport med en linje mellan grupper

Uppgift 9: Förhandsgranska rapporten i rapportvisningsfunktionen i BIRT

Hittills har du kontrollerat utdata för rapporten i förhandsgranskningen i BIRT Report Designer. Nu ska du använda rapportvisningsfunktionen och se hur rapporten ser ut när den är utplacerad. Genom rapportvisningen får du ytterligare funktioner. Du kan till exempel bläddra till olika avsnitt av rapporten med hjälp av en innehållsförteckning. När du skapar grupper i en rapport genererar BIRT automatiskt en innehållsförteckning med hjälp av gruppvärdena som anger rapportens hierarki.

  1. Välj Arkiv -> Visa rapport i webbläsare.
  2. Rapporten visas i rapportvisningsfunktionen.

  3. Välj knappen för innehållsförteckning, den vänstra knappen överst i fönstret, så att innehållsförteckningen visas.
  4. I innehållsförteckningen visas det första värdet i var och en av de fyra kreditgränsgrupperna. När du väljer ett värde visas motsvarande avsnitt av rapporten. Om du till exempel väljer 61100, visas kundraderna i kreditintervallet 50000 - 99999. Se figur 8-17.

    Figur 8-17: Välj ett värde i innehållsförteckningen så visas motsvarande data

Uppgift 10: Visa kreditgränsintervall i innehållsförteckningen

I stället för att visa det första värdet för varje kreditgränsgrupp kan du skapa en bättre överblick genom att visa samma värdeintervall för kreditgräns i innehållsförteckningen som i rapporten. Du utför den här uppgiften med samma JavaScript-uttryck som du använde tidigare för kreditgränsintervall (0 - 49999, 50000 - 99999, osv.) i grupphuvudet.

  1. Återgå till BIRT Report Designer.
  2. I layoutredigeraren väljer du tabellen och sedan fliken Grupper i egenskapsredigeraren.
  3. Dubbelklicka på credit_group i listan med grupper.
  4. Redigera grupp visas med egenskaperna för gruppen. Uttryck för innehållsförteckningspost är som standard angivet till grupperingsfältet, row["CREDITLIMIT"].
  5. Välj bläddringsknappen (...) och ersätt uttrycket row["CREDITLIMIT"] i Uttrycksassistenten med följande uttryck. Det här är samma kolumnbindningsuttryck som används av dataelementet i grupphuvudet. I stället för att skriva uttrycket igen kan du kopiera det från dataelementet och klistra in det här.
  6. for(i=50000; i<300000; i+=50000){ 
    if( row["CREDITLIMIT"] < i ){ 
      rangeStart = i-50000; 
      rangeEnd = i-1; 
      break; 
    } 
    } 
    displayString=rangeStart + " - " + rangeEnd; 
    
  7. Välj OK.
  8. Förhandsgranska rapporten i rapportvisningsfunktionen och kontrollera ändringarna i innehållsförteckningen.
  9. Innehållsförteckningen visas med kreditgränsintervallen. Se figur 8-18.

    Figur 8-18: Uppdaterad innehållsförteckning


(c) Copyright Actuate Corporation 2006

Föregående avsnittNästa avsnitt