Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
De derde pijler in de ontwikkeling van LuckyTemplates zijn DAX-berekeningen. Deze zelfstudie bevat een grondige DAX-handleiding voor beginners die de basisprincipes van formatteren en bewerken behandelt. Ook veelgebruikte DAX-functies komen aan bod.
Inhoudsopgave
DAX-editorhandleiding
Allereerst zijn hier enkele DAX Editor-tips die u moet kennen:
Gebruik Ctrl + muiswieltje om de lettergrootte in het DAX Editor-venster te vergroten of te verkleinen.
Gebruik Ctrl + Shift + L om alle instanties van een naam in één keer bij te werken.
Voeg het voorvoegsel " @ " toe aan virtuele tabellen of tijdelijke kolomnamen in DAX.
DAX-gids voor formatteren
Uw DAX-code moet georganiseerd en gemakkelijk te begrijpen zijn voor gebruikers.
Je schrijft niet alleen vandaag code voor jezelf, maar ook voor jezelf in de toekomst.
Het is belangrijk om DAX-codes te ontwikkelen die nu en later gemakkelijk leesbaar en begrijpelijk zijn voor uzelf en voor anderen.
Maak je geen zorgen als bewerken en ordenen je code uiteindelijk verpest. Computers zijn slim; zolang de syntaxis correct is, kunnen ze de codes die u hebt geschreven interpreteren en uitvoeren.
Een geweldig citaat van Marco Russo luidt:
Als het niet is geformatteerd, is het geen DAX.
Er zijn een aantal manieren om DAX te formatteren. De aanbevolen optie is het gebruik van de DAX Clean Up Tool die beschikbaar is op de LuckyTemplates Analyst Hub.
U kunt deze tool openen via deze . Een andere manier is om toegang te krijgen tot de LuckyTemplates-website en vervolgens Resources te selecteren. Onderaan de pagina vindt u de DAX Clean Up Tool.
Om deze tool te gebruiken, kopieert u uw code uit de DAX Editor in uw LuckyTemplates-bestand. Plak het in de DAX Clean Up Tool en klik vervolgens op Formatteren.
Zodra het opruimen is voltooid, kunt u de opgemaakte code weer in uw LuckyTemplates-bestand plakken.
U kunt de code ook in de tool bewerken.
Reageren in een DAX-code
Bij complexe DAX-codes is het een goede gewoonte om opmerkingen toe te voegen. U zult veel baat hebben bij een pseudocode-uitleg. Maar er zijn uitzonderingen.
Commentaar geven is een zeer persoonlijke bezigheid. Er kunnen verschillende meningen zijn over het juiste niveau van opmerkingen van ontwikkelaars en gebruikers. Dus nogmaals, bij het maken van codes en opmerkingen is het belangrijk om rekening te houden met hoe ze in toekomstige gevallen door gebruikers of ontwikkelaars zullen worden geaccepteerd en begrepen. Dit zal u en het bedrijf op de lange termijn enorm ten goede komen.
DAX-gids voor variabelen
Gebruik uitgebreide variabelenamen. De sleutel is duidelijkheid . Het is belangrijk om namen te maken die duidelijk en gemakkelijk te begrijpen zijn.
Nogmaals, computers zijn slim en kunnen gemakkelijk achterhalen wat er geschreven wordt. Onthoud dus dat u niet voor de computer of voor LuckyTemplates schrijft; je schrijft voor jezelf en voor iedereen die je code de komende maanden gaat gebruiken en onderhouden.
Wanneer u variabelen in uw DAX-code gebruikt, is het een best practice om een voorvoegsel voor de naam van een variabele te gebruiken om ervoor te zorgen dat u de juiste variabele kiest in volgende regels. Het onderstrepingsteken ( _ ) is een aanbevolen voorvoegsel om te gebruiken. Dit helpt ook om de lijst te verminderen die wordt gepresenteerd in de IntelliSense-functie in LuckyTemplates.
Hier is een voorbeeld:
U kunt zien dat wanneer underscore wordt getypt, er slechts twee keuzes worden gepresenteerd. Het aantal keuzes wordt aanzienlijk verminderd, wat de efficiëntie bij het coderen verbetert.
Een andere best practice is het gebruik van de RETURN Result- constructie.
Dit maakt het eenvoudiger om stapsgewijs DAX-codes te ontwikkelen en te debuggen.
Kwalificatie DAX-berekeningen
Wanneer u kolommen gebruikt in DAX-expressies, moet u specifiek zijn, omdat het mogelijk is om dezelfde kolomnaam in meerdere tabellen te hebben.
Er kan bijvoorbeeld een kolom Klantsleutel in zowel de Klanten- als de Verkooptabellen voorkomen.
Hoewel ze vaak hetzelfde betekenen en dezelfde gegevens bevatten, zal dat niet altijd het geval zijn. Om de gewenste resultaten te krijgen, moet u kolomnamen altijd kwalificeren.
Daarnaast moet u ervoor zorgen dat maatregelen niet aan een tabel gebonden zijn. Ze kunnen van de ene tabel naar de andere worden verplaatst, dus het is belangrijk om ervoor te zorgen dat meetwaarden niet gekwalificeerd zijn.
Belangrijke DAX-functies om te weten
1. BEREKEN
is een van de belangrijkste DAX-functies, omdat u hiermee de context van een berekening kunt wijzigen.
Deze functie zorgt echter vaak voor verwarring, niet omdat ze moeilijk te gebruiken is, maar eerder vanwege de naam. Zelfs als het CALCULATE heet, voert het niet echt een berekening uit. Het verandert eerder de context van een berekening.
In deze Sales LY-meting wordt bijvoorbeeld de CALCULATE-functie gebruikt om de context van de berekening van Total Sales te wijzigen in één jaar vóór de huidige evaluatiecontext.
2. DATETOEVOEGEN
Er zijn veel time intelligence-functies beschikbaar in DAX. Gebruikelijke DAX-codes zullen hoogstwaarschijnlijk de functies , en naast vele andere gebruiken. Maar is een van de meest veelzijdige DAX time intelligence-functies. En deze functie zou je eerste keuze moeten zijn.
Met DATEADD kan dezelfde syntaxis worden gebruikt voor meerdere berekeningen, achteruit of vooruit in de tijd, en voor JAAR, KWARTAAL, MAAND of DAG. Dit maakt het heel eenvoudig om meervoudige tijdsintelligentiemetingen te maken met behulp van kopiëren en plakken met kleine bewerkingen.
3. VERDELEN
Delen in LuckyTemplates kan op veel manieren. De eenvoudigste manier is om eenvoudige rekenkundige delingen te gebruiken.
Delen door nul gevallen vereisen echter meestal uitgebreide tests voordat u verder gaat. Gelukkig is er een DAX-functie die dit voor je regelt.
De functie verwerkt automatisch delen door nul en stelt u ook in staat om een alternatief resultaat toe te voegen. Omdat dit in LuckyTemplates eenvoudiger te rekenkundig delen is, is de code beter leesbaar.
4. SCHAKEL WAAR
Een andere DAX-code is de logica.
statements maakt die vaak moeilijk te lezen en te traceren zijn.
De instructie SWITCH TRUE biedt flexibiliteit om code op een later tijdstip te wijzigen en voorwaarden aan nieuwe aan te passen. Het is ook compacter waardoor het gemakkelijker te lezen is.
DAX-gids voor virtuele tafels
Gebruik bij het samenstellen van een virtuele tabel in uw DAX-code de functie om kolommen te groeperen in een basistabel. Omring het vervolgens met de constructie om kolommen toe te voegen.
Nogmaals, gebruik het voorvoegsel " @ " op kolommen met behulp van de functie ADDCOLUMNS om dubbelzinnigheid te voorkomen en ervoor te zorgen dat de gekozen virtuele tabelkolom correct is.
Als u met virtuele tabellen te maken heeft, wordt het ook aanbevolen om DAX Studio of de Tabular Editor te gebruiken om u te helpen.
Er kunnen veel relaties zijn tussen een paar tabellen in LuckyTemplates. De DAX-code gebruikt standaard de actieve relatie. Maar het kan worden gewijzigd om een bepaalde inactieve relatie te gebruiken door het gebruik van de opdracht .
Er kunnen bijvoorbeeld veel relaties zijn tussen de kolommen Datum van de tabel Datums en de tabel Verkoop. Verkoop [Orderdatum] is de actieve relatie, terwijl Verkoop [Factuurdatum] de inactieve relatie is. Wanneer u de Verkoop [Orderdatum] wilt gebruiken in een berekening, is er geen extra inspanning vereist. Als u echter de verkoop [factuurdatum] in een berekening wilt gebruiken, moet u deze samen met de opdracht USERELATIONSHIP gebruiken.
Als u in de modelweergave in LuckyTemplates over de ononderbroken lijn beweegt, wordt de actieve relatie weergegeven. Terwijl de twee stippellijnen de inactieve relatie tussen elk element in de twee tabellen laten zien.
Als we het voorbeeldrapport bekijken, is ook te zien dat er een verschil is tussen de kolom Verkoop per orderdatum, de kolom Verkoop per factuurdatum en de kolom Verkoop per verzenddatum.
Maatregelen versus berekende kolommen
Het is een comfortabele plek voor degenen die een Excel-achtergrond hebben om berekende kolommen te gebruiken , omdat u hiermee de gegevens kunt bekijken. Maar de best practice in DAX en LuckyTemplates is om zoveel mogelijk metingen te gebruiken.
Er zijn bepaalde gevallen waarin berekende kolommen worden gebruikt. Ze zijn vaak ontwikkeld als uitgangspunt om te helpen bij het visualiseren van een berekening. Maar dan moet je ze vervolgens vervangen door maatregelen zodra je de berekening volledig in je hoofd hebt gevisualiseerd. Bovendien kunnen berekende kolommen in slicers worden gebruikt in tegenstelling tot metingen.
Een meting vergroot niet de fysieke omvang van uw gegevensmodel terwijl het wordt berekend; het doet alleen wanneer gebruikt in een visual. Een berekende kolom vergroot echter wel de fysieke omvang van uw gegevensmodel, omdat deze elke keer dat het bestand wordt vernieuwd, wordt berekend en fysiek wordt opgeslagen.
DAX-gids om vertakking te meten
Een van de meest waardevolle technieken in LuckyTemplates is vertakking van metingen .
Een geweldige manier om uw code te modulariseren, is door te beginnen met eenvoudige of basismetingen die eenvoudige berekeningen uitvoeren, en deze vervolgens naar behoefte te combineren om complexere berekeningen uit te voeren. Zet basis- en tussentijdse metingen in tabellen om de berekeningen te zien terwijl ze worden uitgevoerd.
Er zijn verschillende stromingen over waar specifieke maatregelen moeten worden ondergebracht, en er zijn voor- en nadelen aan alle methoden. Maar het is voordeliger om een speciale meetgroep te gebruiken bij de ontwikkeling van LuckyTemplates. Als alle meetwaarden zich op dezelfde plaats bovenaan het deelvenster Velden bevinden, wordt het eenvoudiger om de logica in uw DAX-berekeningen te traceren.
Context in DAX-berekeningen
Een van de belangrijkste sterke punten van LuckyTemplates is context. En het is ook een van de moeilijkste concepten om te begrijpen voor ontwikkelaars.
Context is de omgeving waarin een berekening wordt uitgevoerd.
Er worden vaak twee contexten gepresenteerd: rijcontext en filtercontext . Maar in feite is er nog een derde: de evaluatiecontext .
En dit brengt je terug bij het CALCULATE- commando, waarmee de gebruiker opnieuw de context van een berekening kan wijzigen. Er zijn twee hoofdklassen van functies in DAX en LuckyTemplates: aggregatiefuncties en iteratiefuncties .
Aggregatiefuncties zijn functies die de waarden van een enkele kolom aggregeren. Voorbeelden van aggregatiefuncties zijn , en . Hoewel de meeste aggregatiefuncties alleen werken op numerieke of datumwaarden, werken MAX en MIN ook op tekstwaarden.
Iteratiefuncties zijn functies die een uitdrukking berekenen voor elke rij van een tabel. Ze worden ook wel X-functies genoemd . Voorbeelden zijn , , en . Ze hebben twee parameters: de tabel die herhaald moet worden en de uitdrukking die de berekening uitvoert. Dit kan meerdere kolommen uit de basistabel of uit andere gerelateerde tabellen gebruiken.
Hier is een kort voorbeeld van hoe de aggregatie- en iteratiefuncties verschillend worden gebruikt en toch hetzelfde resultaat opleveren:
Conclusie
Deze DAX-gids is bedoeld om nieuwe LuckyTemplates-gebruikers te helpen die nog aan het ontdekken en leren zijn. Dit is ook erg handig als one-stop-checklist voor ervaren ontwikkelaars die een snelle opfriscursus nodig hebben. Deze zelfstudie is een geweldige bouwsteen voor geavanceerde rapportontwikkeling in LuckyTemplates.
LuckyTemplates heeft verschillende bronnen over DAX-tutorials, van de basis tot geavanceerde codering. Zorg ervoor dat u ze bekijkt om meer vertrouwd te raken met de DAX-programmeertaal.
Greg
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten