Inleiding

Voltooid

Met behulp van Data Analysis Expressions (DAX) kunt u drie typen berekeningen toevoegen aan uw semantische model:

  • Berekende tabellen
  • Berekende kolommen
  • Metingen

Notitie

DAX kan ook worden gebruikt voor het definiëren van beveiligingsregels op rijniveau. Dit zijn expressies waarmee filters worden afgedwongen voor modeltabellen. Regels worden echter niet beschouwd als modelberekeningen en vallen daarom buiten het bereik van deze module. Zie Beveiliging op rijniveau met Power BI voor meer informatie.

Berekende tabellen

U kunt een DAX-formule schrijven om een berekende tabel toe te voegen aan uw model. Met de formule kunnen bestaande modelgegevens worden gedupliceerd of getransformeerd of kan een nieuwe gegevensreeks worden gemaakt om een nieuwe tabel te produceren. Berekende tabelgegevens worden altijd geïmporteerd in uw model, zodat de opslaggrootte van het model wordt vergroot en de vernieuwingstijd van gegevens kan worden verlengd.

Notitie

Een berekende tabel kan geen verbinding maken met externe gegevens. Hiervoor moet u Power Query gebruiken.

Berekende tabellen kunnen handig zijn in verschillende scenario's:

  • Datumtabellen
  • Rollenspeldimensies
  • Wat-als-analyses

Datumtabellen

Datumtabellen zijn vereist om speciale tijdsfilters toe te passen, bekend als time intelligence. DAX Time Intelligence-functies werken alleen correct wanneer een datumtabel is ingesteld. Wanneer uw brongegevens geen datumtabel bevatten, kunt u er een maken als berekende tabellen met behulp van de CALENDAR DAX-functies of CALENDARAUTO .

Rollenspeldimensies

Wanneer twee modeltabellen meerdere relaties hebben, kan dit zijn omdat uw model een rollenspeldimensie heeft. Als u bijvoorbeeld een tabel met de naam Sales hebt die twee datumkolommen bevat, OrderDateKey en ShipDateKey, zijn beide kolommen gerelateerd aan de kolom Date in de tabel Date . In dit geval wordt de tabel Datum beschreven als een rollenspeldimensie, omdat deze de rol van orderdatum of verzenddatum kan spelen.

Microsoft Power BI-modellen bieden alleen een actieve relatie tussen tabellen, die in het modeldiagram wordt aangegeven met een ononderbroken lijn. De actieve relatie wordt standaard gebruikt om filters door te geven, in dit geval van de tabel Date naar de kolom OrderDateKey in de tabel Sales . Resterende relaties tussen de twee tabellen zijn inactief. In een modeldiagram worden de relaties weergegeven als een onderbroken lijn. Inactieve relaties worden alleen gebruikt wanneer ze expliciet worden aangevraagd in een berekende formule met behulp van de USERELATIONSHIP DAX-functie.

Misschien kan een beter modelontwerp twee datumtabellen hebben, elk met een actieve relatie met de tabel Sales . Rapportgebruikers kunnen dus filteren op de orderdatum of de verzenddatum, of op beide tegelijkertijd. Een berekende tabel kan de gegevens van de tabel Date dupliceren om de tabel Verzenddatum te maken.

Wat-als-analyses

Power BI Desktop biedt ondersteuning voor een functie met de naam Wat-als-parameters. Wanneer u een Wat-als-parameter maakt, wordt er automatisch een berekende tabel toegevoegd aan uw model.

Met Wat-als-parameters kunnen rapportgebruikers waarden selecteren of filteren op basis van gegevens die zijn opgeslagen in de berekende tabel. Metingformules kunnen een of meer geselecteerde waarden op een zinvolle manier gebruiken. Een wat-als-parameter kan de rapportgebruiker bijvoorbeeld toestaan een hypothetische wisselkoers te selecteren en een meting kan omzetwaarden (in een lokale valuta) delen door de geselecteerde koers.

Wat-als berekende tabellen zijn niet gerelateerd aan andere modeltabellen, omdat deze niet worden gebruikt om filters door te geven. Daarom worden ze soms niet-verbonden tabellen genoemd.

Berekende kolommen

U kunt een DAX-formule schrijven om een berekende kolom toe te voegen aan elke tabel in uw model. De formule wordt geëvalueerd voor elke tabelrij en retourneert één waarde. Wanneer de formule wordt toegevoegd aan een tabel met de importopslagmodus, wordt de formule geëvalueerd wanneer het semantische model wordt vernieuwd en wordt de opslaggrootte van uw model vergroot. Wanneer de formule wordt toegevoegd aan een tabel met de opslagmodus DirectQuery, wordt de formule geëvalueerd door de onderliggende brondatabase wanneer de tabel wordt opgevraagd.

In het deel venster Fields hebben berekende kolommen een speciaal pictogram. In het volgende voorbeeld ziet u één berekende kolom in de tabel Klant met de naam Leeftijd.

Metingen

U kunt een DAX-formule schrijven om een meting toe te voegen aan elke tabel in uw model. De formule maakt een samenvatting van modelgegevens. Net als bij een berekende kolom moet de formule één waarde retourneren. In tegenstelling tot berekende kolommen, die worden geëvalueerd tijdens het vernieuwen van gegevens, worden metingen tijdens de query geëvalueerd. De resultaten worden nooit opgeslagen in het model.

In het deelvenster Fields worden metingen weergegeven met het rekenmachinepictogram. In het volgende voorbeeld ziet u drie metingen in de tabel Sales : Cost, Profit en Revenue.

Af en toe kunnen metingen worden beschreven als expliciete metingen. Voor de duidelijkheid, expliciete metingen zijn modelberekeningen die in DAX zijn geschreven en vaak worden ze eenvoudigweg metingen genoemd. Maar het concept van impliciete metingen bestaat ook. Impliciete metingen zijn kolommen die op een eenvoudige manier kunnen worden samengevat door visuele elementen, zoals Count, Sum, Minimum, Maximum, enzovoort. U kunt impliciete metingen identificeren in het deelvenster Velden , omdat ze worden weergegeven met het sigma-symbool ( ∑ ).

Notitie

Elke kolom kan worden samengevat wanneer deze wordt toegevoegd aan een visueel element. Dus of ze nu worden weergegeven met het sigma-symbool of niet, wanneer ze aan een visual worden toegevoegd, kunnen ze worden ingesteld als impliciete metingen.

Daarnaast bestaat er geen concept als berekende meting in modellen in tabelvorm. Het woord berekend wordt gebruikt voor het beschrijven van berekende tabellen en berekende kolommen om deze te onderscheiden van tabellen en kolommen die afkomstig zijn van Power Query. Power Query heeft niet het concept van een expliciete meting.