Vad är Power Query & M Language: En detaljerad översikt
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Jag vill ägna lite tid idag åt att gå igenom en fråga från LuckyTemplates medlem, Lucas, om bordsvisualer i LuckyTemplates. Det är en intressant fråga i sig, men jag vill dissekera den eftersom den också berör en massa andra intressanta ämnen, inklusive frånkopplade tabeller, skörd av skivor och några trick för att visualisera skivan, villkorlig formatering och virtuella tabeller. Du kan se hela videon av denna handledning längst ner på den här bloggen.
Det är mycket samlat i det här även om det på ytan inte är en särskilt komplex fråga. Lucas hade en tabell, och baserat på värdet på slicern (i det här fallet 1 maj) vill han ta varje post som är mindre än eller lika med slicervärdet i Date In , och varje post som är större än slicern värde i Date Out , och reducera tabellen bara till dessa poster.
Innan vi gör det, låt oss ta en snabb titt på vår datamodell – det är ganska enkelt. Vi har i princip precis fått den utökade datumtabellen som är knuten till vår faktatabell bara genom det aktiva förhållandet mellan Date och Date In och det inaktiva förhållandet mellan Date och Date Out. Och så har vi precis fått vår mättabell. Så som du kan se är det en ganska enkel datamodell vi arbetar med idag.
Vi börjar med att skära upp uppgifterna som han pratade om. Vi tar bara vårt datumfält och förvandlar det till en skivare. Vi vill ha ett enda värde, så vi gör det till en lista tills vidare. Det är ingen bra användarupplevelse eftersom vi måste leta igenom listan för 1 maj, men vi kommer in på det om en minut.
Så vi ska scrolla ner skivaren och hitta 1 maj, välj den, och nu ser vi några problem med det direkt. Det är ett trubbigt instrument, och vi har ett mer raffinerat tillstånd som vi försöker nå. Det tar i princip ut allt som inte är Date In 1 maj, vilket inte är vad vi vill ha.
Och det filtrerar de två bilderna nedan på ett sätt som inte är särskilt användbart.
Vi kan säga direkt att en rak skärmaskin inte kommer att fungera för oss. Och så, vad vi istället vill ha är ett frånkopplat bord. Det är en fantastisk teknik att använda när du vill skörda värdet av det som ser ut som en slicer för användaren men som faktiskt inte interagerar med dina bilder och du bara drar in det värdet i din DAX och sedan använder det för att manipulera dina beräkningar i dina bilder.
Innehållsförteckning
Skapa en frånkopplad tabell (beräknad tabell i DAX)
Så låt oss bli av med den här värdelösa skivaren och vi skapar en frånkopplad tabell . För att skapa en frånkopplad tabell kan du göra det antingen som en fysisk tabell i Power Query eller som en beräknad tabell i DAX. Och jag tror att det optimala sättet att göra detta skulle vara som ett fysiskt bord.
Men för det här exemplet kommer jag bara att skapa det som en , bara genom att gå till menyfliksområdet Modellering och sedan till Ny tabell .
Vi kommer att användafunktion i DAX. Så vår frånkopplade datumtabell kommer att vara lika med värdena för datumet från vår datumtabell. Det kommer bara att skapa en tabell som beräknas med en kolumn.
Och sedan kan vi dra in det värdet som vår skärare.
Istället för en lista kommer vi att ha en enda värdeskärare, men tyvärr finns det inget liknande i de vanliga valen. Det enda sättet att få en skjutreglage för enstaka värden är från Generate Series , och det är inget vi kan göra med datum. Vad vi kan göra är efter .
Efter ger oss vad som ser ut som ett skjutreglage för enstaka värden, men det ger oss allt från skjutreglagets datum och alla datum efter det. Nu är en av de knepiga sakerna med en After-skärare hur du skördar den. Och så, låt oss skapa ett skördemått.
Skördemått för en tabellbild i LuckyTemplates
Låt oss kalla det Harvest . Det typiska skördemåttet baseras på. Och så väljer vi värdet för vårt Disconnected Date- fält.
Det ger inget fel, men om vi går och släpper det på ett kort visas det tomt.
Anledningen till det är att SELECTEDVALUE måste returnera ett enstaka värde, och After slicer returnerar flera värden. Den returnerar allt från det första datumet hela vägen till slutet av skivaren. Eftersom den inte returnerar ett enda värde kommer den att skörda detta som Blank . Så vi måste ta det och ändra den åtgärden.
Vi kommer att användafunktion och ta sedan minimum () värdet av vår frånkopplade datumtabell. Och nu är "förändringen i sammanhanget" som vi kommer att vilja ha i grunden. Det är det minsta av allt som väljs i After-slicern. Så, vi tar det och vi går till vårt frånkopplade datumfält igen.
Nu får vi precis vad vi vill ha, vilket är det enda värdet av Harvest.
Och vi har en trevlig användarupplevelse eftersom vi inte bara kan glida, vi kan gå upp hit och dra nytta av denna datumväljare. Vi kan bara välja det datum vi vill ha (till exempel 1 maj) direkt på datumväljaren och det visas som ett enda värde.
Därefter måste vi skapa ett mått som kommer att använda det skördade värdet för att filtrera vår tabell. Vi kallar detta mått inom räckvidd . Vi kommer att använda en variabel här ( VAR Cond ), och sedan enuttalande, där vi använder SELECTEDVALUE runt Datum In och Datum Ut . Sedan vill vi ha 1 om det villkoret är sant, och 0 om det är falskt. Slutligen returnerar vi skick (Cond) längst ner.
Nu har vi fått en åtgärd som gör precis som vi vill. Den returnerar bara en om den är inom intervallet och noll om den inte är det. Vi kan nu gå till filterrutan, välja den här tabellvisualen och ta vårt mått inom området och släppa det i filterrutan. Vi ställer bara in det när värdet är ett, det visar objekten. Vi trycker på Använd filter och vi kan se att det ger oss rätt resultat, C, D och E.
Villkorlig formatering på en tabell Visual i LuckyTemplates
Det filtrerar inte de andra tabellbilderna, men vi kan utnyttja denna åtgärd ännu lite längre genom att använda . Låt oss göra villkorlig formatering på regler och basera det på vårt mått inom räckvidd . Sedan sätter vi en regel och väljer en färg.
Med det kan vi se att tabellens visuella (stapeldiagram) nedan förändrades dynamiskt.
Vi kan göra samma sak med vårt spridningsdiagram. Vi går bara till datafärger och återigen går vi till standardfärgen och ställer in samma regelstruktur som vi ställer in för vårt stapeldiagram. Och nu har vi fått en helt dynamisk struktur här.
När vi skjuter runt vår slicer ändrar den alla bilder på precis det sätt som Lucas hade velat när det gäller att filtrera ner tabellen till rätt värden.
Slutsats
I den här bloggen har jag visat dig hur du dynamiskt underställer en tabellvisual i LuckyTemplates. Du har lärt dig hur du skapar rätt DAX-mått för att samla in ett värde och att använda villkorlig formatering för att få helt dynamiska tabellvisualer.
Jag hoppas att du får några användbara tips på vägen. Kolla in länkarna nedan för mer relaterat innehåll.
Skål!
Brian
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.
Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!
Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.
Låt oss fördjupa oss i Standard LuckyTemplates-teman och granska några av funktionerna som är inbyggda i själva LuckyTemplates Desktop-applikationen.