Aggr - diagramfunctie
Aggr() retourneert een reeks van waarden voor de uitdrukking die is berekend via de opgegeven dimensie of dimensies. Bijvoorbeeld de maximale waarden van verkopen, per klant, per regio.
De functie Aggr wordt gebruikt voor geneste aggregaties, waarbij de eerste parameter (de binnenste aggregatie) één keer per dimensiewaarde wordt berekend. De dimensies worden opgegeven in de tweede parameter (en opeenvolgende parameters).
Bovendien moet de functie Aggr worden ingesloten in een buitenste aggregatiefunctie met behulp van de reeks resultaten van de functie Aggr als invoer voor de aggregatie waarin de functie is genest.
Syntaxis:
Aggr({SetExpression}[DISTINCT] [NODISTINCT ] expr, StructuredParameter{, StructuredParameter})
Retourgegevenstypen: dual
Argumenten:
Argument | Beschrijving |
---|---|
expr |
Een uitdrukking die bestaat uit een aggregatiefunctie. De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. |
StructuredParameter |
StructuredParameter bestaat uit een dimensie en, optioneel, sorteercriteria in de indeling: (Dimension(Sort-type, Ordering)) De dimensie is een enkel veld en kan geen uitdrukking zijn. Aan de hand van de dimensie wordt de reeks waarden bepaald waarvoor de uitdrukking Aggr wordt berekend. Als sorteercriteria zijn opgenomen, wordt de reeks waarden die door de functie Aggr wordt gemaakt en voor de dimensie wordt berekend, gesorteerd. Dit is belangrijk wanneer de sorteervolgorde van invloed is op het resultaat van de uitdrukking waarin de functie Aggr is opgenomen. Voor details over het gebruik van sorteercriteria raadpleegt u Sorteercriteria toevoegen aan de dimensie in de gestructureerde parameter. |
SetExpression | De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. Met de uitdrukking Set-analyse kunt u een alternatieve set records definiëren. |
DISTINCT |
Als het argument van de uitdrukking wordt voorafgegaan door de kwalificatie distinct of als er geen kwalificatie wordt gebruikt, genereert elke afzonderlijke combinatie van dimensiewaarden slechts één retourwaarde. Dit is de normale manier om aggregaties te maken: elke afzonderlijke combinatie van dimensiewaarden levert één lijn in het diagram op. |
NODISTINCT |
Als het argument van de uitdrukking wordt voorafgegaan door de kwalificatie nodistinct, kan elke combinatie van dimensiewaarden meer dan één retourwaarde genereren, afhankelijk van de onderliggende gegevensstructuur. Als er slechts één dimensie is, retourneert de functie aggr een reeks met hetzelfde aantal elementen als er rijen zijn in de brongegevens. |
Elementaire aggregatiefuncties, zoals Sum, Min en Avg, retourneren een enkele numerieke waarde, terwijl de functie Aggr() kan worden vergeleken met het maken van een tijdelijke resultatenset (een virtuele tabel) waarover een andere aggregatie kan worden uitgevoerd. Zo kunt u bijvoorbeeld een gemiddelde verkoopwaarde berekenen door met een Aggr()-instructie de verkopen per klant op te tellen en daarna het gemiddelde van de opgetelde resultaten te berekenen: Avg(TOTAL Aggr(Sum(Sales),Customer)).
Beperkingen:
Elke dimensie in een Aggr()-functie moet een enkel veld zijn en kan geen uitdrukking (berekende dimensie) zijn.
Sorteercriteria toevoegen aan de dimensie in de gestructureerde parameter
In zijn basisvorm is het argument StructuredParameter in de syntaxis van de functie Aggr een enkele dimensie. De uitdrukking Aggr(Sum(Sales, Month)) levert de totale verkoopwaarde voor elke maand op. Bij insluiting in een andere aggregatiefunctie kunnen er onverwachte resultaten optreden tenzij sorteercriteria worden gebruikt. Dit komt doordat sommige dimensies numeriek of alfabetisch kunnen worden gesorteerd, enzovoort.
In het argument StructuredParameter in de functie Aggr kunt u sorteercriteria opgeven voor de dimensie in uw uitdrukking. Op die manier legt u een sorteervolgorde op aan de virtuele tabel die door de functie Aggr wordt gemaakt.
Het argument StructuredParameter heeft de volgende syntaxis:
(FieldName, (Sort-type, Ordering))
Gestructureerde parameters kunnen worden genest:
(FieldName, (FieldName2, (Sort-type, Ordering)))
Het sorteertype kan zijn: NUMERIC, TEXT, FREQUENCY of LOAD_ORDER.
De volgende ordeningstypen zijn aan elke sorteertype gekoppeld:
Sorteertype | Toegestane ordeningstypen |
---|---|
NUMERIC | ASCENDING, DESCENDING of REVERSE |
TEXT | ASCENDING, A2Z, DESCENDING, REVERSE of Z2A |
FREQUENCY | DESCENDING, REVERSE of ASCENDING |
LOAD_ORDER | ASCENDING, ORIGINAL, DESCENDING of REVERSE |
De ordeningstypen REVERSE en DESCENDING zijn equivalent.
Voor sorteertype TEXT zijn de ordeningstypen ASCENDING en A2Z equivalent en zijn DESCENDING, REVERSE en Z2A equivalent.
Voor sorteertype LOAD_ORDER zijn de ordeningstypen ASCENDING en ORIGINAL equivalent.