Office
Aanmelden
Data Analysis Expressions (DAX) in Power Pivot

Data Analysis Expressions (DAX) in Power Pivot

Opmerking:  We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

Data Analysis Expressions (DAX) lijkt een beetje problematisch aanvankelijk, maar niet de naam van de tuin u laten. Grondbeginselen van DAX zijn heel eenvoudig kunnen begrijpen. Eerste dingen DAX is eerst - niet een programmeertaal. DAX is een formule taal. U kunt DAX gebruiken om aangepaste berekeningen voor Berekende kolommen en metingen (ook wel bekend als berekende velden) te definiëren. DAX bevat enkele functies die worden gebruikt in Excel-formules, en nog meer functies die zijn ontworpen om te werken met relationele gegevens en daar dynamische aggregatie.

Wat zijn DAX-formules?

DAX-formules vertonen sterke overeenkomsten met Excel-formules. Als u een formule wilt maken, typt u een isgelijkteken, gevolgd door een functienaam of expressie en eventueel waarden of argumenten. Net als Excel bevat DAX verschillende functies waarmee u met tekenreeksen kunt werken, berekeningen met datums en tijden kunt uitvoeren of voorwaardelijke waarden kunt maken.

DAX-formules zijn echter aanzienlijk verschillend:

  • Als u berekeningen per rij wilt aanpassen, biedt DAX functies waarmee u de huidige rijwaarde of een gerelateerde waarde kunt gebruiken om berekeningen uit te voeren die naar gelang de context variëren.

  • DAX bevat een nieuw type functie waarmee een tabel het resultaat is in plaats van één waarde. U kunt met deze functies invoer leveren voor andere functies.

  • Functies voor Tijdintelligentiein DAX kunt u berekeningen met datumbereiken en de resultaten van parallelle perioden vergelijken.

Waar gebruikt u DAX-formules?

U kunt in Power Pivot formules maken in berekende kolommen of in berekende velden.

Berekende kolommen

Een berekende kolom is een kolom die u toevoegt aan een bestaande Power Pivot-tabel. In plaats van de waarden in de kolom te plakken of te importeren, maakt u een DAX-formule waarmee de kolomwaarden worden gedefinieerd. Als u de Power Pivot-tabel opneemt in een draaitabel (of draaigrafiek), kan de berekende kolom op dezelfde manier als andere gegevenskolommen worden gebruikt.

De formules in berekende kolommen lijken veel op de formules die u in Excel maakt. In tegenstelling tot Excel kunt u echter geen aparte formules maken voor verschillende rijen in een tabel. In plaats hiervan wordt de DAX-formule automatisch toegepast op de hele kolom.

Wanneer een kolom een formule bevat, wordt voor elke rij de waarde berekend. Zodra u de formule maakt, worden de resultaten voor de kolom berekend. Kolomwaarden worden alleen herberekend als de onderliggende gegevens worden vernieuwd of als handmatige herberekening wordt gebruikt.

U kunt berekende kolommen die zijn gebaseerd op eenheden en andere berekende kolommen maken. Echter niet dezelfde naam voor een berekende kolom en een maateenheid, zoals dit leiden kan tot verwarrende resultaten. Wanneer wordt verwezen naar een kolom, is het beste een volledig gekwalificeerde kolomverwijzing gebruiken om te voorkomen dat per ongeluk aanroepen van een maateenheid.

Zie Berekende kolommen in Power Pivot voor meer informatie.

Metingen

Een maateenheid is een formule die specifiek voor gebruik in een draaitabel (of draaigrafiek) dat wordt gebruikt Power Pivot gegevens wordt gemaakt. Metingen worden gebaseerd op standaardaggregatiefuncties, zoals tellen of som, of u kunt uw eigen formule definiëren met behulp van DAX. Een maateenheid wordt gebruikt in het waardengebied van een draaitabel . Als u plaatsen berekende resultaten in een ander gebied van een draaitabel wilt, kunt u een berekende kolom gebruiken.

Wanneer u een formule voor een maateenheid voor de expliciete definieert, gebeurt er niets totdat u de maateenheid in een draaitabel toevoegen. Wanneer u de maateenheid toevoegt, wordt de formule wordt geëvalueerd voor elke cel in het waardengebied van de draaitabel . Aangezien een resultaat wordt gemaakt voor elke combinatie van rij- en kolomkoppen, kan het resultaat voor de eenheid afwijken in elke cel.

De definitie van de maateenheid die u maakt wordt met de bijbehorende gegevens brontabel opgeslagen. Er wordt weergegeven in de lijst PivotTable Fields en is beschikbaar voor alle gebruikers van de werkmap.

Zie metingen in Power Pivotvoor meer informatie.

Formules maken met de formulebalk

Power Pivot bevat net als Excel,  een formulebalk om het maken en bewerken van formules te vereenvoudigen, en de functie Automatisch aanvullen om type- en syntaxisfouten tot een minimum te beperken.

De naam van een tabel opgeven   Begin de naam van de tabel te typen. Voor Automatisch aanvullen wordt een vervolgkeuzelijst weergegeven met geldige namen die met die letters beginnen.

De naam van een kolom opgeven   Typ een vierkante haak en kies vervolgens de kolom in de lijst met kolommen in de huidige tabel. Voor een kolom in een andere tabel begint u de eerste letters van de tabelnaam te typen en kiest u vervolgens de kolom in de vervolgkeuzelijst van Automatisch aanvullen.

Zie Formules maken voor berekeningen in Power Pivot voor meer informatie en stapsgewijze instructies voor het maken van formules.

Tips voor het gebruik van Automatisch aanvullen

U kunt Formule automatisch aanvullen midden in een bestaande formule met geneste functies gebruiken. De tekst direct vóór het invoegpunt wordt gebruikt om waarden in de vervolgkeuzelijst weer te geven. Alle tekst na het invoegpunt blijft ongewijzigd.

Gedefinieerde namen die u voor constanten maakt, worden niet in de vervolgkeuzelijst van Automatisch aanvullen weergegeven, maar u kunt ze wel typen.

Power Pivot voegt de afsluitende haken van functies niet toe en voegt evenmin automatisch het juiste aantal haken in. Controleer zelf of elke functie syntactisch correct is. Anders kunt u de formule niet opslaan of gebruiken. 

Meerdere functies in een formule gebruiken

U kunt functies nesten, wat betekent dat u de resultaten van een functie kunt gebruiken als argument voor een andere functie. U kunt functies in berekende kolommen tot 64 niveaus diep nesten. Het maken van formules of het oplossen van problemen wordt echter wel bemoeilijkt door het nesten.

Veel DAX-functies zijn uitsluitend bedoeld voor gebruik als geneste functies. Deze functies resulteren in een tabel, die niet direct kan worden opgeslagen als resultaat, maar dient als invoer voor een tabelfunctie. Voor de functies SUMX, AVERAGEX en MINX is bijvoorbeeld een tabel als eerste argument vereist.

Opmerking: Enkele beperkingen voor het nesten van functies bestaan binnen eenheden, om ervoor te zorgen dat de prestaties niet wordt beïnvloed door de vele berekeningen vanwege afhankelijkheden tussen kolommen.

DAX-functies en Excel-functies vergelijken

De DAX-functiebibliotheek is gebaseerd op de Excel-functiebibliotheek, maar de bibliotheken hebben veel verschillen. In dit gedeelte vindt u een overzicht van de verschillen en overeenkomsten tussen Excel-functies en DAX-functies.

  • Veel DAX-functies hebben dezelfde naam en hetzelfde gedrag als Excel-functies, maar zijn aangepast voor verschillende typen invoer en kunnen in sommige gevallen een ander gegevenstype retourneren. In het algemeen kunt u geen DAX-functies gebruiken in een Excel-formule of Excel-formules in Power Pivot zonder aanpassingen te verrichten.

  • DAX-functies gebruiken geen celverwijzing of of -bereik als verwijzing, maar een kolom of tabel.

  • Datum- en tijdfuncties van DAX retourneren een datetime-gegevenstype. Datum- en tijdfuncties in Excel resulteren daarentegen in een geheel getal dat staat voor een datum als een serieel getal.

  • Veel van de nieuwe DAX-functies retourneren een tabel met waarden of maken berekeningen op basis van een tabel met waarden als invoer. Excel heeft daarentegen geen functies die een tabel retourneren, maar sommige functies kunnen wel met matrices werken. De mogelijkheid om eenvoudig naar volledige tabellen en kolommen te verwijzen, is nieuw in Power Pivot.

  • DAX heeft nieuwe lookup-functies die vergelijkbaar zijn met de matrix- en vectorlookup-functies in Excel. Voor de DAX-functies is het echter vereist dat er een relatie tussen de tabellen tot stand komt.

  • De gegevens in een kolom moeten altijd van hetzelfde gegevenstype zijn. Als de gegevens niet van hetzelfde type zijn, wijzigt DAX de hele kolom in het gegevenstype dat het beste bij alle waarden past.

DAX-gegevenstypen

U kunt gegevens in een Power Pivot-gegevensmodel importeren uit veel verschillende gegevensbronnen die verschillende gegevenstypen kunnen ondersteunen. Wanneer u de gegevens importeert of laadt en ze vervolgens in berekeningen of in draaitabellen gebruikt,  worden de gegevens geconverteerd naar een van de Power Pivot-gegevenstypen. Zie Gegevenstypen in gegevensmodellen voor een lijst met de gegevenstypen.

Het tabelgegevenstype is een nieuw gegevenstype in DAX en wordt gebruikt als de in- of uitvoer voor veel nieuwe functies. De functie FILTER gebruikt bijvoorbeeld een tabel als invoer en voert een andere tabel uit met alleen de rijen die aan de filtervoorwaarden voldoen. Door tabelfuncties te combineren met aggregatiefuncties kunt u complexe berekeningen uitvoeren op dynamisch gedefinieerde gegevenssets. Zie Aggregaties in Power Pivot voor meer informatie.

Formules en het relationele model

Het Power Pivot-venster is een gebied waarin u met verschillende gegevenstabellen kunt werken en de tabellen in een relationeel model kunt verbinden. Binnen dit gegevensmodel worden tabellen aan elkaar verbonden door relaties, waarmee u correlaties met kolommen in andere tabellen kunt maken voor interessantere berekeningen. U kunt bijvoorbeeld formules maken waarmee de som van de waarden van een gerelateerde tabel wordt berekend en vervolgens die waarde in één cel opslaan. Of u kunt filters op tabellen en kolommen toepassen om de rijen van de gerelateerde tabel te beheren. Zie Relaties tussen tabellen in een gegevensmodel voor meer informatie.

Aangezien u met relaties tabellen kunt koppelen, kunnen uw draaitabellen ook gegevens uit meerdere kolommen bevatten die van verschillende tabellen afkomstig zijn.

Omdat formules echter met volledige tabellen en kolommen kunnen werken, moet u berekeningen anders ontwerpen dan u in Excel zou doen.

  • In het algemeen wordt een DAX-formule in een kolom altijd toegepast op de gehele set waarden in de kolom (nooit slechts op enkele rijen of cellen).

  • Tabellen in Power Pivotmoeten altijd hetzelfde aantal kolommen in elke rij hebben, en alle rijen in een kolom moeten hetzelfde gegevenstype bevatten.

  • Wanneer tabellen via een relatie zijn verbonden, wordt van u verwacht dat u controleert of de twee kolommen die als sleutels worden gebruikt, waarden hebben die grotendeels overeenkomen. Aangezien in Power Pivot geen referentiële integriteit wordt afgedwongen, is het mogelijk dat u niet-overeenkomende waarden in een sleutelkolom hebt en toch een relatie kunt maken. De aanwezigheid van lege of niet-overeenkomende waarden kan echter van invloed zijn op de resultaten van formules en het uiterlijk van draaitabellen. Zie Lookups in Power Pivot-formules.

  • Wanneer u tabellen koppelt via relaties, vergroot u het bereik of de context waarin uw formules worden geëvalueerd. Formules in een draaitabel kunnen bijvoorbeeld worden beïnvloed door filters of kolom- en rijkoppen in de draaitabel. U kunt formules schrijven waarmee de context wordt gemanipuleerd, maar de context kan er ook voor zorgen dat uw resultaten op een onverwachte manier worden gewijzigd. Zie Context in DAX-formules voor meer informatie.

Resultaten van formules bijwerken

Gegevensvernieuwing en herberekening zijn twee afzonderlijke, maar gerelateerde bewerkingen die u moet kennen wanneer u een gegevensmodel ontwerpt dat ingewikkelde formules en grote hoeveelheden gegevens bevat, of gegevens bevat die uit externe gegevensbronnen worden opgehaald.

Gegevensvernieuwing is het proces waarmee gegevens in uw werkmap worden bijgewerkt met nieuwe gegevens uit een externe gegevensbron. U kunt gegevens handmatig vernieuwen na een door u opgegeven interval. Of u kunt een automatische vernieuwing van externe bronnen plannen als u de werkmap naar een SharePoint-site hebt gepubliceerd.

Herberekening is het proces waarmee de resultaten van formules worden bijgewerkt om wijzigingen in de formules zelf en deze wijzigingen in de onderliggende gegevens door te voeren. Herberekening kan op de volgende manieren de prestaties beïnvloeden:

  • Wanneer u een formule wijzigt, moet u voor een berekende kolom de resultaten van de formule altijd voor de hele kolom herberekenen.

  • Voor een eenheid, worden de resultaten van een formule niet berekend totdat de maateenheid in de context van de draaitabel of draaigrafiek wordt geplaatst. Wanneer u een rij of de kop van de kolom die van invloed is op filters voor de gegevens wijzigen of wanneer u handmatig de draaitabel vernieuwen worden ook de formule herberekend.

Problemen met formules oplossen

Fouten bij het schrijven van formules

Als er bij het definiëren van een formule een fout wordt weergegeven, bevat de formule mogelijk een syntactische fout, semantische fout of berekeningsfout.

Syntactische fouten zijn het gemakkelijkst op te lossen. Meestal ontbreekt er een haakje of komma. Raadpleeg de naslaginformatie over de functies voor expressies voor gegevensanalyse voor hulp bij de syntaxis van afzonderlijke functies.

Het andere type fout doet zich voor wanneer de syntaxis juist is, maar de waarde of de kolom waarnaar wordt verwezen niet klopt in de context van de formule. Dergelijke semantische en berekeningsfouten kunnen door de volgende problemen worden veroorzaakt:

  • In de formule wordt verwezen naar een niet-bestaande kolom, tabel of functie.

  • De formule lijkt correct, maar wanneer de gegevensengine de gegevens ophaalt, wordt vastgesteld dat de typen niet overeenkomen en wordt er een fout weergegeven.

  • Met de formule wordt een verkeerd aantal parameters of parameters van het verkeerde type aan een functie doorgegeven.

  • De formule verwijst naar een andere kolom die een fout bevat, en daarom zijn de waarden van de formule ongeldig.

  • De formule verwijst naar een kolom die nog niet is verwerkt, wat wil zeggen dat deze metagegevens bevat maar geen werkelijke gegevens die voor berekeningen kunnen worden gebruikt.

In de eerste vier gevallen markeert DAX de hele kolom die de ongeldige formule bevat. In het laatste geval geeft DAX de kolom grijs weer om aan te geven dat de kolom niet is verwerkt.

Onjuiste of ongebruikelijke resultaten bij het bepalen van de rangorde of sortering van kolomwaarden

Wanneer u de rangorde van waarden bepaalt of de waarden sorteert in een kolom die de waarde Geen getal bevat, krijgt u mogelijk verkeerde of onverwachte resultaten. Wanneer er bij een berekening bijvoorbeeld 0 door 0 wordt gedeeld, wordt een resultaat Geen getal geretourneerd.

De formule-engine bepaalt de rangorde en sortering namelijk door de numerieke waarden te vergelijken, maar Geen getal kan niet met andere getallen in de kolom worden vergeleken.

Voor correcte resultaten kunt u voorwaardelijke instructies met de functie ALS gebruiken om te testen op de waarde Geen getal en een numerieke waarde 0 te retourneren.

Compatibiliteit met tabelmodellen in Analysis Services en de DirectQuery-modus

Over het algemeen zijn de DAX-formules die u in Power Pivot hebt gemaakt, volledig compatibel met de tabelmodellen van Analysis Services. Als u echter uw Power Pivot-model migreert naar een Analysis Services-exemplaar en het model vervolgens implementeert in de DirectQuery-modus, zijn er enkele beperkingen.

  • Sommige DAX-formules kunnen verschillende resultaten retourneren wanneer u het model implementeert in de DirectQuery-modus.

  • Sommige formules kunnen validatiefouten veroorzaken wanneer u het model implementeert in de DirectQuery-modus, omdat de formule een DAX-functie bevat die niet wordt ondersteund in een relationele gegevensbron.

Zie de documentatie over tabelmodellen in Analysis Services in SQL Server 2012 Books Online voor meer informatie.

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

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×