Blogginlägg -

Funktionen aggr i QlikView

Den här funktionen används i gränssnittet och kan bli ganska prestandakrävande så man får tänka sig för innan man använder den. Alternativet är alltså om man kan flytta det man ska göra till scriptet istället för att slippa belasta internminnet för mycket. Det exemplet som visas här tillhör den enkla varianten så prestandan kommer inte vara ett problem, det är först när funktionen blir nästlad den blir riktigt tung.

Behovet av funktionen kommer när man vill titta på data aggregerat över en dimension. En frågeställning kan vara; Hur många kunder har 1,2,3 respektive 4 Fakturor. För att presentera detta i en tabell så lägger vi in aggr-funktionen som uträknad dimension. Så vi skapar en ny tabell och gå klickar på fliken ”Dimensions” och klickar sedan på knappen ”Add Calculated Dimension…”. I rutan för uttryck sen gäller det att fundera på vad det är som ska skrivas.

Vi vill räkna antal fakturor per kund. Då kan vi börja med att skriva uttrycket för antalet fakturor för det är ganska enkelt; count(Fakturanummer). Sen ska vi fylla på med uttrycket som berättar att fakturorna ska räknas per kund. Det vill säga;aggr(count(Fakturanummer), Kund). Dimensionen döper vi sen till ”Antal Fakturor”.

bi-aggr-qlikview

Nu har vi alltså i dimensionen Antal fakturor och när vi kommer till uttrycket i tabell så vill titta på Antal Kunder (unika) så vi skriver count(distinct Kund) i uttrycket och döper den kolumnen till ”Antal Kunder”.

Resultatet blir följande tabell:

bi-aggr-antalkunder

Det vi alltså kan utläsa är:
1 Kund har 3 Fakturor
2 Kunder har 4 Fakturor
2 Kunder har 2 Fakturor
1 Kund har 1 Faktura.

Som ni märker på resultatet så är inte datamängden så stor i det här exemplet så vi hade säkert kunna se detta genom att bara titta på data som det är. Men har man ett större register så räknar denna funktion snabbt ut hur många kunder som har 1000 fakturor exempelvis. För att se vilka kunderna är sen så klickar man bara på den raden med antalet fakturor och har man då skapat en tabell för Kunddetaljer så kommer bara dessa kunder att synas i den tabellen nu.

Annika Palm, Business Intelligence Consultant, Enfo Pointer

Ämnen

  • Datorer, datateknik, programvaror

Kontakter

Pelagia Wolff

Presskontakt Kommunikationsdirektör +358 50 366 0878