Förklara radkontext i LuckyTemplates

Jag har upptäckt att de flesta människor blir förvirrade när det gäller att förstå hur DAX fungerar i radsammanhang . Detta beror på att radkontext kan vara ganska komplicerat och i onödan. Så vi kommer att beröra radkontext genom hela den här artikeln. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Sättet jag tänker på radkontext är genom iterationer eller itererande funktioner . Så fort jag gjorde den distinktionen i mitt sinne, var det mer vettigt i termer av vad som faktiskt pågick i beräkningsmotorn.

Som en sammanfattning har vi diskuterat att det finns tre typer av sammanhang: utvärderingskontexten , filterkontexten och radkontexten .

Alla DAX-beräkningar fungerar i en tvåstegsprocess. Utvärderingskontexten går alltid först och sedan förgrenas den ut i antingen filterkontext eller radkontext beroende på vilken funktion du skriver .

Innehållsförteckning

Förstå radkontext

Radkontext handlar om iterering.

Jag ska visa dig ett par exempel och förhoppningsvis kommer detta att hjälpa dig att förstå vad radkontext faktiskt gör i backend.

Radkontext vs filterkontext

I vårt exempel beräknas formeln viaeftersom det är en enkel sammanställning. Den summerar hela kolumnen Kvantitet efter att alla initiala filter har satts på plats.

Förklara radkontext i LuckyTemplates

Det initiala filtret i försäljningstabellen är produkt 1. Genom att summera varje kvantitet som har sålts får vi 165.

Förklara radkontext i LuckyTemplates

Nu ska jag visa dig hur du får exakt samma resultat, men beräknat på ett helt annat sätt. Först ska jag skapa ett nytt mått för kvantitetssåld iteration med hjälp av en itererande formel.

Förklara radkontext i LuckyTemplates

Exempel på itererande funktioner inkluderar SUMX ,, MANYX och COUNTX . I det här fallet kommer vi att använda SUMX .

SUMX - funktionen har bett mig att lägga in en tabell, så jag ska lägga in tabellen Försäljning. Och så bad den mig om ett uttryck så jag satte bara i kolumnen Antal.

Denna funktion skiljer sig ganska mycket från den första funktionen, men jag får exakt samma resultat när jag drar in den.

Förklara radkontext i LuckyTemplates

Vi får exakt samma resultat här eftersom det i slutändan är samma beräkning. Det var bara beräknat på ett annat sätt.

Förklara radkontext i LuckyTemplates

Iterationen för såld kvantitet beräknades med hjälp av radkontext , medan den totala sålda kvantiteten beräknades med filterkontext .

Beräknar kvantitet såld iteration med hjälp av radkontext

Låt oss nu gå igenom steg för steg hur kvantitet såld iteration beräknas. Först måste du komma ihåg att lämna den initiala värderingskontexten, som är produkt 1 i det här fallet. Och sedan via radkontext , itererar vi genom varje enskild rad i tabellen som vi anger.

I det här fallet anger vi tabellen Försäljning och sedan går vi och tittar på varje enskild rad i kolumnen Kvantitet.

Förklara radkontext i LuckyTemplates

Under den första utvärderingen kommer produkt 1 att bestämmas av vad som än filtreras i kolumnen Produkt-ID. Och sedan räknar den upp raderna under kolumnen Kvantitet. Varje gång den träffar en rad går den in och sparar resultatet i minnet.

Efter att den når botten av tabellen, går den sedan och gör en utvärdering av alla resultat som sparats i minnet, och sedan kommer den att göra vilken beräkning du än ber om den, som i det här fallet är SUMX .

Förklara radkontext i LuckyTemplates

Varför använda en radkontext eller en itererande funktion?

Detta beror på att inuti en itererande funktion kan du göra mycket mer komplexa saker. Du kan skriva mycket avancerad logik inuti.

Förklara radkontext i LuckyTemplates

Till exempel, för varje rad i tabellen Försäljning, multipliceras kvantiteten med 2. Du ser nu att samma beräkningsprocess sker, men vi får olika resultat.

Förklara radkontext i LuckyTemplates

Detta beror på att vi skriver olika logik för varje enskild rad. Efter att ha gått igenom varje enskild rad i kvantitetskolumnen multiplicerar vi värdet med två, och sedan sparas det i minnet. I slutet av det gör vi en SUMMA .

Vi kan också skriva olika saker här inklusive avancerad logik som t.exellerlogik.

Förklara radkontext i LuckyTemplates

Det finns heaps och heaps av exempel på var det skulle vara bättre att använda en itererande funktion eller radkontext för att göra en beräkning snarare än en aggregeringsfunktion eller filterkontext .

Viktiga anmärkningar för att förstå sammanhang i LuckyTemplates

För att sammanfatta alla viktiga saker om sammanhang, kom ihåg att beräkning i DAX fungerar via en tvåstegsprocess. Det första steget är alltid utvärderingssammanhanget . Det spelar så stor roll vad utvärderingssammanhanget är.

När du väl förstår vad utvärderingskontexten är för ett individuellt resultat, förgrenas DAX sedan ut på två olika sätt. Den kan antingen beräkna via filterkontext eller via radkontext.

Att välja vilket sammanhang som ska användas beror på vilken formel du skriver. Så om du skriver en enkel aggregeringsformel kommer den att gå och beräkna den via filterkontext . Men om du skriver en itererande funktion som SUMX, kommer den att beräkna formeln via radkontext .

När du väl blivit lite mer avancerad i DAX kan du faktiskt ha flera sammanhang i samma funktion. Men innan du kommer dit måste du verkligen förstå vad sammanhanget är i sin enklaste form.

Slutsats

Att förstå typerna av sammanhang är helt avgörande eftersom du lär dig DAX och vill göra mer avancerat arbete. När du börjar skriva en riktigt avancerad DAX-formel har du flera sammanhang som arbetar samtidigt och du måste förstå vad varje enskild del av den formeln gör för att uppnå dina önskade resultat.

Här är några rekommenderade länkar för dig att lära dig mer om tillämpningen av radkontext inuti LuckyTemplates:

Utvärderingskontext – (1.8) Ultimate Beginners Guide to DAX

Filterkontext – (1.9) Ultimate Beginners Guide to DAX

Njut av att arbeta igenom den här.

Leave a Comment

Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.