Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
In deze zelfstudie leert u over verschillende trefwoorden en functies in DAX Studio, met voor elk een specifiek queryvoorbeeld.
U leert met name over de trefwoorden ORDER BY en START AT, samen met de functies TOPNSKIP en ADDMISSINGITEMS.
Inhoudsopgave
DAX Query Voorbeeld: ORDER BY Trefwoord
Met het ORDER BY- sleutelwoord kunt u een dataset sorteren.
Basis voorbeeld
Door bijvoorbeeld het trefwoord ORDER BY te gebruiken, kunt u een kolom alfabetisch sorteren.
U kunt zien dat de gegevens op de eerste rij beginnen met "A". De standaard sorteervolgorde van DAX Studio is oplopend .
Als u wilt dat uw gegevens in aflopende volgorde verschijnen, schrijft u DESC . Dus in dit voorbeeld begint de kolom Merk in plaats van een A met een 'W'.
Evenzo, als u het terug wilt zetten naar een oplopende volgorde, schrijft u ASC . U kunt ook meerdere kolommen tegelijk sorteren. U kunt dit doen door de gewenste kolommen te schrijven, gescheiden door een komma.
Voorbeeld uit de echte wereld
Laten we nu eens kijken naar een eenvoudige real-world toepassing met behulp van het trefwoord ORDER BY. Dit is hetzelfde voorbeeld dat wordt gebruikt in de zelfstudie over het sleutelwoord TABLE .
U kunt zien dat deze tabel 3 kolommen retourneert. De eerste is het Producttype, bestaande uit Saai en Trendy. De tweede kolom toont de totale verkoop per producttype. De derde geeft het verkooppercentage terug.
In dit voorbeeld moet u een nieuwe kolom maken die het producttype sorteert. Schrijf dus na de sleutelwoord COLUMN en vervolgens de naam van de kolom die u wilt maken.
De formule voor deze kolom is hetzelfde als de IF-syntaxis, maar in plaats van "Trendy" en "Saai" geeft deze kolom "1" weer voor Trendy en "2" voor Saai.
Om deze kolom in de tabel te zien, schrijft u deze onder de EVALUATE-syntaxis.
Je zult dan zien dat er een nieuwe kolom, Product Type Sort, is toegevoegd aan de tabel die bestaat uit de nummers 1 en 2.
Om deze kolom te sorteren, schrijft u het trefwoord ORDER BY na de syntaxis . Schrijf vervolgens achter de kolomnaam ASC of DESC, afhankelijk van de sorteervolgorde die u voor de kolom wilt hebben.
Voorbeeld DAX-query: START AT
Het volgende dat u leert, is het sleutelwoord START AT .
START AT is een verouderd sleutelwoord. Het gebruik ervan wordt niet aanbevolen voor de meeste DAX-query's. Het is echter mogelijk dat u nog steeds een DAX-code vindt die hiervan gebruik maakt. Het is dus nog steeds belangrijk om te weten wat het is en in welke gevallen het kan worden gebruikt.
Basis voorbeeld
Schrijf eerst het sleutelwoord EVALUATE. In dit voorbeeld wordt de tabel Producten gebruikt. Voordat u START AT schrijft, gebruikt u eerst ORDER BY en geeft u vervolgens de kolommen op die u wilt opnemen.
U kunt dan START OM schrijven. Deze syntaxis volgt de volgorde die vergelijkbaar is met hoe u uw kolommen hebt geschreven onder ORDER BY. In dit voorbeeld begint de kolom Productsleutel bij "2" en de kolom Merk bij "Contoso".
Wanneer u op F5 drukt, kunt u in de resultatentabel zien dat de opgegeven kolommen de richting van de query volgen.
Laten we nu eens kijken wat er gebeurt als er nog een kolom wordt toegevoegd. In dit geval moet de kolom Kleur beginnen bij 'Zilver'.
Wanneer u deze query uitvoert, kunt u zien dat het eerste item onder de kolom Kleur 'wit' is. Het is niet gegarandeerd dat het resultaat altijd aan alle voorwaarden voldoet wanneer u START BIJ gebruikt.
Voor dit voorbeeld is er geen instantie in de tabel Producten die 2, Contoso en Silver allemaal in dezelfde rij bevat. In plaats daarvan probeert de DAX-engine de beste match te maken met de query die u heeft gemaakt.
Complex voorbeeld
Laten we nog een voorbeeld bekijken:
Schrijf na EVALUATE het trefwoord ORDER BY gevolgd door de drie gespecificeerde kolommen. Schrijf daarna START OM. In dit geval moet de kolom Kleur beginnen bij 'Rood', moet de kolom Geslacht beginnen bij 'M' en moet de kolom Winkelsleutel beginnen bij '2'.
Nadat u de query hebt uitgevoerd, kunt u zien dat de DAX-engine zijn best heeft gedaan om aan de opgegeven parameters te voldoen.
In de resultaten kunt u zien dat twee kolommen correct zijn, terwijl de Store Key-kolom begint bij 199 in plaats van 2. Dit komt omdat een Store Key van 2 niet bestaat in het gegevensmodel van dit voorbeeld.
Langzame DAX-engine
Klik op de knop Server Timings onder het tabblad Home.
Onderaan verschijnt een nieuw tabblad. Klik op de knop Cache wissen en vervolgens Uitvoeren in de vervolgkeuzepijl Uitvoeren.
U kunt zien dat DAX Studio 142 ms nodig heeft om de query uit te voeren. Als u de START AT-syntaxis verwijdert en de code opnieuw uitvoert, kunt u zien dat dit slechts 11 ms duurt om uit te voeren.
Het uitvoeren van de query duurt langer als er een START AT-syntaxis is, omdat deze een gedrag van de DAX-engine aanroept met de naam CallBackDataID .
START AT maakt je code extreem traag. Als het niet nodig is om het te gebruiken, vermijd het dan beter.
Het heeft een aanzienlijke invloed op de algehele prestaties van de DAX-code die u schrijft. Daarom is het het beste om andere vergelijkbare functies te gebruiken.
Voorbeeld DAX-query: TOPNSKIP-functie
Het volgende dat u in deze zelfstudie leert, is de TOPNSKIP- functie. Deze functie is vergelijkbaar met , maar heeft één subtiel verschil samen met een extra parameter. Laten we, om dit beter te begrijpen, naar een voorbeeld kijken.
TOPN versus TOPNSKIP
Schrijf eerst het sleutelwoord EVALUATE. Schrijf vervolgens het TOPN-argument hieronder om de top 100 rijen van de productentabel te bekijken.
Deze tabel is ook gesorteerd op oplopende volgorde met betrekking tot de kolom Productcode.
Vervang nu TOPN door TOPNSKIP. Geef in het tweede argument het aantal rijen op dat u wilt overslaan. In dit voorbeeld is 10 gespecificeerd.
Wanneer u dit uitvoert, ziet u dat de kolom Productsleutel nu begint bij 11 en eindigt bij 110. Merk op dat u de TOPNSKIP-functie niet kunt gebruiken in een berekende tabel of in een gegevensmodel in tabelvorm.
Een ander voorbeeld
Laten we in dit volgende voorbeeld de Top 5000 rijen in de klantentabel bekijken. Deze tabel is gesorteerd in oplopende volgorde ten opzichte van de kolom Geslacht.
Als u de functie TOPN gebruikt, kunt u zien dat de tabel 9.518 rijen retourneert. Dit betekent dat zelfs als u hebt opgegeven dat alleen de bovenste 5000 rijen worden weergegeven, sommige gegevens niet zijn gefilterd.
Als u echter de functie TOPNSKIP gebruikt, kunt u zien dat de tabel alleen de eerste 5.000 rijen in de kolom Geslacht retourneert.
Dus zelfs als de kolom Geslacht van de klant meerdere regels heeft voor een bepaald geslacht, retourneert de functie TOPNSKIP alleen de eerste 5.000 rijen. Dit resultaat is niet gegarandeerd bij gebruik van de TOPN-functie.
DAX Query Voorbeeld: ADDMISSINGITEMS Functie
Laten we ten slotte eens kijken naar de functie ADDMISSINGITEMS in DAX Studio.
Wanneer u SUMMARIZECOLUMNS gebruikt, probeert het standaard lege rijen uit het resultaat te verwijderen. We kunnen bijvoorbeeld een query schrijven die de productkleur, het merk van het product en het geslacht van de klant samenvat.
Wanneer u op F5 drukt, kunt u zien dat de tabel drie kolommen retourneert. De kolom Geslacht bestaat uit 3 typen geslacht: mannelijk, vrouwelijk en blanco. Blank vertegenwoordigt het bedrijf. U kunt ook zien dat het 333 rijen retourneert.
Maar als u een kolom Totale verkoop maakt, verwijdert het filter SUMMARIZECOLUMNS de rijen die lege waarden bevatten voor de totale verkoop. In plaats van 333 rijen bevat de tabel nu nog maar 323 rijen.
Er zijn 2 opties om die rijen terug te halen. De eerste optie is om een nul toe te voegen na de Total Sales. In de resultaten kunt u zien dat 10 rijen een nulwaarde retourneren voor Total Sales.
Deze optie levert echter niet altijd het beste resultaat op. In plaats daarvan is er een specifieke functie die u kunt gebruiken om dit probleem op te lossen: de functie ADDMISSINGITEMS .
Om deze functie te gebruiken, plaatst u deze achter EVALUATE. Schrijf de kolommen in het eerste argument. U moet deze kolommen ook in de parameter groupBy van SUMMARIZECOLUMNS plakken.
Wanneer u deze query uitvoert, ziet u dat de tabel nu 333 rijen retourneert.
Als u de kolommen Totale verkoop sorteert en de nul verwijdert, retourneert de tabel blanco waarden onder de kolom Totale verkoop.
Dus in plaats van een nul te rapporteren, retourneert de tabel een spatie voor rijen die zijn verwijderd door de functie SUMMARIZECOLUMNS.
ITEMS TOEVOEGEN en FILTER gebruiken
U kunt de functie ITEMS TOEVOEGEN ook samen met gebruiken . Laten we bijvoorbeeld de rijen met 'Tailspin Toys' eruit filteren. In de zoekopdracht staat dat de kolom Merk geen ( <> ) Tailspin Toys mag bevatten.
Wanneer u op F5 drukt, kunt u zien dat de tabel nu slechts 331 rijen retourneert. Dus die twee rijen met het merk "Tailspin Toys" werden verwijderd.
Conclusie
De twee trefwoorden en twee functies die in deze zelfstudie worden besproken, zijn basiskennis die u nodig heeft bij het maken van query's in DAX Studio. Deze zullen van pas komen bij het omgaan met complexere real-world applicaties.
DAX Studio is een krachtige tool voor het uitvoeren en analyseren van DAX-query's. Het is belangrijk om de coderingsbasis van deze software te leren, zodat het gemakkelijker is wanneer u in de toekomst met geavanceerde vragen te maken krijgt.
LuckyTemplates-experts
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