Pipe In R: Anslutningsfunktioner med Dplyr
I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.
Denna handledning kommer att diskutera variabler, inklusiveochfunktioner. Du kommer att förstå hur dessa hjälper till att öka prestandan för dina DAX-frågor och ger korrekta resultat.
Variabler bör användas så mycket som möjligt eftersom de lätt kan hitta koder för optimering. De förhindrar att du får felaktiga utdata och sparar tid på att leta efter felet. Variabler hindrar dock ibland att ett värde räknas om. Så när de väl har definierats med ett värde kan det värdet inte ändras, inte ens med CALCULATE .
Det är viktigt att veta var du ska definiera och använda variabler eftersom att använda dem i och utanför en iteration kommer att generera olika resultat. De bör definieras nära där de ska användas. Detta hjälper också till att bryta ner långa koder, vilket gör dem lättare att förstå och felsöka.
Innehållsförteckning
Skapa DAX-frågor med BERÄKNA och FILTER
Det finns olika metoder för att få resultat och svar i DAX. Du måste utveckla din egen stil och flöde när du skapar din rapport så att du kan känna dig bekväm med det du arbetar med. Även om du har din egen stil måste du fortfarande följa de specifika riktlinjerna, som inkluderar att använda BERÄKNA över olika metoder som till exempel FILTER .
FILTER kan skicka mycket okomprimerad data till formelmotorn och kan potentiellt utlösa ett CallBackDataID. Mått kommer att användas här för att visa resultaten av BERÄKNA och FILTRERA . Detta har också ett definierat mått som är lokalt för frågan. Definierade mått kan inte hittas i datamodellen men de kan utveckla och felsöka dina koder snabbare.
På den första raden kan du se ett mått som definierar en variabel för datumet. Det betyder att den filtrerar faktatabellen för de datum som inträffar den 31 mars 2016 eller senare. Du kan också se ett enkelt mått på den totala försäljningen som itererar tabellen Faktaförsäljning och multiplicerar kvantitet och aktuellt pris.
Nästa mått är att användainuti. Om du återkallar från CallBackDataID- modulen kommer ett CallBackDataID att skapas genom att använda ett IF i SUMX-funktionen .
Detta mått filtrerar hela tabellen Faktaförsäljning. Det tar bort filtren som kommer från datumtabellen.
Du måste vara försiktig när du filtrerar en hel tabell eftersom den också kommer att filtrera alla kolumner som finns på ena sidan av en-till-många-relationen.
Detta mått är detsamma som föregående mått; den enda skillnaden är att den inte filtrerar hela tabellen. Den använder SUMX för att bara iterera en filtrerad tabell.
Detta är ytterligare ett mått som filtrerar tabellen Faktaförsäljning, men den här gången är det bara i kolumnen där det finns.
Det sista måttet är att använda CALCULATE och datamodellen för att filtrera och hämta data.
Kör och kontrollera varje åtgärd
Kör först IF- måttet. Se till att rensa cacheminnet innan du kör frågan och aktiverar Server Timings och Query Plan.
Även om det ger rätt data, är prestandan långsam på grund av CallBackDataID och de 3 varaktigheterna.
Om du kör måttet som filtrerar hela tabellen Faktaförsäljning kan du fortfarande se CallBackDataID . Det kommer också att generera 15 003 rader och ge felaktiga resultat.
När du kör åtgärden som inte filtrerar hela tabellen Faktaförsäljning får du rätt resultat. Du kommer dock fortfarande att se CallBackDataID och de materialiserade 15 003 raderna, men har bara 7 rader med utdata.
Kör nästa mått som filtrerar på en kolumn. Du får rätt resultat och eliminerar CallBackDataID . Men du kan fortfarande se att det materialiserades många rader.
Kör måttet BERÄKNA . Du kan se att det bara materialiserades 10 rader och genererade rätt data på 5 millisekunder.
Det är den snabbaste av alla mått ovan eftersom den inte har den och drog bara 10 rader. Detta visar hur imponerande CALCULATE är när det gäller att få snabba och exakta resultat.
Om du kör alla DAX-frågor eller -mått kan du se vilken som är långsammast och snabbast baserat på varaktigheten. Du kan också se resultatet av varje åtgärd.
Slutsats
Genom att flytta filtren till CALCULATE sparar du tid och materialisering eftersom CallBackDataID kommer att elimineras. Du behöver inte upprepa data två gånger. Detta kommer också att maximera din DAX:s prestanda och hjälpa dig att förbättra dina utvecklingsfärdigheter.
I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.
RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.
Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!
Excel Formler Fuskblad: Mellanvägledning
LuckyTemplates Kalendertabell: Vad är det och hur man använder det
Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.
Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.
Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.
I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.
Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.