DAX-scenario's in Power Pivot

Van toepassing op
Excel voor Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Deze sectie bevat koppelingen naar voorbeelden waarin het gebruik van DAX-formules in de volgende scenario's wordt gedemonstreerd.

  • Complexe berekeningen uitvoeren
  • Werken met tekst en datums
  • Voorwaardelijke waarden en testen op fouten
  • Time intelligence gebruiken
  • Classificatie en vergelijking van waarden

In dit artikel

Aan de slag

Ga naar de wiki DAX Resource Center , waar u allerlei informatie over DAX kunt vinden, waaronder blogs, voorbeelden, technische documenten en video's van toonaangevende professionals en Microsoft.

Scenario's: Complexe berekeningen uitvoeren

Met DAX-formules kunnen complexe berekeningen worden uitgevoerd die aangepaste aggregaties, filters en het gebruik van voorwaardelijke waarden omvatten. In deze sectie vindt u voorbeelden van hoe u aan de slag kunt gaan met aangepaste berekeningen.

Aangepaste berekeningen maken voor een draaitabel

CALCULATE en CALCULATETABLE zijn krachtige, flexibele functies die nuttig zijn voor het definiëren van berekende velden. Met deze functies kunt u de context wijzigen waarin de berekening wordt uitgevoerd. U kunt ook het type aggregatie of wiskundige bewerking aanpassen dat moet worden uitgevoerd. Zie de volgende onderwerpen voor voorbeelden.

Een filter toepassen op een formule

Op de meeste plaatsen waar een DAX-functie een tabel als argument gebruikt, kunt u in plaats daarvan een gefilterde tabel doorvoeren door de functie FILTER te gebruiken in plaats van de tabelnaam of door een filterexpressie op te geven als een van de functieargumenten. De volgende onderwerpen bevatten voorbeelden van hoe u filters maakt en hoe filters de resultaten van formules beïnvloeden. Zie Gegevens filteren in DAX-formules voor meer informatie.

Met de functie FILTER kunt u filtercriteria opgeven met behulp van een expressie, terwijl de andere functies specifiek zijn ontworpen om lege waarden uit te filteren.

Selectief filters verwijderen om een dynamische verhouding te maken

Door dynamische filters in formules te maken, kunt u eenvoudig de volgende vragen beantwoorden:

  • Wat was de bijdrage van de verkoop van het huidige product in de totale verkoop voor het jaar?
  • Hoeveel heeft deze divisie bijgedragen aan de totale winst voor alle operationele jaren, in vergelijking met andere divisies?

Formules die u in een draaitabel gebruikt, kunnen worden beïnvloed door de draaitabelcontext, maar u kunt de context selectief wijzigen door filters toe te voegen of te verwijderen. Het voorbeeld in het onderwerp ALL laat zien hoe u dit doet. Als u de verhouding tussen de verkopen van een specifieke wederverkoper en de verkopen van alle wederverkopers wilt bepalen, maakt u een meting waarmee de waarde voor de huidige context wordt berekend gedeeld door de waarde voor de context ALL.

Het onderwerp ALLEXCEPT bevat een voorbeeld van hoe selectief filters voor een formule kunnen worden gewist. In beide voorbeelden wordt uitgelegd hoe de resultaten veranderen, afhankelijk van het ontwerp van de draaitabel.

Zie de volgende onderwerpen voor andere voorbeelden van het berekenen van verhoudingen en percentages:

Een waarde uit een buitenste lus gebruiken

DAX kan niet alleen waarden uit de huidige context in berekeningen gebruiken, maar ook een waarde uit een vorige lus gebruiken om een set gerelateerde berekeningen te maken. In het volgende onderwerp vindt u stapsgewijze instructies voor het maken van een formule die verwijst naar een waarde uit een buitenste lus. De functie EERDER ondersteunt maximaal twee niveaus van geneste lussen.

Zie Context in DAX-formules voor meer informatie over rijcontext en gerelateerde tabellen, en over het gebruik van dit concept in formules.

Scenario's: Werken met tekst en datums

Deze sectie bevat koppelingen naar naslagonderwerpen over DAX die voorbeelden bevatten van veelvoorkomende scenario's met betrekking tot het werken met tekst, het extraheren en opstellen van datum- en tijdwaarden of het maken van waarden op basis van een voorwaarde.

Een sleutelkolom maken door samenvoeging

In Power Pivot zijn samengestelde sleutels niet toegestaan. Als uw gegevensbron samengestelde sleutels bevat, moet u deze mogelijk combineren in één sleutelkolom. Het volgende onderwerp bevat een voorbeeld van de manier waarop u een berekende kolom maakt op basis van een samengestelde sleutel.

Compose een datum gebaseerd op datumgedeelten die zijn opgehaald uit een tekstdatum

Power Pivot gebruikt een datum/tijd-gegevenstype uit SQL Server om met datums te werken. Als de externe gegevens datums bevatten met een andere notatie, bijvoorbeeld als de datums zijn geschreven in een regionale datumnotatie die niet wordt herkend door de Power Pivot-gegevensengine, of als uw gegevens gebruikmaken van surrogaatsleutels voor geheel getallen, moet u mogelijk een DAX-formule gebruiken om de datumdelen te extraheren en vervolgens samen te stellen in een geldige datum. tijdsweergave.

Als u bijvoorbeeld een kolom hebt met datums die zijn voorgesteld als een geheel getal en vervolgens zijn geïmporteerd als een teksttekenreeks, kunt u de reeks converteren naar een datum/tijd-waarde met behulp van de volgende formule:

=DATUM(RECHTS([Waarde1];4);LINKS([Waarde1];2);DEEL([Waarde1];2))

waarde1 Resultaat
01032009 1/3/2009
12132008 12/13/2008
06252007 6/25/2007

De volgende onderwerpen bevatten meer informatie over de functies die worden gebruikt om datums op te halen en op te stellen.

Een aangepaste datum- of getalnotatie definiëren

Als uw gegevens datums of getallen bevatten die niet worden weergegeven in een van de standaardtekstnotaties van Windows, kunt u een aangepaste notatie definiëren om ervoor te zorgen dat de waarden correct worden verwerkt. Deze notaties worden gebruikt bij het converteren van waarden naar tekenreeksen of van tekenreeksen. De volgende onderwerpen bevatten ook een gedetailleerd overzicht van de vooraf gedefinieerde notaties die beschikbaar zijn voor het werken met datums en getallen.

Gegevenstypen wijzigen met een formule

In Power Pivot wordt het gegevenstype van de uitvoer bepaald door de bronkolommen en u kunt het gegevenstype van het resultaat niet expliciet opgeven, omdat het optimale gegevenstype wordt bepaald door Power Pivot. U kunt echter gebruikmaken van de impliciete conversies van gegevenstypen die door Power Pivot worden uitgevoerd om het uitvoergegevenstype te bewerken. 

  • Als u een datum of een getalreeks wilt converteren naar een getal, vermenigvuldigt u met 1,0. Met de volgende formule wordt bijvoorbeeld de huidige datum minus 3 dagen berekend, waarna het bijbehorende gehele getal wordt weergegeven.
    =(VANDAAG()-3)*1,0
  • Als u een datum-, getal- of valutawaarde wilt converteren naar een tekenreeks, voegt u de waarde samen met een lege tekenreeks. Met de volgende formule wordt bijvoorbeeld de datum van vandaag als een tekenreeks geretourneerd.
    =""& VANDAAG()

De volgende functies kunnen er ook voor zorgen dat een bepaald gegevenstype wordt geretourneerd:

Reële getallen converteren naar gehele getallen

Scenario: voorwaardelijke waarden en testen op fouten

Net als Excel heeft DAX functies waarmee u waarden in de gegevens kunt testen en op basis van een voorwaarde een andere waarde kunt retourneren. U kunt bijvoorbeeld een berekende kolom maken die wederverkopers labelt als Voorkeursverkoop of Waarde , afhankelijk van de jaarlijkse verkoop. Functies die waarden testen, zijn ook handig voor het controleren van het bereik of het type waarden om te voorkomen dat onverwachte gegevensfouten berekeningen verstoren.

Een waarde maken op basis van een voorwaarde

U kunt geneste ALS-voorwaarden gebruiken om waarden te testen en voorwaardelijk nieuwe waarden te genereren. De volgende onderwerpen bevatten enkele eenvoudige voorbeelden van voorwaardelijke verwerking en voorwaardelijke waarden:

Testen op fouten in een formule

In tegenstelling tot Excel kunt u geen geldige waarden in de ene rij van een berekende kolom hebben en ongeldige waarden in een andere rij. Dat wil zeggen dat als ergens in een Power Pivot-kolom een fout bevat, aan de hele kolom een fout wordt toegevoegd, zodat u altijd formulefouten moet corrigeren die tot ongeldige waarden leiden.

Als u bijvoorbeeld een formule maakt waarmee door nul wordt gedeeld, kan dit het resultaat zijn dat oneindig is of dat er een fout optreedt. Sommige formules mislukken ook als de functie een lege waarde tegenkomt, terwijl een numerieke waarde wordt verwacht. Terwijl u uw gegevensmodel ontwikkelt, kunt u het beste toestaan dat fouten worden weergegeven, zodat u op het bericht kunt klikken en het probleem kunt oplossen. Wanneer u werkmappen publiceert, moet u echter rekening houden met foutafhandeling om te voorkomen dat onverwachte waarden ertoe leiden dat berekeningen mislukken.

Als u fouten in een berekende kolom wilt voorkomen, gebruikt u een combinatie van logische en informatieve functies om te testen op fouten en altijd geldige waarden te retourneren. De volgende onderwerpen bevatten enkele eenvoudige voorbeelden van hoe u dit in DAX kunt doen:

Scenario's: Time Intelligence gebruiken

De tijdintelligente functies van DAX bevatten functies waarmee u datums of datumbereiken uit uw gegevens kunt ophalen. Vervolgens kunt u deze datums of datumbereiken gebruiken om waarden voor vergelijkbare perioden te berekenen. De tijdintelligente functies omvatten ook functies die werken met standaard datumintervallen, zodat u waarden voor maanden, jaren of kwartalen kunt vergelijken. U kunt ook een formule maken waarmee waarden voor de eerste en laatste datum van een opgegeven periode met elkaar worden vergeleken.

Zie Tijdintelligente functies (DAX) voor een lijst met tijdintelligente functies. Zie Datums in Power Pivot voor tips over het effectieve gebruik van datums en tijden in een Power Pivot-analyse.

Cumulatieve verkoop berekenen

De volgende onderwerpen bevatten voorbeelden van het berekenen van eind- en beginsaldo's. In deze voorbeelden kunt u lopende saldi maken voor verschillende intervallen, zoals dagen, maanden, kwartalen of jaren.

Waarden in de loop van de tijd vergelijken

De volgende onderwerpen bevatten voorbeelden van het vergelijken van totalen in verschillende perioden. De standaardperioden die door DAX worden ondersteund, zijn maanden, kwartalen en jaren.

Een waarde voor een aangepast datumbereik berekenen

Zie de volgende onderwerpen voor voorbeelden van het ophalen van aangepaste periodes, zoals de eerste 15 dagen na het begin van een promotie.

Als u tijdintelligente functies gebruikt om een aangepaste set datums op te halen, kunt u die set datums gebruiken als invoer voor een functie die berekeningen uitvoert, om aangepaste aggregaties voor perioden te maken. Zie het volgende onderwerp voor een voorbeeld van hoe u dit doet:

  • PARALLELPERIOD, functie

    Opmerking

    Als het niet nodig is om een aangepast datumbereik op te geven, maar werkt met standaard boekhoudkundige eenheden, zoals maanden, kwartalen of jaren, raden wij u aan berekeningen uit te voeren met de tijdintelligente functies die voor dit doel zijn ontworpen, zoals TOTALQTD, TOTALMTD, TOTALQTD, enzovoort.

Scenario's: waarden rangschikken en vergelijken

Er zijn verschillende opties als u alleen de bovenste n items in een kolom of draaitabel wilt weergeven:

  • U kunt de functies in Excel gebruiken om een topfilter te maken. U kunt ook een aantal hoogste of laagste waarden selecteren in een draaitabel. In het eerste deel van deze sectie wordt beschreven hoe u kunt filteren op de tien belangrijkste items in een draaitabel. Zie de documentatie bij Excel voor meer informatie.
  • U kunt een formule maken waarmee waarden dynamisch worden gerangschikt en vervolgens filteren op de classificatiewaarden, of u kunt de rangwaarde gebruiken als een slicer. In het tweede deel van deze sectie wordt beschreven hoe u deze formule maakt en vervolgens die rangschikking in een slicer gebruikt.

Elke methode heeft voor- en nadelen.

  • Het bovenste filter van Excel is eenvoudig te gebruiken, maar het filter is uitsluitend bedoeld om het weer te geven. Als de onderliggende gegevens van de draaitabel veranderen, moet u de draaitabel handmatig vernieuwen om de wijzigingen weer te geven. Als u dynamisch met classificaties wilt werken, kunt u DAX gebruiken om een formule te maken waarmee waarden worden vergeleken met andere waarden in een kolom.
  • De DAX-formule is krachtiger. Bovendien kunt u, door de classificatiewaarde aan een slicer toe te voegen, gewoon op de slicer klikken om het aantal top-waarden dat wordt weergegeven te wijzigen. De berekeningen zijn echter rekenkundig kostbaar en deze methode is mogelijk niet geschikt voor tabellen met veel rijen.

Alleen de tien belangrijkste items in een draaitabel weergeven

De hoogste of laagste waarden in een draaitabel weergeven
  1. Klik in de draaitabel op de pijl-omlaag in de kop Rijlabels .
  2. Selecteer Waardefilters>Top 10.
  3. Kies in het dialoogvenster Kolomnaam> Top 10-filter < de kolom die u wilt rangschikken en het aantal waarden als volgt:
    1. Selecteer boven om de cellen met de hoogste waarden weer te geven of onderaan om de cellen met de laagste waarden weer te geven.
    2. Typ het aantal hoogste of laagste waarden dat u wilt zien. De standaardwaarde is 10.
    3. Selecteer hoe u de waarden wilt weergeven:
NameDescriptionItemsSelecteer deze optie om de draaitabel te filteren, zodat alleen de lijst met de hoogste of laagste items op basis van hun waarde wordt weergegeven. PercentageSelecteer deze optie om de draaitabel te filteren zodat alleen de items worden weergegeven die samen het opgegeven percentage vormen. SomSelecteer deze optie om de som van de waarden voor de hoogste of laagste items weer te geven.
  1. Selecteer de kolom met de waarden die u wilt rangschikken.
  2. Klik op OK.

Artikelen dynamisch bestellen met behulp van een formule

Het volgende onderwerp bevat een voorbeeld van hoe u DAX kunt gebruiken om een classificatie te maken die wordt opgeslagen in een berekende kolom. Aangezien DAX-formules dynamisch worden berekend, kunt u er altijd zeker van zijn dat de classificatie correct is, zelfs als de onderliggende gegevens zijn gewijzigd. Omdat de formule in een berekende kolom wordt gebruikt, kunt u de rangorde in een slicer gebruiken en vervolgens de bovenste 5, bovenste 10 of zelfs hoogste 100 waarden selecteren.