10 användbara Data Analysis Expressions (DAX) funktioner för Power BI nybörjare

introduktion

vi har arbetat med massor av dra-och-släpp-verktyg i vår business intelligence (BI) resa. Men ingen har kommit nära att matcha Swiss army knife-karaktären hos Microsofts Power BI. Det förenklar verkligen uppgiften att krossa siffror, analysera data och visualisera mönster.

det är ett av de bästa dra-och-släpp-verktygen i branschen. Du väljer ett fält du vill analysera, släpp det i Power BI-instrumentpanelen och voila! Insikter är precis framför dig.

men vad händer om vi vill dyka djupare in i vår analys? Vad ska vi göra om vi vill anpassa vissa variabler eller generera nya? Att bara göra en snabb dra och släpp löser inte vårt problem. Det är där kraften i Data Analysis Expressions (DAX) i Power BI spelar in.

Power BI DAX

Detta är ett praktiskt verktyg för att lära sig för alla data science professionell, inte bara en blivande Business intelligence en. Det sparar oss massor av tid som vi annars skulle spendera i spottar ut koden.

i den här artikeln kommer vi först att förstå vad BI är och den typiska rollen som en bi-branschproffs. Vi kommer sedan att presentera dig för det kraftfulla Microsoft Power BI-verktyget och sedan djupdyka i tio riktigt användbara data analysis expressions (DAX) – funktioner som vi kan använda i Power BI.

Innehållsförteckning

  • introduktion till Business Intelligence (BI)
  • roll för en Business Intelligence Professional
  • Vad är Power BI?
  • Data Analytics Expressions (DAX): Vad är de och varför behövs de?
  • implementering av DAX-funktioner i Power BI

introduktion till Business Intelligence (BI)

Business Intelligence har ett brett omfång men vi kan definiera det som processen att spåra och granska affärsmätningar.

Låt oss ta ett exempel för att förstå detta.

Tänk på att vi driver ett rederi som levererar produkter till våra kunder i olika delar av landet. Som med alla företag vill vi förbättra vår kundupplevelse. Det finns flera mätvärden vi kan mäta för att mäta kundnöjdhet, inklusive:

  • den hastighet med vilken produkten levererades till dem
  • om produkten var skadad eller inte
  • var rätt produkt levererad? osv.

dessa data bearbetas och visas i form av lucid rapporter som gör det lättare att få hem insikter. Så om diagrammet för leveranshastigheten visar ett lägre betyg än förväntat kan vi försöka hitta grundorsaken och förbättra leveranshastigheten.

rollen som en Business Intelligence Professional

nu, vad gör en business intelligence professional? Jag är säker på att detta måste ha korsat ditt sinne när du går igenom ovanstående scenario. Nedan följer några vanliga uppgifter som en typisk BI-person gör:

  • skriv (SQL) frågor eller kontakter för att hämta data från relations – /NoSQL-databaser
  • skriv (SQL) frågor för att bearbeta data och beräkna affärs metrics
  • Design kod för att skapa diagram med interaktiva widgets för att visualisera affärs metrics
  • skapa instrumentpaneler från diagrammen och distribuera dem som ska användas av slutanvändaren

den kompetens som krävs för att bli bi-professionell varierar från projekt till projekt. Men i stort sett skulle du behöva ha en gedigen kunskap om ett BI-verktyg, som Tableau, PowerBI, Qlik, tillsammans med viss erfarenhet av ett programmeringsspråk som Python, R eller SQL. Kunskap om domänen och strukturerat tänkande är också eftertraktade.

Power BI är ett av de mest populära och kraftfulla BI-verktygen där ute. Det kommer att vara vårt fokus i den här artikeln. Innan vi kommer dit, här är en underbar illustration av en typisk Business intelligence-arkitektur:

exempel på Business Intelligence architecture

Vad är Power BI?

Power BI är ett populärt och otroligt kraftfullt Business intelligence-verktyg utvecklat av Microsoft. Det har olika smaker och erbjudanden. Den mest grundläggande versionen är gratis men den har förmågan att enkelt utföra medelstora affärsintelligensövningar.

i stort sett är Power BI en molnbaserad affärsanalyslösningssvit som tillhandahåller nödvändiga verktyg för att förvandla stora datamängder över silor till tillgänglig information. Det har konsekvent rankats i Gartner BI Magic Quadrant.

Power BI är populärt för sin mångsidighet, interaktivitet, estetiska design, omfattande anslutning till databaser och enkel att skapa instrumentpaneler med låg ansträngning. Det utnyttjar också stöd från andra verktyg från sitt Microsoft – ekosystem-Azure, Cortana, SQL Server, Azure Active Directory, Azure Blob Storage, etc.

här är ett par coola saker Power BI kan göra:

  • realtidsvarningar och visualisering för övervakning av tillverkningsutrustningens hälsa. Detta görs genom att skicka IoT-sensordata via IoT Azure Hub, Azure Data Factory, Cognos DB och sedan analyseras i Power BI
  • skapa och hämta diagram och Power BI-rapporter och instrumentpaneler genom att ge röstinstruktioner med Windows voice assistant Cortana

Data Analytics Expressions (DAX): vad är de och varför behövs de?

vi kan läsa data i Power BI från CSV-filer eller från en databas. Vi kan också slå samman tabeller i Power BI. Ofta är de data som krävs för plottning lätt tillgängliga i tabellkolumner (även om det inte alltid är fallet).

Tänk på en situation där vi behöver ändra eller ändra data för att förbättra våra instrumentpaneler. Antag att de anpassade ändringarna vi behöver inte är tillgängliga i Power BI. Vad gör vi då? Hur kan vi utföra denna typ av modifiering och dataanalys?

svaret är DAX (förkortning för Data Analysis Expressions). DAX används för att få någon meningsfull information gömd inuti rådata. I enkla ord används DAX för datamanipulation.

det finns vissa regler vi måste följa för att använda DAX. Du förstår dessa regler snabbt om du är bekant med Excel-funktioner. DAX är bara en avancerad form av det.

det finns två platser där vi skriver DAX:

  • beräknad kolumn
  • Beräknad åtgärd

Låt oss se vad båda dessa står för:

  • beräknade kolumner liknar mycket vanliga kolumner som vi ser i de flesta datamängder. Skillnaden är att beräknade kolumner är resultatet av våra beräkningar genom att använda två eller flera kolumner eller använda kolumner från olika tabeller. De kan användas när vi vill utföra radvisa beräkningar
  • beräknat mått, å andra sidan, liknar en beräknad kolumn. De upptar emellertid inget fysiskt minne och deras resultat kan inte ses i form av en kolumn. Vi brukar använda detta när vi vill utföra dynamiska beräkningar på en grupp rader eller genom att gruppera data tillsammans

implementering av DAX-funktioner i Power BI

vi kommer att arbeta med några användbara DAX-kommandon och deras funktioner i det här avsnittet. Vi kommer att använda ’Sample Super Store’ dataset. Du kan ladda ner dataset här och börja experimentera på egen hand också!

datauppsättningen innehåller tre tabeller – ’order’,’ Returns ’och’Users’. Gå vidare och ladda provet Superstore dataset Excel-fil i Power BI.

öppna Power BI och leta efter” Hämta data ”på fliken ”Hem”. Välj Excel och bläddra sedan till datauppsättningsfilen som finns i din lokala dator. Ladda hela filen i ditt BI-fönster.

nu, låt oss komma igång!

LOOKUP( )

LOOKUP-funktionen är ganska lik Vlookup i Microsoft Excel.

den tredje tabellen i vårt dataset innehåller detaljerna för alla chefer per region. Nu är här där LOOKUP kommer i handen. Vi kan utföra en sökning för kolumnen ’Manager’ i tabellen ’användare’ mot motsvarande kolumn ’Region’ i tabellen ’order’.

så hur utför vi en sökning i Power BI? Det finns två saker vi behöver komma ihåg:

  1. vi behöver en gemensam kolumn för att utföra en sökning
  2. vi behöver också unika värden i minst en av de matchande kolumnerna som valts från två olika tabeller. Den grundläggande syntaxen för sökning är:
LOOKUPVALUE(Result Column Name, Search Column Name, Search Column value)

att sätta denna syntax med hjälp av våra dataset variabler:

Manager = LOOKUPVALUE(Users,Users,Orders)

FILTER () & beräkna ()

DAX som visas nedan liknar funktionen group by. Det aggregerar dynamiskt en kolumn baserat på filtret. Detta är till hjälp när vi skapar en tabell i Power BI-instrumentpaneler och behöver bara filtrera en kolumn (medan den återstående kolumnen förblir opåverkad av filtret).

denna DAX är praktiskt där varje kolumn som används i tabellen kan ha sitt eget filter. Låt oss ta ett exempel för att förstå hur detta fungerar.

vi vill beräkna summan av försäljningen per region. Så först delar filterfunktionen regionkolonnen i norr, söder, öst och väst. Sedan beräknar den summan av försäljningen enligt segregationen. Vi använder en åtgärd här eftersom en viss region kan ha valfritt antal rader inblandade i den.

här förklarar vi en variabel reg som fungerar som en nyckel för filtret. Vi kan deklarera en variabel med hjälp av nyckelordet VAR. RETURNYCKELORDET ger oss resultatet av beräkningen (summan av försäljningen, i vårt exempel). Resultatet vi får från den beräknade DAX är:

kapslade om villkor

Tänk på ordertabellen i vår dataset. Kolumnen’ Orderprioritet ’ har fem värden under den. Låt oss anta att vi behöver några heltalvärden istället för de ursprungliga värdena som finns i den kolumnen. Det kapslade IF-uttalandet är vår vän här:

Nested IF = IF(Orders ="Critical", 5, IF(Orders ="High", 4, IF(Orders = "Medium", 3, IF(Orders = "Low", 2, IF(Orders = "Not Specified", 1)))))

Villkorlig formatering

Villkorlig formatering är en av de vanligaste funktionerna i Microsoft Excel. Och vi kan utnyttja det inuti Power BI också!

Villkorlig formatering, för dem som inte har använt den tidigare, är möjligheten att ändra teckensnittsfärgen för en kolumn baserat på ett villkor från en annan kolumn. Detta kan göras genom att skapa en ny kolumn enligt vårt villkor och sedan använda den kolumnen för att ställa in regler på fliken villkorlig formatering.

Låt oss prova detta med ett exempel från vårt exempel Superstore dataset.

vi vill ändra färgen på värdena som visas i kolumnen Orderprioritet i tabellen order. Till exempel ska alla ’kritiska’ värden vara i röd färg, alla ’höga’ värden ska vara i grön färg etc.

vi kan använda den kapslade IF-kolumnen vi skapade ovan eftersom villkoren redan är angivna. Ange regler på fliken villkorlig formatering-om värdet på kolumnen som skapats ovan är 1, ska teckensnittsfärgen vara röd om värdet är 2, Då ska det vara orange och så vidare.

här är en bild för att visa hur du kan göra det i Power BI:

dela en sträng baserad på avgränsare

en annan vanlig Excel-funktion som vi kan använda i Power BI:

customer_split_1 = PATHITEM(SUBSTITUTE(Orders," ","|"),1)

ovanstående PATHITEM-funktion returnerar den resulterande strängen. SUBSTITUTE-funktionen ersätter avgränsaren som anges med ett visst tecken och hämtar motsvarande ord baserat på det nämnda värdet.

låt oss till exempel göra en delning i fältet kundnamn. Här kommer ”” utrymmet att vara avgränsaren och vi har ersatt det med en rörledning ”|”. Vi behöver bara en kunds förnamn, så vi har angett 1. Du kan ändra detta värde och se vilka resultat du får.

låt oss nu utföra tre delade upp så här och namnge dem som customer_split_1, customer_split_2, customer_split_3 respektive.

hämta ett visst brev från ett ord

vad händer om vi bara ville extrahera ett visst brev från ett ord? Det låter knepigt, men det är faktiskt ganska lätt i Power BI:

customer_initial_1 = LEFT(Orders,1)

vi gjorde det på bara en rad kod!

låt oss säga att en viss kunds namn är ”Helen Stein” och splittringen är uppdelad i två delar. Vi använder ovanstående DAX för att få första bokstaven från det första delade ordet (Helen). Den vänstra funktionen returnerar antalet tecken genom att placera till början av strängen. Om vi ger 2 istället för 1 kommer ovanstående DAX att returnera ”han” istället för ”H”.

sammanfoga strängar

vi befinner oss ofta i situationer där vi behöver kombinera två ord tillsammans. För att se hur detta fungerar i Power BI, låt oss anta att vi har flera initialer i våra data.

vi behöver bara ange kundens initialer i visualiseringen snarare än hela namnet. Detta hjälper till att hålla bordet snyggt och kompakt:

customer_initials = CONCATENATE(Orders,CONCATENATE(Orders,Orders))

funktionen sammanfoga sammanfogar strängar tillsammans. Här har vi utfört en sammanfogning av tre kolumner:

WEEKDAY ()

funktionen WEEKDAY returnerar ett heltal som ger oss den aktuella dagen. Låt oss ta reda på dagen då några beställningar skickades:

weekday = WEEKDAY(Orders,2)

heltalet som visas ovan anger startdagen:

  • 1 – Start från söndag = 1 och slutar på lördag = 7
  • 2 – Börja från måndag = 1 och slutar på söndag = 7
  • 3 – Börja från måndag = 0 och slutar på söndag = 6

datum delas upp

det finns tillfällen när vi behöver un-pivot datumet för vissa projekt. Här är de goda nyheterna-Vi kan göra det med hjälp av DAX och frågeredigeraren i Power BI.

nu har vi två kolumner-orderdatum och leveransdatum. Vi vill avnotera datumen som ligger mellan de två intervallen. Låt oss ta orderdatumet som 01-01-2015 och leveransdatumet som 03-01-2015. Eftersom det finns en 3-dagars skillnad mellan dem, kommer denna rad att listas tre gånger.

vi kan göra detta genom frågeredigeraren i Power BI. Välj alternativet ’anpassad kolumn’ på fliken ’Lägg till kolumn’. Fönstret nedan dyker upp och vi kan lägga till ett kolumnnamn och använda DAX-frågan:

Nästa, hitta DATUMKOLUMNEN i vår dataset. Klicka på den lilla rutan i DATUMKOLUMNRUBRIKEN och välj alternativet ’expandera till nya rader’ :

Lägg märke till hur värdena visas i form av heltal? Högerklicka nu på kolumnen och ändra datatypen till’ datum ’ format:

komplexa aggregeringar baserade på datum

att arbeta med datumdata är en ganska komplicerad utmaning. Det finns mycket mer än att bara dela upp de olika dagarna, månader, etc.

i det här avsnittet kommer vi att arbeta med ett exempel på komplex aggregering baserat på datum. Till exempel, Vad är det totala antalet timmar som anges för de kommande 2 veckorna eller de senaste 2 veckorna?

vi byter dataset för det här avsnittet. Du kan ladda ner den nya datauppsättningen, kallad ’Weekcal’ , från prognos. Denna dataset är modellerad på lagtidsallokering och ett planeringsverktyg som heter Float. Float hjälper oss att tilldela uppgifter och beräkna de beräknade timmarna för teammedlemmar.

det finns en varning i Float vi borde vara medvetna om. En vecka börjar alltid från måndag i Flottörverktyget. Om du till exempel vill beräkna de tilldelade timmarna för nästa vecka från och med torsdag hittar du timmar tilldelade från den senaste måndag till fredag och inte från denna torsdag till nästa torsdag.

nu innehåller datasetet nedanstående funktioner:

  • startdag – startdag för uppgiften
  • Slutdatum – slutdag för uppgiften
  • timmar/dag – antal timmar som spenderas på uppgiften per dag
  • uppgiftsnamn – namn på uppgiften

låt oss anta att vi är intresserade av att hitta antalet timmar som tilldelats för nästa vecka. Vi kan göra detta med hjälp av nedanstående logik:

FORECAST_1 WEEK = if (Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,Forecast1,DAY)+1 * Forecast1,IF(Forecast1 > TODAY()-(WEEKDAY(TODAY(),2)-1) ,0,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7 && Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1),DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),Forecast1,DAY)* Forecast1,IF(Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1 >=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY)* Forecast1,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)&& Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY) * Forecast1,BLANK())))))
  • TODAY () – (WEEKDAY (TODAY (), 2) – 1-funktionen returnerar den aktuella måndagen i veckan
  • DATEDIFF-funktionen returnerar skillnaden mellan två datum

kolla in tabellen nedan för att se de beräknade timmarna för varje uppgift för följande vecka:

End Notes

Power BI är ett kraftfullt och lättanvänt verktyg för att skapa snabba instrumentpaneler med en mängd olika datakällor. DAX-frågor används för att kartlägga data, skapa nya variabler och affärsmått och manipulera data. Den här artikeln ger en kort och snabb guide för att starta din DAX-resa.

du bör också kolla in de officiella Microsoft-handledningarna för Power BI-en bra resurs!

vi hoppas att du hittade den här artikeln användbar. Vi ser fram emot att höra dina synpunkter och kommentarer. Glad Dashboarding, eller ska vi säga Glad DAXing!

om författarna

Kirthi Tej Yendloori

Kirthi Tej är en dataanalytiker på Indium software. Han har ett års erfarenhet av datavisualisering och är mycket intresserad av maskininlärning. Han älskar att resa.

You might also like

Lämna ett svar

Din e-postadress kommer inte publiceras.