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.
För det här blogginlägget vill jag dyka in i itererande funktioner inom DAX-språket i LuckyTemplates. Anledningen till att jag vill lägga lite tid på att visa vad du kan göra inuti itererande funktioner är för att det är ett så viktigt koncept att du behöver lära dig väldigt bra. Du kan se hela videon av denna handledning längst ner på den här bloggen.
Du kanske bara har slutfört några enkla SUMMER eller potentiellt använt funktionen AVERAGE, men det är också viktigt att förstå hur man använder itererande funktioner som har ett X på slutet , till exempel: SUMX, AVERAGEX eller COUNTX.
Anledningen är att du kan bli mycket mer avancerad inom en itererande funktion än vad du kan med en aggregeringsfunktion.
Innehållsförteckning
Vad är en itererande funktion?
Om du fortfarande inte är bekant med vad en itererande funktion är, är det en funktion i DAX formelspråk som vanligtvis har ett X på slutet. Du har också tabellfunktioner som itererar genom en tabell som FILTER eller VALUES, men i det här fallet kommer vi enbart att ta itu med SUMX.
Om du tittar på vår formel för total försäljning, kan du detta är en itererande funktion på grund av SUMX. Iteration innebär att iterera genom varje enskild rad och göra en beräkning. I det här fallet, för varje enskild rad i tabellen Försäljning, multiplicerar vi kvantiteten med det aktuella priset. Vi går också tillbaka till produkttabellen med funktionen RELATED för att få det aktuella priset.
Jag vill visa dig hur du kan skriva riktigt komplexa itererande funktioner som extraherar stor insikt som du kanske vill få i din data. För den här handledningen vill jag beräkna hur många försäljningar vi gör över ett visst pris. I det här fallet kommer vi att välja $2 000.
Jag vill också veta vad vår försäljning per månad för produkter som är över $2000, men där någon köper mer än bara en produkt. Vi vill också se hur väl det står sig i jämförelse med vår totala försäljning. Detta är den typ av komplexitet som kan uppnås genom att bara skriva en formel och genom att använda en itererande funktion.
Försäljningspris högre än $2000
Låt oss skapa ett mått och kalla det Försäljningspris > $2000 & kvantitet > 1 . Generellt sett måste du skriva några olika kolumner eller några olika åtgärder för att se svaret här, men jag ska visa dig hur du faktiskt kan göra det med bara en. Jag ska börja med SUMX och det står här att vi måste ange ett bord, eller hur?
Så vi kommer att ta itu med den här utmaningen Kvantitet > 1 genom att skapa en tabell som inte är hela försäljningstabellen, utan en tabell som redan har filtrerat bort allt som bara sågs en gång. Vi kommer att använda FILTER här eftersom det är en bordsfunktion, så att du kan sätta in vilken typ av bord som helst. Sedan går vi med Försäljning och itererar igenom varje enskild rad i tabellen Försäljning inom dettafunktion och filtrera bort varje rad med en kvantitet som är större än en.
För varje försäljning över 1 vill jag också skapa en extra logik. Jag ska skriva ett uttrycksmönster och använda SWITCH här. Vi kommer att säga att om försäljningen har ett aktuellt pris som är större än eller lika med $2000, då vill jag beräkna den totala försäljningen. Om det inte är det, så vill jag inte räkna ut det alls. Till sist kommer jag att sätta 0 som ett alternativt resultat.
Så här skriver du några ganska komplexa itererande formler på DAX-språket. Nyckeldelen är bara att förstå vilken typ av tabeller du kan lägga in där och att veta vad den faktiska iterationen gör .
I det här fallet, för varje enskild rad i den här nedfiltreringstabellen, utvärderar jag vad som är det aktuella priset som är högre än $2000. Om det är det, räknar vi upp försäljningen av den raden och om den inte är det, är det bara 0.
När jag drar in det här måttet i tabellen ser du att resultaten liknar det vi uppnådde i det första diagrammet; den enda skillnaden är att detta är på daglig basis.
Försäljningspris högre än 500 USD
Vi kan skapa ytterligare insikt här genom att återanvända samma mönster. Om vi ville titta på vad som var över $500, behöver vi bara göra några små ändringar här, trycka på enter och sedan dra detta in i tabellen också.
Självklart kan vi se en stor skillnad eftersom det är fler produkter vi räknar upp. Detta beror på att vi inte blir av med så många produkter med högre priser eller lägre priser som vi var tidigare med $2000.
Visualisera data
Vi kan också ändra detta till en, men som du kan se ser diagrammet lite upptaget ut så det är förmodligen bättre att stanna kvar i tabellen, eller så kan vi göra tidsramen mer komprimerad som diagrammet till vänster.
Förhoppningsvis kan du utvärdera och förstå hur långt du kan gå med dessa itererande funktioner inom DAX-språket. Du kan börja verkligen dyka in i alla aspekter av din data eller extrahera mycket specifika insikter. Sättet att göra det är genom att använda denna radkontext, som gör att du faktiskt kan komma in i dessa itererande funktioner. Du kan titta på en enskild rad, placera den i eller utanför din beräkning och använda itereringsfunktionerna som SUMX, AVERAGEX och COUNTX.
Itererande funktioner ger dig så mycket mer flexibilitet när det gäller beräkningarna som du kan göra på radnivå jämfört med aggregering som bara låter dig aggregera en hel kolumn. Nu inom itererande funktioner, måste du först mata in en tabellreferens och sedan ett uttryck, men verkligen utöka ditt sinne i termer av vad någon av dessa faktiskt kan vara.
Inom itererande funktioner kan du faktiskt lägga in vilken tabell som helst eller vilken som helst derivata av en tabell... även vilken virtuell tabell eller referens till tabell som helst. Det möjliggör mycket mer flexibilitet än vad du vanligtvis skulle ha om du bara använder en hel tabell som din transaktionstabell för att köra lite logik.
Uttrycket (eller måttet) du matar in kan också vara mycket avancerat. Du kan använda avancerad IF-logik eller SWITCH-logik, eller i princip vad som helst som du kan göra på radnivå i en beräknad kolumn. Du kan faktiskt lägga det i den uttrycksdelen av en itererande funktion.
Slutsats
Det viktigaste med det här inlägget är att itererande funktioner är otroligt viktiga att förstå och lära sig väl inuti LuckyTemplates.
Om du lär dig detta bra, så blir möjligheterna att köra interna beräkningar i minnet via mått riktigt, riktigt kraftfulla.
Kolla inom du precis har börjat med DAX-språket och LuckyTemplates. Mycket att lära inom denna gratiskurs. Du hittar detta på.
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.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
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.
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.
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.
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.
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.
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.