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.
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.
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.
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.
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.
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.
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.
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.
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.
Wanneer een query wordt uitgevoerd, wordt de knop Annuleren , die kan worden gebruikt om een actieve query te stoppen.
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.
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.
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:
- 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.
- Selecteer de meting in de query om te definiëren of definiëren met verwijzingen en voeg de INSTRUCTIE DEFINE toe.
- Maak expressie-updates voor de meting en voer vervolgens de DAX-query uit om de wijziging weer te geven.
- 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:
Resultatenraster
Wanneer een query wordt uitgevoerd, worden de resultaten weergegeven in 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.
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.
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.
Nieuwe meting definiëren maakt een query met een metingblok definiëren. Gebruik deze om uw eigen meting te maken in de DAX-queryweergave en vervolgens toe te voegen aan uw model wanneer u klaar bent.
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.
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.
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.
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.
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.
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.
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.
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