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.
Det råder fortfarande mycket förvirring om skillnaden mellanmoti LuckyTemplates. Detta är nyckelkunskap som användarna måste behärska eftersom båda funktionerna kan användas i olika scenarier, men det finns fall där den ena är mer effektiv än den andra. Du kan se hela videon av denna handledning längst ner på den här bloggen.
Jag kommer att fokusera på ett exempel här som skulle visa skillnaden mellan de två. Men innan jag hoppar in i det exemplet är det viktigt att förstå skillnaden mellan en aggregerande funktion och en itererande funktion.
Innehållsförteckning
Aggregatorer vs Iteratorer
När det gäller DAX finns det två typer av beräkningsmotorer – aggregatorerna och iteratorerna.
Aggregerande funktioner inkluderar SUM ,,,och. Iteratorer, å andra sidan, är funktioner som har ett X i slutet, som SUMX .
Itererande funktioner går igenom varje enskild rad i en tabell för att lägga till logik till var och en av dessa rader.
Aggregerande funktioner tittar på hela kolumnen som blir över efter att sammanhanget har placerats i en formel. Därifrån görs en enda aggregering för hela kolumnen samtidigt.
SUMMA Som Aggregator
Hur används SUM som en aggregator?
I det här exemplet kommer jag att beräkna den totala intäkterna i provdata som ges.
Kontexten är alltid viktig här. I det här fallet är varje specifikt datum sammanhanget för varje specifikt resultat.
Om jag gräver djupare i den här tabellen kommer den att visa att det finns en direkt relation från det datum som går in i tabellen Försäljning .
Om jag sedan tittar på data som fungerar under den här modellen, är det så här allt passar ihop.
Så relationen är länkad till kolumnen Orderdatum här. När specifika datum från den här kolumnen har filtrerats visas motsvarande resultat under kolumnen Intäkt.
Därifrån skulle SUMMA bara göra en stor beräkning av de filtrerade resultaten.
SUMX som en iterator
Nu ska jag använda SUMX på samma exempeldata så att du kan se skillnaden. Jag kan faktiskt beräkna för den intäkten utan att röra kolumnen Intäkt.
När den används kommer den alltid att be om ett bord. Observera att antingen en fysisk tabell eller en virtuell tabell kan användas här.
För att komma fram till Intäkten ska jag välja tabellen Försäljning. Sedan ska jag placera ett uttryck, som kan vara ett mått eller en specifik kolumn från den tabellen i den här formeln så att den kan börja köra logik på varje rad. Uttrycket, som förklaras här, returnerar summan av ett uttryck som utvärderats för varje rad i tabellen.
Eftersom provdata inkluderar beställningskvantiteten, kommer jag att använda det här för att få summan. Jag kommer också att använda enhetspriset.
När jag väl drar in den formeln i rapporten är resultaten exakt desamma.
Naturligtvis visar de båda samma resultat eftersom de båda härleder data från samma två kolumner – orderkvantiteten och enhetspriset.
Varför använda SUMX om det ändå ger samma resultat som SUM ?
Med SUMX tillämpas logiken inte bara på en hel kolumn, utan på varje enskild rad i den kolumnen. Faktum är att jag skulle kunna ta bort kolumnen Intäkt och fortfarande kunna hämta specifika resultat.
Så föreställ dig att logiken tillämpas på varje rad. Den multiplicerar beställningsmängden och enhetspriset för den första raden och sparar det sedan i minnet. Det gör samma sak på den andra raden och alla andra rader efter det, och sparar varje enskilt resultat.
Detta betyder att det som används för att beräkna SUMX i slutändan inte är fysiska data på bordet, utan resultaten som sparats i minnet .
Slutsats
Förhoppningsvis kunde jag förklara den huvudsakliga skillnaden mellan SUM vs SUMX i LuckyTemplates, särskilt för de som fortfarande får kläm på vad LuckyTemplates verkligen kan göra.
Tumregeln är om det är ett enkelt, okomplicerat scenario som kan lösas med en aggregeringsfunktion, använd SUM. Men om mer avancerad logik krävs, använd SUMX.
SUMX kommer också att vara användbart i fall där du har tusentals till miljontals rader. Så länge de tabeller och kolumner som refereras till i dina mått finns där, skulle användning av itererande funktioner göra processen mer effektiv.
Med vänliga hälsningar,
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.