Aggregaties zijn een manier om gegevens samen te vouwen, samen te vatten of te groeperen. Wanneer u begint met onbewerkte gegevens uit tabellen of andere gegevensbronnen, zijn de gegevens vaak vlak, wat betekent dat er veel details zijn, maar ze zijn op geen enkele manier georganiseerd of gegroepeerd. Dit gebrek aan samenvattingen of structuur kan het moeilijk maken om patronen in de gegevens te ontdekken. Een belangrijk onderdeel van gegevensmodellering is het definiëren van aggregaties die patronen vereenvoudigen, abstraheren of samenvatten in antwoord op een specifieke bedrijfsvraag.
De meest voorkomende aggregaties, zoals die met GEMIDDELDE, AANTAL, DISTINCTCOUNT, MAX, MIN of SOM , kunnen automatisch in een meting worden gemaakt met behulp van AutoSom. Andere typen aggregaties, zoals AVERAGEX, COUNTX, COUNTROWS of SUMX, retourneren een tabel en vereisen een formule die is gemaakt met DAX (Data Analysis Expressions).
Aggregaties in Power Pivot
Groepen kiezen voor aggregatie
Wanneer u gegevens samenvoegt, groepeert u gegevens op kenmerken zoals product, prijs, regio of datum en definieert u vervolgens een formule die werkt voor alle gegevens in de groep. Wanneer u bijvoorbeeld een totaal voor een jaar maakt, maakt u een aggregatie. Als u vervolgens een verhouding van dit jaar ten opzichte van het vorige jaar maakt en deze als percentages presenteert, is dit een ander type aggregatie.
De beslissing over het groeperen van de gegevens wordt bepaald door de bedrijfsvraag. Aggregaties kunnen bijvoorbeeld de volgende vragen beantwoorden:
Telt Hoeveel transacties zijn er in een maand?
Gemiddelden Wat was de gemiddelde verkoop in deze maand, per verkoper?
Minimum- en maximumwaarden Welke verkoopregio's waren de top vijf in termen van verkochte eenheden?
Als u een berekening wilt maken die deze vragen beantwoordt, moet u gedetailleerde gegevens hebben die de getallen bevatten die moeten worden geteld of opgeteld, en dat numerieke gegevens op een of andere manier gerelateerd moeten zijn aan de groepen die u gebruikt om de resultaten te ordenen.
Als de gegevens nog geen waarden bevatten die u kunt gebruiken voor groepering, zoals een productcategorie of de naam van de geografische regio waar de winkel zich bevindt, kunt u groepen aan uw gegevens toevoegen door categorieën toe te voegen. Wanneer u groepen bouwt in Excel, moet u handmatig de groepen typen of selecteren die u wilt gebruiken uit de kolommen in uw werkblad. In een relationeel systeem worden hiërarchieën zoals categorieën voor producten echter vaak opgeslagen in een andere tabel dan de feiten- of waardetabel. Meestal is de categorietabel door een soort sleutel gekoppeld aan de feitengegevens. Stel dat uw gegevens product-id's bevatten, maar niet de namen van producten of hun categorieën. Als u de categorie wilt toevoegen aan een plat Excel-werkblad, moet u kopiëren in de kolom met de categorienamen. Met Power Pivot kunt u de productcategorietabel importeren in uw gegevensmodel, een relatie maken tussen de tabel met de getalgegevens en de lijst met productcategorieën en vervolgens de categorieën gebruiken om gegevens te groepeer. Zie een relatie tussen tabellen Creatie voor meer informatie.
Een functie voor aggregatie kiezen
Nadat u de te gebruiken groeperingen hebt geïdentificeerd en toegevoegd, moet u beslissen welke wiskundige functies u wilt gebruiken voor aggregatie. Vaak wordt het woord aggregatie gebruikt als synoniem voor de wiskundige of statistische bewerkingen die worden gebruikt in aggregaties, zoals sommen, gemiddelden, minimum of tellingen. Met Power Pivot kunt u echter aangepaste formules voor aggregatie maken, naast de standaardaggregaties in zowel Power Pivot als Excel.
Als u bijvoorbeeld dezelfde set waarden en groeperingen gebruikt in de voorgaande voorbeelden, kunt u aangepaste aggregaties maken die antwoord geven op de volgende vragen:
Gefilterde aantallen Hoeveel transacties waren er in een maand, met uitzondering van het onderhoudsvenster aan het einde van de maand?
Verhoudingen met gemiddelden in de loop van de tijd Wat was de procentuele groei of daling van de verkoop in vergelijking met dezelfde periode vorig jaar?
Gegroepeerde minimum- en maximumwaarden Welke verkoopregio's stonden bovenaan voor elke productcategorie of voor elke verkooppromotie?
Aggregaties toevoegen aan formules en draaitabellen
Wanneer u een algemeen idee hebt van hoe uw gegevens moeten worden gegroepeerd om zinvol te zijn en de waarden waarmee u wilt werken, kunt u beslissen of u een draaitabel wilt maken of berekeningen binnen een tabel wilt maken. Power Pivot breidt en verbetert de systeemeigen mogelijkheid van Excel om aggregaties te maken, zoals sommen, aantallen of gemiddelden. U kunt aangepaste aggregaties maken in Power Pivot in het Power Pivot-venster of in het excel-draaitabelgebied.
-
In een berekende kolom kunt u aggregaties maken die rekening houden met de huidige rijcontext om gerelateerde rijen uit een andere tabel op te halen en vervolgens deze waarden in de gerelateerde rijen op te tellen, te tellen of te gemiddelden.
-
In een meting kunt u dynamische aggregaties maken die gebruikmaken van zowel filters die in de formule zijn gedefinieerd als filters die worden opgelegd door het ontwerp van de draaitabel en de selectie van slicers, kolomkoppen en rijkoppen. Metingen met behulp van standaardaggregaties kunnen in Power Pivot worden gemaakt met behulp van AutoSom of door een formule te maken. U kunt ook impliciete metingen maken met behulp van standaardaggregaties in een draaitabel in Excel.
Groeperingen toevoegen aan een draaitabel
Wanneer u een draaitabel ontwerpt, sleept u velden die groeperingen, categorieën of hiërarchieën vertegenwoordigen, naar de sectie kolommen en rijen van de draaitabel om de gegevens te groeperen. Vervolgens sleept u velden met numerieke waarden naar het waardengebied, zodat ze kunnen worden geteld, gemiddeld of opgeteld.
Als u categorieën toevoegt aan een draaitabel, maar de categoriegegevens niet zijn gerelateerd aan de feitengegevens, krijgt u mogelijk een fout of eigenaardige resultaten. Meestal probeert Power Pivot het probleem op te lossen door automatisch relaties te detecteren en voor te stellen. Zie Werken met relaties in draaitabellen voor meer informatie.
U kunt ook velden naar slicers slepen om bepaalde groepen gegevens te selecteren die u wilt weergeven. Met slicers kunt u de resultaten interactief groeperen, sorteren en filteren in een draaitabel.
Werken met groeperingen in een formule
U kunt ook groeperingen en categorieën gebruiken om gegevens die zijn opgeslagen in tabellen te aggregeren door relaties tussen tabellen te maken en vervolgens formules te maken die gebruikmaken van deze relaties om gerelateerde waarden op te zoeken.
Met andere woorden, als u een formule wilt maken waarmee waarden worden gegroepeerd op basis van een categorie, gebruikt u eerst een relatie om de tabel met de detailgegevens en de tabellen met de categorieën te verbinden en vervolgens de formule te bouwen.
Zie Opzoekacties in Power Pivot-formules voor meer informatie over het maken van formules die gebruikmaken van opzoekacties.
Filters gebruiken in aggregaties
Een nieuwe functie in Power Pivot is de mogelijkheid om filters toe te passen op kolommen en tabellen met gegevens, niet alleen in de gebruikersinterface en in een draaitabel of grafiek, maar ook in de formules die u gebruikt om aggregaties te berekenen. Filters kunnen worden gebruikt in formules, zowel in berekende kolommen als in s.
In de nieuwe DAX-aggregatiefuncties kunt u bijvoorbeeld in plaats van waarden op te geven waarover moet worden opgeteld of geteld, een hele tabel als argument opgeven. Als u geen filters op die tabel hebt toegepast, werkt de aggregatiefunctie tegen alle waarden in de opgegeven kolom van de tabel. In DAX kunt u echter een dynamisch of statisch filter voor de tabel maken, zodat de aggregatie werkt met een andere subset van gegevens, afhankelijk van de filtervoorwaarde en de huidige context.
Door voorwaarden en filters in formules te combineren, kunt u aggregaties maken die veranderen afhankelijk van de waarden in formules, of die veranderen afhankelijk van de selectie van rijenkoppen en kolomkoppen in een draaitabel.
Zie Gegevens filteren in formules voor meer informatie.
Vergelijking van Excel-aggregatiefuncties en DAX-aggregatiefuncties
De volgende tabel bevat een aantal standaardaggregatiefuncties van Excel en koppelingen naar de implementatie van deze functies in Power Pivot. De DAX-versie van deze functies gedraagt zich ongeveer hetzelfde als de Excel-versie, met enkele kleine verschillen in syntaxis en verwerking van bepaalde gegevenstypen.
Standaardaggregatiefuncties
Functie |
Gebruik |
Geeft als resultaat het gemiddelde (rekenkundig gemiddelde) van alle getallen in een kolom. |
|
Retourneert het gemiddelde (rekenkundig gemiddelde) van alle waarden in een kolom. Verwerkt tekst en niet-numerieke waarden. |
|
Telt het aantal numerieke waarden in een kolom. |
|
Telt het aantal waarden in een kolom dat niet leeg is. |
|
Retourneert de grootste numerieke waarde in een kolom. |
|
Retourneert de grootste waarde van een set expressies die in een tabel worden geëvalueerd. |
|
Retourneert de kleinste numerieke waarde in een kolom. |
|
Retourneert de kleinste waarde van een set expressies die in een tabel worden geëvalueerd. |
|
Hiermee worden alle getallen in een kolom opgeslagen. |
DAX-aggregatiefuncties
DAX bevat aggregatiefuncties waarmee u een tabel kunt opgeven waarop de aggregatie moet worden uitgevoerd. Daarom kunt u met deze functies, in plaats van alleen de waarden in een kolom toe te voegen of het gemiddelde ervan te berekenen, een expressie maken waarmee de te aggregeren gegevens dynamisch worden gedefinieerd.
De volgende tabel bevat de aggregatiefuncties die beschikbaar zijn in DAX.
Functie |
Gebruik |
Hiermee wordt een set expressies gemiddelden geëvalueerd voor een tabel. |
|
Telt een set expressies die voor een tabel worden geëvalueerd. |
|
Telt het aantal lege waarden in een kolom. |
|
Telt het totale aantal rijen in een tabel. |
|
Telt het aantal rijen dat wordt geretourneerd vanuit een geneste tabelfunctie, zoals de filterfunctie. |
|
Retourneert de som van een set expressies die in een tabel zijn geëvalueerd. |
Verschillen tussen DAX- en Excel-aggregatiefuncties
Hoewel deze functies dezelfde namen hebben als hun Excel-tegenhangers, maken ze gebruik van de analyse-engine van Power Pivot in het geheugen en zijn ze herschreven om te werken met tabellen en kolommen. U kunt geen DAX-formule gebruiken in een Excel-werkmap en omgekeerd. Ze kunnen alleen worden gebruikt in het Power Pivot-venster en in draaitabellen die zijn gebaseerd op Power Pivot gegevens. Hoewel de functies identieke namen hebben, kan het gedrag enigszins afwijken. Zie de naslagonderwerpen voor afzonderlijke functies voor meer informatie.
De manier waarop kolommen in een aggregatie worden geëvalueerd, verschilt ook van de manier waarop Excel aggregaties verwerkt. Een voorbeeld kan helpen om dit te illustreren.
Stel dat u een som wilt ophalen van de waarden in de kolom Bedrag in de tabel Verkoop, zodat u de volgende formule maakt:
=SUM('Sales'[Amount])
In het eenvoudigste geval haalt de functie de waarden op uit één niet-gefilterde kolom en is het resultaat hetzelfde als in Excel, waarbij altijd alleen de waarden in de kolom Hoeveelheid worden opge tellen. In Power Pivot wordt de formule echter geïnterpreteerd als 'Haal de waarde in Bedrag op voor elke rij van de tabel Verkoop en tel deze afzonderlijke waarden vervolgens op. Power Pivot evalueert elke rij waarop de aggregatie wordt uitgevoerd en berekent één scalaire waarde voor elke rij en voert vervolgens een aggregatie uit op deze waarden. Daarom kan het resultaat van een formule verschillen als er filters zijn toegepast op een tabel of als de waarden worden berekend op basis van andere aggregaties die mogelijk worden gefilterd. Zie Context in DAX-formules voor meer informatie.
DAX Time Intelligence-functies
Naast de tabelaggregatiefuncties die in de vorige sectie worden beschreven, bevat DAX aggregatiefuncties die werken met datums en tijden die u opgeeft, om ingebouwde tijdintelligentie te bieden. Deze functies gebruiken datumbereiken om gerelateerde waarden op te halen en de waarden te aggregeren. U kunt ook waarden in datumbereiken vergelijken.
De volgende tabel bevat de time intelligence-functies die kunnen worden gebruikt voor aggregatie.
Functie |
Gebruik |
Berekent een waarde aan het kalendereinde van de opgegeven periode. |
|
Berekent een waarde aan het kalendereind van de periode voorafgaand aan de opgegeven periode. |
|
Berekent een waarde voor het interval dat begint op de eerste dag van de periode en eindigt op de laatste datum in de opgegeven datumkolom. |
De andere functies in de sectie Time Intelligence-functie (Time Intelligence-functies) zijn functies die kunnen worden gebruikt voor het ophalen van datums of aangepaste datumbereiken voor gebruik in aggregatie. U kunt bijvoorbeeld de functie DATESINPERIOD gebruiken om een datumbereik te retourneren en die set datums als argument voor een andere functie gebruiken om een aangepaste aggregatie voor alleen die datums te berekenen.