Börjar med DAX i Power BI



Den här Edureka-bloggen hjälper dig att börja med Power BI DAX Basics eller Data Analytics Expressions om du inte har använt Power BI med syntax och exempel.

Den här bloggen är i huvudsak utformad för användare som är nya inom och är tänkt att ge dig en snabb och enkel genomgång på ett formelspråk som kallas Dataanalysuttryck (DAX) .Om du känner till funktioner i MS Excel eller , många av formlerna i detta Grundläggande om Power BI DAX artikeln kommer att se ut som du.

Med detta sagt är här begreppen, som utgör en integrerad del av allt , efter att ha lärt dig vilka du ska ha en god förståelse för de mest grundläggande begreppen i DAX.





Grundläggande om Power BI DAX: Vad är DAX?

Så, låt oss börja med grunderna i Power BI DAX, okej?

Det är ganska enkelt att skapa rapporter med Power BI Desktop, som visar värdefull insikt direkt från bat.



Men vad händer om du behöver analysera tillväxtprocent i alla produktkategorier för alla olika datumintervall? Eller måste du beräkna företagets årliga tillväxt jämfört med marknadsjättar?

Att lära sig DAX hjälper dig att få ut det mesta av din och lösa verkliga affärsproblem.

DAX består av funktioner, operatorer och konstanter som kan läggas i form av formler för att beräkna värden med hjälp av data som redan finns i din modell.



Power BI DAX innehåller ett bibliotek med över 200 funktioner, operatörer och konstruktioner. Biblioteket ger enorm flexibilitet när det gäller att skapa åtgärder för att beräkna resultat för nästan alla dataanalysbehov.

Grundläggande om Power BI DAX: Hur fungerar det?

Låt mig först och främst förklara för dig hur detta fungerar.Vi ska för det mesta utforma vår förståelse av Power BI DAX kring tre grundläggande begrepp: Syntax , Sammanhang och Funktioner .

Naturligtvis finns det andra viktiga begrepp här inne, men att förstå dessa tre kommer att ge den bästa grunden som du ska bygga dina färdigheter på.

Syntax

De Syntax består av olika komponenter som utgör en formel och hur den skrivs. Lockså med den här enkla DAX-formeln.

När du försöker förstå en DAX-formel är det ofta bra att bryta ner vart och ett av elementen till ett språk du tänker och talar varje dag. Så denna formel innehåller följande syntaxelement:

Syntax - Power BI DAX - Edureka

I. Total rea är måttnamnet.

II. De lika teckenoperatör (=) anger början på formeln.

III. BELOPP lägger till alla siffror i kolumnen, Försäljning [SalesAmount] .

IV. Det finns dessa parentes () som omger ett uttryck som innehåller ett eller flera argument. Alla funktioner kräver minst ett argument.

V. Försäljning är tabellen refererad.

VI. Ett argument överför ett värde till en funktion. Den refererade kolumnen [Försäljningsbeloppet] är ett argument med vilket SUM-funktionen känner till den kolumn som den måste aggregera en SUM på.

Enkelt uttryckt kan du läsa det som, ' Beräkna (=) summan av värden i kolumnen [SalesAmount] i tabellen Försäljning för måttet som heter Total Sales. ”

&spaderPower BI DAX-redigeraren innehåller en förslagsfunktion som hjälper dig att skapa syntaktiskt korrekta formler genom att föreslå rätt element.

Sammanhang

Sammanhang är ett av de viktigaste av de 3 DAX-koncepten. När man talar om sammanhang kan detta hänvisa till en av de två typerna Radkontext och Filtrera sammanhang .

Används övervägande när man talar om Åtgärder , den Radkontext är lättast att betrakta som den aktuella raden. Det gäller när en formel har en funktion som tillämpar filter för att identifiera en enda rad i en tabell.

Filter-sammanhang är lite svårare att förstå än Row-Context. Du kan lättast tänka på Filter-Context som ett eller flera filter som används i en beräkning. DeFilterkontext finns inte i radkontextens ställning. Snarare gäller det utöver det förra. Titta på följande DAX-formel.

Denna formel innehåller följande syntaxelement:

I. Måttets namn Butiksförsäljning .

II. De lika teckenoperatör (=) anger början på formeln.

III. De BERÄKNA funktionen utvärderar ett uttryck som ett argument.

IV. Parentes () omger ett uttryck som innehåller ett eller flera argument.

V. En mätning [Total rea] i samma tabell som ett uttryck.

VI. TILL kommatecken (,) skiljer det första uttrycksargumentet från filterargumentet.

KOMMER DU. Den fullständigt refererade kolumnen, Kanal [ChannelName] är vår radkontext. Varje rad i den här kolumnen anger en kanal, butik, online, etc.

VIII. Det särskilda värdet, Lagra används som ett filter. Detta är vårt filterkontext.

Denna formel säkerställer det där det totala försäljningsmåttet beräknas endast för rader i kolumnen Channel [ChannelName] med värdet 'Store', som ett filter.

Funktioner

Funktioner är fördefinierade, strukturerade och ordnade formler. De utför beräkningar med hjälp av argument överfördes till dem. Dessa argument kan vara siffror, text, logiska värden eller andra funktioner.

Grundläggande om Power BI DAX: Beräknade kolumner och mått

I den här bloggen kommer vi att fokusera på Power BI DAX-formlerna som används i beräkningar, i Åtgärder och Beräknade kolumner .

Beräknade kolumner

När du skapar en datamodell på Power BI Desktop kan du utöka en tabell genom att skapa nya kolumner. Innehållet i kolumnerna definieras av ett DAX-uttryck, utvärderas rad för rad eller i samband med den aktuella raden över den tabellen.

I datamodeller för DAX tar dock alla beräknade kolumner plats i minnet och beräknas under tabellbearbetning.

Detta beteende hjälper till att resultera i bättre användarupplevelse men det använder dyrbart RAM och är därför en dålig vana vid produktion eftersom varje mellanliggande beräkning lagras i RAM och slösar bort dyrbart utrymme.

Åtgärder

Det finns ett annat sätt att definiera beräkningar i en DAX-modell, användbart om du behöver använda aggregerade värden istället för rad för rad. Dessa beräkningar är mått. Ett av kraven för DAX är att ett mått måste definieras i en tabell. Men åtgärden tillhör inte riktigt tabellen. Så du kan flytta ett mått från en tabell till en annan utan att förlora dess funktionalitet.

Beräknade kolumner mot mått

Mått och beräknade kolumner använder båda DAX-uttryck. Skillnaden är sammanhanget för utvärderingen. Ett mått utvärderas i samband med cellen som utvärderas i en rapport eller i en DAX-fråga, medan en beräknad kolumn beräknas på radnivån i den tabell den tillhör.

Även om de ser lika ut är det stor skillnad mellan beräknade kolumner och mått. Värdet på en beräknad kolumn beräknas under en datauppdatering och använder den aktuella raden som ett sammanhang, det beror inte på användarinteraktion i rapporten.

Därför måste du definiera en beräknad kolumn när du vill göra följande

  • Placera de beräknade resultaten i en skärare, eller se resultaten i rader eller kolumner i en pivottabell (i motsats till värdena), eller i axlarna i ett diagram, eller använd resultatet som ett filtervillkor i en DAX-fråga.
  • Definiera ett uttryck som är strikt bundet till den aktuella raden. Pris * Antal kan till exempel inte fungera i genomsnitt eller på en summa av de två kolumnerna.
  • Kategorisera text eller siffror. Till exempel ett värdeintervall för ett mått.

Ett mått fungerar på aggregeringar av data som definieras av det aktuella sammanhanget, vilket beror på det filter som tillämpas i rapporten - till exempel skivor, rader och kolumner i en pivottabell eller axlar och filter som tillämpas på ett diagram.

Så du måste definiera ett mått när du vill visa resulterande beräkningsvärden som återspeglar användarval, t.ex.

  • När du beräknar vinstprocenten på ett visst urval av data.
  • När du beräknar förhållanden för en produkt jämfört med alla produkter men behåller filtret både efter år och region.

Grundläggande om Power BI DAX: Typer av funktioner i DAX

1. Aggregerade funktioner

MIN

Denna DAX-funktion returerar det minsta numeriska värdet i en kolumn eller mellan två skalära uttryck.

Syntax

MIN()

Exempel

=MIN([ResellerMargin])

MINA

Denna DAX-funktion returns minimivärdet i en kolumn, inklusive alla logiska värden och siffror som representeras som text.

Syntax

MINA()

Exempel

=MINA(([Postnummer])

MINX

Denna DAX-funktion återgårdet minsta numeriska värdet som är resultatet av att ett uttryck utvärderas för varje rad i en tabell.

Syntax

MINX(

,)

Exempel

=MINX(FILTRERA(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

MAX

Denna DAX-funktion returnar det maximala värdet i en kolumn, inklusive alla logiska värden och siffror som representeras som text.

Syntax

MAX()

Exempel

=MAX([ResellerMargin])

MAX

Denna DAX-funktion returnar det maximala värdet i en kolumn, inklusive alla logiska värden och siffror som representeras som text.

Syntax

MAX()

Exempel

java 9 har exempel

=MAX(([Postnummer])

MAXX

Denna DAX-funktion återgårdet maximala numeriska värdet som är resultatet av att utvärdera ett uttryck för varje rad i en tabell.

Syntax

MAXX(

,)

Exempel

=MAXX(FILTRERA(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

BELOPP

Denna DAX-funktion adds alla siffrorna i en kolumn.

Syntax

BELOPP()

Exempel

=BELOPP(Försäljnings kontor])

GENOMSNITT

Denna DAX-funktion returner det aritmetiska medelvärdet av värdena i en kolumn.

Syntax

GENOMSNITT()

Exempel

=GENOMSNITT(InternetSales [ExtendedSalesAmount])

sumx

Denna DAX-funktion returnar summan av ett uttryck som utvärderats för varje rad i en tabell.

Syntax

sumx(

,)

Exempel

=sumx(FILTRERA(InternetSales, InternetSales [SalesTerritoryID] =5),[Frakt])

AVERAGEX

Denna DAX-funktion cberäknar det aritmetiska medelvärdet för en uppsättning uttryck utvärderade över en tabell.

Syntax

AVERAGEX(

,)

Exempel

=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])

2. Räkna funktioner

DISTINCTCOUNT

Detta är en DAX-funktion som används för att returnera det distinkta antalet objekt i en kolumn. Så, om det finns flera nummer av samma objekt, räknar den här funktionen som ett enda objekt.

Syntax

DISTINCTCOUNT()

Exempel

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

RÄKNA

Detta är en DAX-funktion som används för att returnera antalet artiklar i en kolumn. Så om det finns flera nummer av samma objekt kommer den här funktionen att räkna det som separata objekt och inte som ett enda objekt.

Syntax

RÄKNA()

Exempel

hur man använder db-webbläsare för sqlite

=RÄKNA([Leveransdatum])

COUNTA

Detta är en DAX-funktion som används för att returnera antalet artiklar i en kolumn som inte är tom.

Syntax

COUNTA()

Exempel

=COUNTA('Återförsäljare' [Telefon])

COUNTROWS

Detta är en DAX-funktion somräknar antalet rader i den angivna tabellen eller i en tabell som definieras av ett uttryck.

Syntax

COUNTROWS(

)

Exempel

=COUNTROWS('Order')

COUNTBLANK

Detta är en DAX-funktion somräknar antalet tomma celler i en kolumn.

Syntax

COUNTBLANK()

Exempel

=COUNTBLANK(Återförsäljare [BankName])

3. Datum-tid-funktioner

DATUM

Denna DAX-funktion ranger det angivna datumet i Date-Time-format.

Syntax

DATUM(<år>,<månad>,<dag>)

Exempel

=DATUM(2019,12, 17)

TIMME

Denna DAX-funktion ranger den angivna timmen som ett tal från 0 till 23 (12:00 AM till 11:00 PM).

Syntax

TIMME()

Exempel

=TIMME('Beställningar' [TransactionTime])

I DAG

Denna DAX-funktion rdet aktuella datumet.

Syntax

I DAG()

NU

Denna DAX-funktion raktiverar aktuellt datum och tid i formatet Datum-tid.

Syntax

NU()

EOMONTH

Denna DAX-funktion ranger datumet i datum-tid-format för den sista dagen i månaden, före eller efter ett angivet antal månader.

Syntax

EOMONTH(,)

Exempel

=EOMONTH('3 mars 2008',1.5)

4. Matematiska funktioner

SEKTION

Denna DAX-funktion returns det absoluta värdet för det angivna talet.

Syntax

SEKTION()

Exempel

=ABS ([DealerPrice] - [ListPrice])

EXP

Denna DAX-funktion returns värdet av e höjt till kraften för det angivna numret.

Syntax

EXP()

Exempel

= EXP ([Power])

FAKTUM

Denna DAX-funktion returns faktorn av ett nummer.

Syntax

FAKTUM()

Exempel

= FAKTA ([Värden])

LN

Denna DAX-funktion returerar den naturliga loggen för det angivna numret.

Syntax

LN()

Exempel

= LN ([Värden])

LOGGA

Denna DAX-funktion returnar loggen med basen för det angivna numret.

Syntax

LOGGA(,)

Exempel

Alla följande ger samma resultat, 2.

= LOGG (100,10)

= LOGG (100)

= LOG10 (100)

PI

Denna DAX-funktion returns värdet på Pi.

Syntax

PI()

KRAFT

Denna DAX-funktion rvärderar värdet av det första argumentet som höjs till det andra argumentets kraft.

Syntax

KRAFT(,<kraft>)

Exempel

= POWER (5,2)

KVOT

Denna DAX-funktion utför division returns hela del av kvoten.

Syntax

KVOT(,)

Exempel

= KVOTERING (5,2)

SKYLT

Denna DAX-funktion returnerar tecknet på ett givet nummer.

Syntax

SKYLT()

Exempel

= SIGN (([Försäljningspris] - [Kostnadspris]))

SQRT

Denna DAX-funktion returns kvadratroten av det angivna numret.

Syntax

SQRT()

Exempel

= SQRT (25)

5. Logiska funktioner

OCH

Den här DAX-funktionen utför logisk AND (konjunktion) på två uttryck. För att AND ska kunna bli sant måste båda angivna villkoren vara uppfyllda.

Syntax

OCH(,)

Exempel

= OM (OCH (10>9, -10 <-ett),'All true','En eller flera falska'

Eftersom båda villkoren, skickade som argument, till OCH-funktionen är sanna, returnerar formeln 'Alla sanna'.

ELLER

Denna DAX-funktion utför logisk ELLER (disjunktion) på två uttryck. För att OR ska kunna vara sant måste något av de två angivna villkoren vara uppfyllda.

Syntax

ELLER(,)

Exempel

= IF (ELLER (10>9, -10> -ett),'Sann','Falsk'

Eftersom ett av villkoren, skickat som argument, till OR-funktionen är sant, returnerar formeln 'True'.

INTE

Den här DAX-funktionen utför logiskt NOT (negation) för givet uttryck.

Syntax

INTE()

Exempel

= INTE ([BeräknadKolumn1])

För varje rad i Beräknad Kolumn1 returnerar INTE-funktionen den logiska motsatsen till det angivna värdet.

OM

Denna DAX-funktion testar en serie ingångar för den som uppfyller villkoret som anges i argumentet.

Syntax

OM(logisk_test> ,, värde_om_falsk)

Exempel

= OM ([samtal]<200,'låg', IF ([samtal]<300,'medium','hög'))

FEL

Denna DAX-funktion evärderar ett uttryck och returnerar ett angivet värde om uttrycket returnerar ett fel.

Syntax

FEL(värde, värde_om_fel)

Exempel

= FEL (25/0,9999)

6. Informationsfunktioner

ISBLANK

Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är tomt.

Syntax

ISBLANK(<värde>)

Exempel

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

ISNUMBER

Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är numeriskt.

Syntax

ISNUMBER(<värde>)

Exempel

= OM (ISNUMBER (0),'Är nummer','Är inte nummer')

ISTEXT

Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är en text.

Syntax

ISTEXT(<värde>)

Exempel

= OM (ISTEXT ('text'),'Är text','Är icke-text')

ISNONTEXT

Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde inte är text.

Syntax

installera php på Windows 7

ISNONTEXT(<värde>)

Exempel

= OM (ISNONTEXT ('text'),'Är icke-text','Är text')

FEL

Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är ett fel.

Syntax

ISERROE(<värde>)

Exempel

= OM (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount)

7. Textfunktioner

KONKATENERA

Denna DAX-funktion jgör två textsträngar i en.

Syntax

KONKATENERA(,)

Exempel

= CONCATENATE ('Hej', 'Värld')

CONCATENATEX

Denna DAX-funktionresultatet av ett uttryck utvärderat för varje rad i en tabell.

Syntax

CONCATENATEX(

,, [avgränsare])

Exempel

= CONCATENATEX (anställda, [förnamn] & '' & [efternamn], ',')

FAST

Denna DAX-funktion rounds ett nummer till det angivna antalet decimaler och returnerar resultatet som text.

Syntax

FAST(,,)

Exempel

= FAST ([PctCost],3,ett)

BYTA UT

Denna DAX-funktionersätter en del av en textsträng, baserat på antalet tecken du anger, med en annan textsträng.

Syntax

BYTA UT(,,,)

Exempel

= BYT ut ('Nya produkter' [Produktkod],ett,2,'OB')

SÖK

Denna DAX-funktion ranger antalet tecken där en specifik textsträng först hittas.

Syntax

SÖK(, [, [] [,]])

Exempel

= SÖK ('n','skrivare')

Formeln returnerar 4 eftersom 'n' är det fjärde tecknet i ordet 'skrivare'.

ÖVRE

Denna DAX-funktion återgåren textsträng i alla versaler.

Syntax

ÖVRE()

Exempel

= ÖVRE (['Nya produkter' [Produktkod])

Grundläggande om Power BI DAX: Skapa din första åtgärd

Nödvändig förutsättning: Du måste öppna den här Power BI Desktop-filen .

Eftersom jag antar att detta kommer att bli din första, kommer jag att skriva denna bit i detalj för att du ska följa med.

  1. I fältlistan för Rapportvy , högerklicka på Försäljning tabell följt av Nytt mått .

  2. Byta ut Mäta genom att skriva ett nytt måttnamn Tidigare kvartalsförsäljning, i Formel Bar .

  3. I den här formeln vill du använda BERÄKNA fungera. Så, efter likhetstecknet, skriv de första bokstäverna CAL och dubbelklicka sedan på den funktion du vill använda.

  4. Funktionen BERÄKNA har minst två argument. Det första är det uttryck som ska utvärderas och det andra är ett Filtrera .

  5. Efter öppningen parentes ( för BERÄKNA funktion, typ BELOPP följt av ytterligare en parentes ( att skicka ett argument till BELOPP fungera.

  6. Börja skriva Salt och välj sedan Försäljning [SalesAmount] följt av en slutande parentes ) . Detta är det första uttrycksargumentet för vårt BERÄKNA fungera.

  7. Skriv a kommatecken (,) följt av ett mellanslag för att ange det första filtret och sedan skriva FÖREGÅENDE KVARTAL . Detta kommer att vara vårt filter.

  8. Du använder FÖREGÅENDE KVARTAL tidsintelligensfunktion för att filtrera BELOPP resultat från föregående kvartal.

  9. Efter den inledande parentesen ( för PREVIOUSQUARTER-funktionen, skriv Kalender [DateKey] .

  10. De FÖREGÅENDE KVARTAL funktionen har ett argument, en kolumn som innehåller ett sammanhängande datumintervall. I vårt fall är det detta DateKey kolumn i kalendertabellen.

  11. Se till att både argumenten som skickas till PREVIOUSQUARTER och CALCULATE-funktionen stängs genom att skriva två stängda parenteser )) .

  12. Din formel ska nu se ut som följande
    Tidigare kvartalsförsäljning = BERÄKNA (SUM (Försäljning [SalesAmount]), FÖREGÅENDE KVARTAL (Kalender [DateKey])

  13. Klicka på bocken i formelfältet eller tryck på Enter för att validera formeln.

När du har lagt till det i din modell, voila! Du skapade precis ett mått med DAX, och inte en lätt åtgärd.

Vad denna formel gör är beräkna den totala försäljningen för föregående kvartal, beroende på vilka filter som används i en rapport.

Så, låt oss om vi måste sätta Försäljningsbeloppet och vår nya Tidigare kvartalsförsäljning mäta i ett diagram och lägg sedan till År och QuarterOfYear som Skivor, vi skulle få något i stil med följande

Nu när du har en grundläggande förståelse för begreppen i Power BI DAX kan du börja skapa DAX-formler för åtgärder på egen hand. Det kan faktiskt vara lite knepigt att lära sig, menDAX har funnits i flera år ochdet finns många resurser tillgängliga på webben. Efter att ha läst igenom den här bloggen och lite experiment kan du lära dig att hitta affärslösningar via Power BI DAX.