Delen via


Werken met de DAX-queryweergave

Met de DAX-queryweergave in Power BI kunt u DAX-query's (Data Analysis Expressions) in semantische modellen bekijken en ermee werken.

DAX-query's

In Power BI worden DAX-formules gebruikt om verschillende typen berekeningen voor uw gegevens te definiëren, maar kunnen ook worden gebruikt om rolbeveiliging te definiëren. DAX-query's kunnen daarentegen worden gebruikt om gegevens uit het model te retourneren.

DAX-query's zijn vergelijkbaar met SQL-query's, omdat ze u gegevens kunnen laten zien die u al hebt. DAX-query's maken geen items in het model of de visuals in het rapport.

DAX-query's hebben twee hoofdonderdelen:

  • Een EVALUATE-instructie , die vereist is. Hiermee geeft u op wat en hoe gegevens worden geretourneerd in de query.
  • Een DEFINE-instructie , die optioneel is. Hiermee kunt u DAX-formules, zoals een meting, definiëren die u in de query kunt gebruiken. Metingen die zijn gemaakt of bijgewerkt met de DAX-query DEFINE MEASURE, zijn DAX-querybereikmetingen, die alleen worden uitgevoerd in de context van de DAX-query. DAX-metingen met querybereik kunnen worden toegevoegd aan het model met behulp van CodeLens-modelacties bijwerken of model bijwerken met de knop Wijzigingen .

Zie DAX-query's in de DAX-verwijzing voor meer informatie over hoe query's worden gebruikt.

DAX-queryweergave openen

Selecteer in Power BI Desktop het pictogram DAX-queryweergave aan de linkerkant.

Schermopname van het pictogram voor de DAX-queryweergave in Power BI Desktop.

Kies in de werkruimte Power BI-service of Fabric Portal DAX-query's schrijven in het contextmenu.

Selecteer op de pagina met semantische modeldetails van de Power BI-service- of Fabric-portal DAX-query's schrijven boven aan de pagina.

Indeling van DAX-queryweergave

Laten we de DAX-queryweergave nader bekijken in Power BI Desktop.

Diagram met de indeling van de DAX-queryweergave.

De DAX-queryweergave bevat deze elementen:

Lint

Het lint van de DAX-queryweergave bevat algemene acties die worden gebruikt bij het schrijven van DAX-query's.

Schermopname van het lint van de DAX-queryweergave.

Laten we eens kijken naar elementen op het lint:

Indeling query

Selecteer de knop Query opmaken of gebruik Shift+Alt+F om de huidige query op te maken. De query wordt ingesprongen met tabbladen. DAX-functies worden gewijzigd in HOOFDLETTERS en er worden extra regels toegevoegd. Het opmaken van uw DAX-query wordt als best practice beschouwd en verbetert de leesbaarheid van DAX-query's. De opmaak wordt ook zodanig ingesprongen dat u secties van de query kunt samenvouwen en uitvouwen.

Schermopname van de knop Query opmaken.

Opmerking en opmerking ongedaan maken

Selecteer de knop Opmerking op het lint om een dubbele backslash (//) toe te voegen aan het begin van de regel waar de cursor zich bevindt of alle geselecteerde lijnen. Deze opmerkingen bevatten de regels en wanneer de DAX-query wordt uitgevoerd, worden deze regels genegeerd.

Selecteer de knop Opmerkingen op het lint verwijderen om te verwijderen // aan het begin van een regel waar de cursor zich bevindt of alle geselecteerde lijnen. Het werkt niet op regels waar meerdere regelcommentaar-notatie wordt toegevoegd.

U kunt ook Ctrl+/ gebruiken om tussen opmerkingen en opmerkingen te schakelen.

Schermopname van de knoppen Opmerking en Opmerkingen op het lint van de DAX-queryweergave.

Zoeken en vervangen

Selecteer de knop Lint zoeken of gebruik Ctrl+F om te zoeken naar tekst in de DAX-queryeditor. Zoeken bevat opties om hoofdletters te vergelijken, hele woord te vergelijken, een reguliere expressie te gebruiken en alle overeenkomsten voor de huidige query te doorlopen. U kunt ook de dubbele punthaak links van het vak Zoeken selecteren om Vervangen in te voeren.

Schermopname van de knop Zoeken op het lint van de DAX-queryweergave.

Selecteer de knop Vervangen op het lint of gebruik Ctrl+H om tekst te zoeken en te vervangen in de DAX-queryeditor. Vervangen bevat opties voor het behouden van het hoofdlettergebruik en het vervangen van één voor één of allemaal tegelijk.

Schermopname van de mogelijkheid Vervangen in het lint van de DAX-queryweergave.

Opdrachtpalet

Selecteer de lintknop Opdrachtpalet of gebruik Ctrl+Alt+P om het opdrachtenpaletvak te openen. U kunt zoeken naar aanvullende ACTIES van de DAX-queryeditor en de bijbehorende sneltoetsen bekijken.

Schermopname van het opdrachtenpalet voor de DAX-queryweergave.

Opdrachtbalk

De opdrachtbalk van de DAX-queryweergave bevat de belangrijkste acties bij het gebruik van de DAX-queryweergave.

Uitvoeren en annuleren

Met de knop Uitvoeren wordt de DAX-query of de geselecteerde regels van een query uitgevoerd. De status van een query nadat deze is uitgevoerd, wordt weergegeven op de onderste statusbalk.

Schermopname van de opdrachtbalk van de DAX-queryweergave.

Wanneer een query wordt uitgevoerd, wordt de knop Annuleren , die kan worden gebruikt om een actieve query te stoppen.

Schermopname van het annuleren van de DAX-queryweergave.

Model bijwerken met wijzigingen

Met de knop Bijwerken met wijzigingen worden modelmetingen toegevoegd aan of overschreven met de DAX-formules uit de daX-querybereikmetingen. DAX-querybereikmetingen zijn die in het blok DEFINE MEASURE . U kunt er ook voor kiezen om modelmetingen afzonderlijk toe te voegen of te overschrijven met behulp van de CodeLens-tekst die boven elke tekst wordt weergegeven.

DAX-queryeditor

De DAX-queryweergave bevat een queryeditor waarin u query's kunt schrijven en bewerken. Het is meer dan alleen een grotere DAX-formulebalk. Het is krachtiger en heeft veel overeenkomsten met de DAX-editor die beschikbaar is in VS Code.

DAX-queryeditor heeft de volgende elementen:

Suggesties en IntelliSense

Typ uw query en krijg hulp bij suggesties en IntelliSense tijdens het bewerken.

Schermopname van de DAX-queryeditor intellisense.

Gebruik ENTER of TAB om de gemarkeerde intellisense toe te voegen, of Shift+ENTER of Alt+ENTER om naar een andere regel te gaan zonder de intellisense-optie toe te voegen. Als u Esc selecteert, wordt een van de overlays gesloten.

Beweeg de muisaanwijzer om metingformules weer te geven

Wanneer een meting is opgenomen in de DAX-query, kunt u de muisaanwijzer erop bewegen om de formule, naam en beschrijving weer te geven.

Schermopname van de aanwijsfunctie voor metingformules.

Selecteer deze optie om snelle acties voor het meten van gloeilampen weer te geven

Als u een meting selecteert in een EVALUATE-instructie in een query zonder een DEFINE-instructie, wordt de gloeilamp snelle acties weergegeven. Selecteer Definiëren of Definiëren met verwijzingen om een DEFINE-instructie te maken met de formule van deze meting met of zonder dax-formules voor referentiemeting.

Modelmetingen bijwerken met CodeLens

Het gebruik van DEFINE MEASURE is handig bij het maken van metingen door ze eerst te maken als DAX-metingen met een querybereik. U kunt meerdere metingen in één venster bewerken en vervolgens de query uitvoeren om de resultaten van alle of slechts enkele met specifieke groepen op kolommen weer te geven. U hoeft geen tabelvisual te maken in de rapportweergave en heen en weer te schakelen tussen metingsformules. CodeLens doet dit nog een stap verder door prompts op te geven wanneer de meting al in het model bestaat, of als deze niet bestaat, kan deze worden toegevoegd.

CodeLens is de klikbare tekst die boven een DEFINE MEASURE-blok wordt weergegeven. Voor DAX-querymetingen die nog niet aanwezig zijn in het model, wordt het updatemodel weergegeven: Nieuwe meting CodeLens toevoegen, waarmee de modelmeting wordt toegevoegd wanneer erop wordt geklikt. Voor DAX-querymetingen die al aanwezig zijn in het model en wanneer de DAX-meting met een DAX-bereik verschilt, wordt het updatemodel: Meting CodeLens overschrijven weergegeven, waardoor de modelmeting wordt gewijzigd in deze DAX-formule wanneer erop wordt geklikt.

U kunt ook meerdere metingen tegelijk toevoegen of overschrijven door op het updatemodel te klikken met de knop Wijzigingen in de opdrachtbalk .

Werkstroom voor bijwerken meten

De snelle acties van gloeilampen en CodeLens kunnen samen worden gebruikt in een volledige werkstroom:

  1. Kies in het contextmenu van een meting snelle query's en evalueer vervolgens of de query voor u is gemaakt op een nieuw tabblad Query.
  2. Selecteer de meting in de query om te definiëren of definiëren met verwijzingen en voeg de INSTRUCTIE DEFINE toe.
  3. Maak expressie-updates voor de meting en voer vervolgens de DAX-query uit om de wijziging weer te geven.
  4. Wanneer de wijziging wordt weergegeven zoals verwacht, gebruikt u het CodeLens Update-model: Overschrijf de meting om deze weer op te slaan in het model.

Hier volgt een meer visuele manier om inzicht te verkrijgen in de werkstroom:

Diagram van de werkstroom.

Resultatenraster

Wanneer een query wordt uitgevoerd, worden de resultaten weergegeven in het resultatenraster.

Schermopname van het resultatenraster.

Als er meer dan één EVALUATE-instructie in de queryeditor staat, kunnen meerdere resultaten worden geretourneerd. U kunt de vervolgkeuzelijst Resultaat gebruiken om ertussen te schakelen. Met de knop Kopiëren wordt het hele raster gekopieerd als een tabel met door tabs gescheiden tabel met kopteksten. Het raster kan worden aangepast met behulp van de pijlen in de rechterbovenhoek of handmatig met de cursor op de rand tussen het resultaatraster en de query-editor.

Als de query resulteert in een fout, wordt dit weergegeven in het resultatenraster.

Schermopname van het foutbericht in het resultatenraster.

Met een kopieerknop wordt de fout naar het Klembord overgedragen. Het begin van de fout geeft aan waar in de query de fout is. In de bovenstaande afbeelding ziet u de volgende fout:

"Query (4, 23) De waarde voor 'Verkoop 2' kan niet worden bepaald. De kolom bestaat niet of er is geen huidige rij voor deze kolom.'

En 'Query (4, 23)' geeft aan dat de fout zich op regel 4 en op teken 23 bevindt.

Querytabbladen

De DAX-queryweergave kan meerdere querytabbladen hebben, waarvan de naam kan worden gewijzigd of verwijderd. Ze geven ook de huidige status van de query weer.

Schermopname van de tabbladen Query.

Elk tabblad bevat een statusindicator:

  • Er wordt geen indicator weergegeven voordat een query is uitgevoerd.
  • Een groen vinkje geeft aan dat de query is uitgevoerd.
  • Een rood kruis geeft aan dat er een fout is opgetreden.
  • Een gevuld vierkant in een cirkel geeft aan dat de query is geannuleerd.
  • Een klok geeft aan dat de query wordt uitgevoerd.

Query's kunnen op de achtergrond worden uitgevoerd, zodat u verder kunt werken aan andere querytabbladen.

Opslaan van DAX-query's

Querytabbladen in de DAX-queryweergave worden opgeslagen in het bestand wanneer u opslaat vanuit Power BI Desktop, zodat u kunt doorgaan waar u was gebleven wanneer u het bestand opnieuw opent. Als u de ontwikkelaarsmodus gebruikt om een Power BI-project op te slaan, wordt elk querytabblad opgenomen als een DAX-bestand in de DAXQueries-map van de semantische modelmap of rapportmap als deze zijn gemaakt in een live verbonden rapport. Meer informatie vindt u in de documentatie voor de ontwikkelaarsmodus van Power BI.

Op dit moment kunt u de DAX-query's die eerder in Power BI Desktop zijn toegevoegd, niet weergeven of bewerken in de Power BI-service. Kijkers van het rapport of het semantische model zien de DAX-query's die zijn opgeslagen met het semantische model niet.

Tabbladen in de DAX-queryweergave worden gesloten wanneer u DAX-query's schrijft vanuit de Power BI-service- of Fabric-portal.

Gegevensvenster

In het deelvenster Gegevens worden de items in het model weergegeven om u te helpen bij het schrijven van query's. De bewerkingspaden voor de meeste van deze items worden geblokkeerd in de queryweergave.

Snelle query's

Het contextmenu gegevensvenster bevat snelle query's. Gebruik snelle query's om query's te maken op een nieuw querytabblad voor tabellen, kolommen en metingen. Snelle query's zijn ontworpen als productiviteitsverhoging voor algemene taken en gebouwd, zodat ze eenvoudig verder kunnen worden gewijzigd. Alle snelle query's worden gemaakt op een nieuw querytabblad en worden automatisch uitgevoerd.

Ergens

Definieer alle metingen in het model om een query te maken met alle metingformules die in een query worden weergegeven. U kunt eenvoudig zoeken in al uw metingformules.

Tabellen
  • Met SELECTCOLUMNS() kunt u de bovenste 100 rijen van de tabel weergeven met behulp van SELECTCOLUMNS() om de bovenste 100 rijen van de tabel weer te geven. De kolommen worden op elke regel weergegeven, zodat u ze eenvoudig kunt wijzigen door regels als commentaar te plaatsen. Er is ook een ORDER BY opgenomen om uw sorteervolgorde op te geven.

    Schermopname van de bovenste 100 rijen weergeven.

  • Kolomstatistieken weergeven maakt een query met statistische informatie voor elke kolom in uw tabel. Zie veel van de formules voor het samenvoegen van kolommen als MIN, MAX, AVERAGE, COUNT en meer.

  • Definieer alle metingen in deze tabel om een query te maken met de metingformules van deze tabel die worden weergegeven in een query.

Kolommen
  • Gegevensvoorbeeld weergeven maakt een query met DISTINCT() om de waarden van een kolom te bekijken.

    Schermopname van het voorbeeld van de gegevens weergeven.

  • Kolomstatistieken weergeven maakt een query met statistische informatie voor deze specifieke kolom. Zie veel formules voor het aggregeren van de kolom als MIN, MAX, AVERAGE, COUNT en meer. De geretourneerde query is afhankelijk van het gegevenstype van de kolom, met verschillende statistieken voor numerieke, tekst- en datumkolommen.

    Schermopname van het voorbeeld van de weergavekolom.

Metingen
  • Evalueren maakt een query om het resultaat van de meting weer te geven. SUMMARIZECOLUMNS() wordt gebruikt, zodat u elke groep per kolom kunt toevoegen om de meting weer te geven op specifieke groepen, zoals Land, Product, enzovoort.

    Schermopname van de meting evalueren.

  • Definieer en evalueert een query om het resultaat van de meting weer te geven en de formule van de meting weer te geven in een DEFINE-instructie die vervolgens kan worden gewijzigd.

    Schermopname van de meting definiëren en evalueren.

  • Met verwijzingen definiëren en evalueren wordt een query gemaakt om het resultaat van de meting weer te geven en niet alleen de formule van de meting weer te geven in een DEFINE-instructie die kan worden gewijzigd, maar ook andere metingen waarnaar wordt verwezen in de metingformule. Bewerk een deel in de volledige context van de meting.

    Schermopname van definiëren met verwijzingen en evalueren.

Visuele DAX-query's ophalen uit Performance Analyzer

Visuals in de rapportweergave halen gegevens op uit het model door een DAX-query te maken. De visuele query kan worden weergegeven in de DAX-queryweergave met behulp van Performance Analyzer. Performance Analyzer kan u inzicht geven in de reden waarom een visual mogelijk een onverwachte waarde weergeeft of gewoon als een manier om snel een query te starten die u verder kunt wijzigen.

Ga in de rapportweergave naar het lint Optimaliseren en selecteer Vervolgens Performance Analyzer. Selecteer Opname starten en visuals vernieuwen. Vouw in de onderstaande tabel een visual uit om opties weer te geven om query's te kopiëren of uit te voeren in de DAX-queryweergave. Als u in de DAX-queryweergave selecteert, wordt de visualquery gebruikt, wordt deze toegevoegd als een nieuw querytabblad in de DAX-queryweergave en wordt deze vervolgens uitgevoerd.

Schermopname van de visuele DAX-query's in de functie Performance Analyzer.

DAX-queryweergave en liveverbinding in Power BI Desktop

Power BI Desktop kan live verbinding maken met een gepubliceerd semantisch Power BI-model door op Verbinden te klikken wanneer een semantisch model is geselecteerd in de OneLake-gegevenshub. In de rechterbenedenhoek van de rapportweergave wordt Live weergegeven dat is verbonden met het semantische Power BI-model. DAX-queryweergave kan worden gebruikt om DAX-query's te schrijven wanneer er live verbinding is.

Modelmetingen

Wanneer u live bent verbonden met een gepubliceerd semantisch Power BI-model, kunt u modelmetingen niet weergeven of bewerken. Opties voor snelle query's zijn beperkt tot alleen Evalueren.

Rapportmetingen

Wanneer u live bent verbonden met een gepubliceerd semantisch Power BI-model, kunt u rapportmetingen maken. Rapportmetingen kunnen worden gemaakt met behulp van de actie Nieuwe meting in de rapport- en modelweergave, maar zoals de naam al doet vermoeden, zijn alleen beschikbaar in het huidige rapport. Na het maken toont de snelle query's in de DAX-queryweergave de optie definiëren met verwijzingen en evalueren. DAX-query's worden uitgevoerd op het semantische model, dus rapportmetingen moeten altijd worden geconverteerd naar DAX-querybereikmetingen in het blok DEFINE MEASURE om uit te voeren, omdat deze niet aanwezig zijn in het model zelf.

Het model bijwerken met de knop Wijzigingen en de CodeLens-opties voor het bijwerken van het model zijn niet beschikbaar voor rapportmetingen.

DAX-queryweergave in web

Schrijf DAX-query's van gepubliceerde semantische modellen met behulp van de DAX-queryweergave in het web. DaX-queryweergave op internet is dezelfde ervaring in Power BI Desktop, met een aantal uitzonderingen.

  • Gebruiker kan gegevensmodellen bewerken in de instelling van de Power BI-werkruimte Power BI-service (preview) moet zijn ingeschakeld om DAX-query's te schrijven. Meer informatie vindt u op Gegevensmodellen bewerken in de Power BI-service.
  • DAX-query's worden verwijderd bij sluiten. DAX-query's in Power BI Desktop worden opgeslagen in het model en een semantisch model kan DAX-query's bevatten die al in het model zijn opgeslagen. In de DAX-queryweergave op het web worden momenteel geen eerder opgeslagen DAX-query's weergegeven die mogelijk bestaan in het semantische model en worden query's die op internet zijn gemaakt, niet bewaard nadat u de browser hebt gesloten.
  • Schrijf-DAX-query's vereist schrijfmachtigingen voor het semantische model. Werkruimteviewers moeten Power BI Desktop gebruiken met een liveverbinding met het semantische model om DAX-query's te schrijven.

Overwegingen en beperkingen

Overwegingen waarmee u rekening moet houden:

  • Meer dan 500 regels in de DAX-queryeditor hebben merkbare vertraging bij het typen.
  • Snelle acties voor gloeilampen voor metingen worden alleen weergegeven wanneer er geen DEFINE-instructie op het querytabblad staat.
  • In het opdrachtenpalet ziet u enkele opdrachten die nog niet werken.
  • In het resultaatraster worden nog geen kolommen en metingen met een opgegeven indeling weergegeven, zoals Valuta, Geheel getal met duizenden, enzovoort.
  • Download dit bestand van Power BI-service bevat niet de DAX-query's die zijn opgeslagen in het gepubliceerde semantische model.
  • Het instellen van de eerste Git-integratie vanuit de werkruimte bevat geen DAX-query's die zijn opgeslagen in het gepubliceerde semantische model. Meer informatie vindt u in Fabric Git-integratie.

En er zijn enkele beperkingen om rekening mee te houden:

  • Maximaal 15 MB aan gegevens per query. Zodra 15 MB is overschreden, wordt de huidige rij voltooid, maar worden er geen extra rijen geschreven.
  • Maximaal 1.000.000 waarden per query. Als u een query uitvoert op 20 kolommen, kunt u maximaal 50.000 rijen terughalen (1 miljoen gedeeld door 20).
  • Definieer alle metingen in deze tabel of het model niet wanneer er meer dan 500 metingen zijn.

Het uitvoeren van DAX-query's in het web heeft extra limieten:

  • Er worden maximaal 99.999 rijen per query geretourneerd.
  • Schrijfmachtiging voor het semantische model. Kijkers met een samenstellingsmachtiging kunnen Power BI Desktop gebruiken om live verbinding te maken en de DAX-queryweergave gebruiken om DAX-query's uit te voeren.
  • Alleen beschikbaar voor niet-standaard semantische modellen. U kunt Power BI Desktop gebruiken om live verbinding te maken met het standaard semantische model en de DAX-queryweergave gebruiken om DAX-query's uit te voeren.
  • Gebruiker kan gegevensmodellen bewerken in de instelling van de Power BI-werkruimte Power BI-service (preview) moet zijn ingeschakeld om DAX-query's te schrijven. Meer informatie vindt u op Gegevensmodellen bewerken in de Power BI-service