In deze sectie vindt u 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

  • Tijdintelligentie gebruiken

  • Waarden rangschikken en vergelijken

In dit artikel

Aan de slag

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

Scenario's: Complexe berekeningen uitvoeren

DAX-formules kunnen complexe berekeningen uitvoeren die betrekking hebben op aangepaste aggregaties, filteren en het gebruik van voorwaardelijke waarden. 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 handig 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 u wilt uitvoeren. 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 meestal in plaats daarvan een gefilterde tabel gebruiken, door de functie FILTER te gebruiken in plaats van de tabelnaam, of door een filterexpressie op te geven als een van de functieargumenten. In de volgende onderwerpen worden voorbeelden gegeven van het maken van filters en hoe filters van invloed zijn op de resultaten van formules. Zie Gegevens filteren in DAX-formulesvoor meer informatie.

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

Filters selectief verwijderen om een dynamische verhouding te maken

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

  • Wat was de bijdrage van de verkoop van het huidige product aan de totale verkoop voor het jaar?

  • Hoeveel heeft deze divisie bijgedragen aan de totale winst voor alle bedrijfsjaren, vergeleken met andere afdelingen?

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. In het voorbeeld in het onderwerp ALLES ziet u hoe u dit doet. Als u de verhouding van de verkoop voor een specifieke wederverkoper wilt berekenen over de verkoop voor alle wederverkopers, maakt u een meting waarmee de waarde voor de huidige context wordt berekend, gedeeld door de waarde voor de ALL-context.

Het onderwerp ALLEXCEPT geeft een voorbeeld van het selectief wissen van filters op een formule. In beide voorbeelden ziet u hoe de resultaten veranderen, afhankelijk van het ontwerp van de draaitabel.

Zie de volgende onderwerpen voor andere voorbeelden van het berekenen van ratio's en percentages:

Een waarde uit een buitenste lus gebruiken

Naast het gebruik van waarden uit de huidige context in berekeningen, kan DAX een waarde uit een vorige lus gebruiken bij het maken van een set gerelateerde berekeningen. Het volgende onderwerp bevat een overzicht van het maken van een formule die verwijst naar een waarde uit een buitenste lus. De functie EERDER ondersteunt maximaal twee niveaus met geneste lussen.

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

Scenario's: Werken met tekst en datums

Deze sectie bevat koppelingen naar DAX-naslagonderwerpen met voorbeelden van veelvoorkomende scenario's, zoals het werken met tekst, het oppakken en opstellen van datum- en tijdwaarden of het maken van waarden op basis van een voorwaarde.

Een sleutelkolom maken op basis van samenvoeging

Power Pivot is geen samengestelde toetsen toegestaan. Als u daarom samengestelde sleutels in uw gegevensbron hebt, moet u deze mogelijk combineren tot één kolom met één sleutel. In het volgende onderwerp vindt u een voorbeeld van het maken van een berekende kolom op basis van een samengestelde sleutel.

Een datum opstellen op basis van datumonderdelen die zijn geëxtraheerd uit een tekstdatum

Power Pivot gebruikt een SQL Server datum-/tijdgegevenstype om met datums te werken; Als uw externe gegevens daarom datums bevatten die anders zijn opgemaakt, bijvoorbeeld als uw datums zijn geschreven in een regionale datumnotatie die niet wordt herkend door de gegevens engine van Power Pivot of als uw gegevens surrogaatsleutels voor gehele getallen gebruiken, moet u mogelijk een DAX-formule gebruiken om de datumonderdelen op te halen en vervolgens de onderdelen op te stellen in een geldige datum-/tijdweergave.

Als u bijvoorbeeld een kolom met datums hebt die zijn voorgesteld als een geheel getal en vervolgens als een tekenreeks zijn geïmporteerd, kunt u de tekenreeks converteren naar een datum-/tijdwaarde met de volgende formule:

=DATUM(RECHTS([Waarde1],4),LINKS([Waarde1],2),MID([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 standaardtekstindelingen Windows, kunt u een aangepaste indeling definiëren om ervoor te zorgen dat de waarden correct worden verwerkt. Deze indelingen worden gebruikt bij het converteren van waarden naar tekenreeksen of tekenreeksen. De volgende onderwerpen bieden ook een gedetailleerde lijst met de vooraf gedefinieerde indelingen 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 kunt u het gegevenstype van het resultaat niet expliciet opgeven, omdat het optimale gegevenstype wordt bepaald door Power Pivot. U kunt echter wel de impliciete gegevenstypeconversies gebruiken die door Power Pivot worden uitgevoerd om het uitvoergegevenstype te manipuleren. 

  • Als u een datum of een tekenreeks wilt converteren naar een getal, vermenigvuldigt u deze met 1,0. Met de volgende formule wordt bijvoorbeeld de huidige datum min 3 dagen berekend en wordt vervolgens de bijbehorende gehele waarde uitgevoerd.

    =(VANDAAG()-3)*1,0

  • Als u een datum-, getal- of valutawaarde wilt converteren naar een tekenreeks, maakt u de waarde samen met een lege tekenreeks. De volgende formule retourneert bijvoorbeeld de datum van vandaag als tekenreeks.

    =""& VANDAAG()

De volgende functies kunnen ook worden gebruikt om ervoor te zorgen dat een bepaald gegevenstype wordt geretourneerd:

Reële getallen converteren naar gehele getallen

Scenario: Voorwaardelijke waarden en testen op fouten

Net Excel dax functies waarin u waarden in de gegevens kunt testen en een andere waarde kunt retourneren op basis van een voorwaarde. U kunt bijvoorbeeld een berekende kolom maken die resellers labelt als Voorkeur of Waarde, afhankelijk van het jaarlijkse verkoopbedrag. Functies die waarden testen, zijn ook handig voor het controleren van het bereik of het type waarden, om te voorkomen dat onverwachte gegevensfouten berekeningen afbreken.

Een waarde maken op basis van een voorwaarde

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

Testen op fouten in een formule

In Excel kunt u geen geldige waarden in een rij van een berekende kolom en ongeldige waarden in een andere rij hebben. Als er dus een fout in een deel van een Power Pivot-kolom is, wordt de hele kolom gemarkeerd met een fout, zodat u formulefouten die leiden tot ongeldige waarden altijd moet corrigeren.

Als u bijvoorbeeld een formule maakt die door nul wordt verdeeld, krijgt u mogelijk het resultaat oneindigheid of een fout. Sommige formules mislukken ook als de functie een lege waarde tegenkomt wanneer er een numerieke waarde wordt verwacht. Terwijl u uw gegevensmodel ontwikkelt, kunt u het beste toestaan dat de fouten worden weergegeven, zodat u op het bericht kunt klikken en het probleem kunt oplossen. Wanneer u werkmappen publiceert, moet u echter foutafhandeling opnemen om te voorkomen dat onverwachte waarden ervoor zorgen dat berekeningen mislukken.

Om fouten in een berekende kolom te voorkomen, gebruikt u een combinatie van logische en informatiefuncties om fouten te testen en altijd geldige waarden te retourneren. In de volgende onderwerpen vindt u enkele eenvoudige voorbeelden van hoe u dit doet in DAX:

Scenario's: Time Intelligence gebruiken

De DAX-functies voor tijdintelligentie bevatten functies om u te helpen datums of datumbereiken op te halen uit uw gegevens. Vervolgens kunt u deze datums of datumbereiken gebruiken om waarden in vergelijkbare perioden te berekenen. De functies voor tijdintelligentie bevatten ook functies die werken met standaarddatumintervallen, zodat u waarden kunt vergelijken over maanden, jaren of kwartalen. U kunt ook een formule maken die waarden vergelijkt voor de eerste en laatste datum van een opgegeven periode.

Zie Time Intelligence Functions (DAX)voor een lijst met functies voor alle tijdintelligentie. Zie Datums in Power Pivotvoor tips over het effectief gebruiken van datums en tijden in Power Pivot analyse.

Cumulatieve verkoop berekenen

De volgende onderwerpen bevatten voorbeelden van het berekenen van eind- en openingssaldi. Met de voorbeelden kunt u lopende saldi maken tussen verschillende intervallen, zoals dagen, maanden, kwartalen of jaren.

Waarden in de tijd vergelijken

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

Een waarde berekenen over een aangepast datumbereik

Bekijk de volgende onderwerpen voor voorbeelden van het ophalen van aangepaste datumbereiken, zoals de eerste 15 dagen na de start van een verkooppromotie.

Als u tijdintelligentiefuncties 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 aggregaten te maken in verschillende perioden. Zie het volgende onderwerp voor een voorbeeld van hoe u dit doet:

  • PARALLELPERIOD, functie

    Opmerking: Als u geen aangepast datumbereik hoeft op te geven, maar met standaardrekeningseenheden zoals maanden, kwartalen of jaren werkt, raden we u aan berekeningen uit te voeren met de tijdintelligentiefuncties die hiervoor zijn ontworpen, zoals TOTALQTD, TOTALMTD, TOTALQTD, enzovoort.

Scenario's: Waarden rangschikken en vergelijken

Als u alleen het hoogste aantal items in een kolom of draaitabel wilt zien, hebt u verschillende opties:

  • U kunt de functies in Excel 2010 gebruiken om een topfilter te maken. U kunt ook een aantal hoogste of onderste waarden in een draaitabel selecteren. In het eerste deel van deze sectie wordt beschreven hoe u filtert op de tien belangrijkste items in een draaitabel. Zie de documentatie Excel voor meer informatie.

  • U kunt een formule maken die waarden dynamisch rangschikt en vervolgens filteren op de classificatiewaarden of de classificatiewaarde gebruiken als slicer. In het tweede deel van deze sectie wordt beschreven hoe u deze formule maakt en vervolgens die classificatie in een slicer gebruikt.

Er zijn voor- en nadelen aan elke methode.

  • Het Excel filter Top is eenvoudig te gebruiken, maar het filter is alleen voor weergavedoeleinden. Als de gegevens die ten grondslag liggen aan de draaitabel worden gewijzigd, moet u de draaitabel handmatig vernieuwen om de wijzigingen weer te geven. Als u dynamisch wilt werken met classificaties, kunt u DAX gebruiken om een formule te maken die waarden vergelijkt met andere waarden in een kolom.

  • De DAX-formule is krachtiger. Bovendien kunt u door de classificatiewaarde toe te voegen aan een slicer op de Slicer klikken om het aantal weergegeven topwaarden te wijzigen. De berekeningen zijn echter rekenkundige duur en deze methode is mogelijk niet geschikt voor tabellen met veel rijen.

Alleen de tien belangrijkste items in een draaitabel tonen

De bovenste of onderste waarden in een draaitabel tonen

  1. Klik in de draaitabel op de pijl-omlaag in de kop Rijlabels.

  2. Selecteer Waardefilters> Top 10.

  3. Kies in het dialoogvenster <de kolomnaam > de kolom die u wilt rangschikken en het aantal waarden als volgt:

    1. Selecteer Boven om de cellen met de hoogste waarden of Onder te zien om de cellen met de laagste waarden te zien.

    2. Typ het aantal hoogste of onderste waarden dat u wilt zien. De standaardwaarde is 10.

    3. Selecteer hoe u de waarden wilt weergeven:

Naam

Beschrijving

Items

Selecteer deze optie om de draaitabel te filteren om alleen de lijst met de bovenste of onderste items op hun waarden weer te geven.

Percentage berekenen

Selecteer deze optie om de draaitabel te filteren om alleen de items weer te geven die bij het opgegeven percentage komen.

Som

Selecteer deze optie om de som van de waarden voor de bovenste of onderste items weer te geven.

  1. Selecteer de kolom met de waarden die u wilt rangschikken.

  2. Klik op OK.

Items dynamisch bestellen met behulp van een formule

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

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft Office Insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de vertaalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×