Starter med DAX i Power BI



Denne Edureka-bloggen hjelper deg med å begynne med Power BI DAX Basics eller Data Analytics Expressions hvis du ikke har brukt Power BI med syntaksen og eksemplene.

Denne bloggen er egentlig designet for brukere som er nye for og er ment å gi deg en rask og enkel gjennomgang på et formelspråk som heter Data Analysis Expressions (DAX) .Hvis du er kjent med funksjonene i MS Excel eller , mange av formlene i dette Grunnleggende om Power BI DAX artikkelen vil se ut som deg.

Når det er sagt, her er begrepene, som utgjør en integrert del av alle , etter å ha lært hvilke du skal ha god forståelse av de mest grunnleggende konseptene i DAX.





Grunnleggende om Power BI DAX: Hva er DAX?

Så, la oss begynne med det grunnleggende om Power BI DAX, ok?

Det er ganske enkelt å lage rapporter ved hjelp av Power BI Desktop, som viser verdifull innsikt rett utenfor flaggermusen.



Men hva om du trenger å analysere vekstprosent i alle produktkategoriene for alle de forskjellige datoperioder? Eller må du beregne den årlige veksten til selskapet ditt sammenlignet med markedets giganter?

Læring DAX vil hjelpe deg å få mest mulig ut av din og løse reelle forretningsproblemer.

DAX består av funksjoner, operatører og konstanter som kan settes i form av formler for å beregne verdier ved hjelp av data som allerede finnes i modellen din.



Power BI DAX inkluderer et bibliotek med over 200 funksjoner, operatører og konstruksjoner. Biblioteket gir enorm fleksibilitet i å lage tiltak for å beregne resultater for omtrent ethvert behov for dataanalyse.

Grunnleggende om Power BI DAX: Hvordan fungerer det?

Først av alt, la meg forklare deg hvordan dette fungerer.Vi skal for det meste utforme vår forståelse av Power BI DAX rundt tre grunnleggende konsepter: Syntaks , Kontekst , og Funksjoner .

Selvfølgelig er det andre viktige begreper her inne, men å forstå disse tre vil gi det beste grunnlaget som du skal bygge dine ferdigheter på.

Syntaks

De Syntaks består av forskjellige komponenter som utgjør en formel og hvordan den er skrevet. Logså med denne enkle DAX-formelen.

Når du prøver å forstå en DAX-formel, er det ofte nyttig å bryte ned hvert av elementene til et språk du tenker og snakker hver dag. Så denne formelen inneholder følgende syntakselementer:

Syntaks - Power BI DAX - Edureka

JEG. Totale salg er målnavnet.

II. De lik skiltoperatør (=) indikerer begynnelsen på formelen.

III. SUM legger opp alle tallene i kolonnen, Salg [SalesAmount] .

IV. Det er disse parentes () som omgir et uttrykk som inneholder ett eller flere argumenter. Alle funksjoner krever minst ett argument.

V. Salg er det referert til bordet.

VI. An argument overfører en verdi til en funksjon. Den refererte kolonnen [Salgssum] er et argument som SUM-funksjonen kjenner kolonnen som den må samle et SUM på.

Enkelt sagt, du kan lese den som, ' Beregn (=) SUM av verdier i [SalesAmount] -kolonnen i salgstabellen for tiltaket som heter Total Sales. ”

& sparPower BI DAX-editoren inneholder en forslagfunksjon, som hjelper deg med å lage syntaktisk korrekte formler ved å foreslå de riktige elementene.

Kontekst

Kontekst er et av de viktigste av de 3 DAX-konseptene. Når man snakker om sammenheng, kan dette referere til en av de to typene Radkontekst og Filtrer kontekst .

Brukes hovedsakelig mens du snakker om målinger , den Radkontekst er lettest å tenke på som den nåværende raden. Det gjelder når en formel har en funksjon som bruker filtre for å identifisere en enkelt rad i en tabell.

Filter-kontekst er litt vanskeligere å forstå enn Row-Context. Du kan lettst tenke på filterkonteksten som ett eller flere filtre som brukes i en beregning. DeFilterkontekst eksisterer ikke i stedet for radkonteksten. Snarere gjelder det i tillegg til førstnevnte. Se på følgende DAX-formel.

Denne formelen inneholder følgende syntakselementer:

JEG. Tiltaksnavnet Butikksalg .

II. De lik skiltoperatør (=) indikerer begynnelsen på formelen.

III. De REGNE UT funksjon evaluerer et uttrykk, som et argument.

IV. Parentes () omgir et uttrykk som inneholder ett eller flere argumenter.

V. Et mål [Totale salg] i samme tabell som et uttrykk.

VI. TIL komma (,) skiller det første uttrykksargumentet fra filterargumentet.

KOMMER DU. Den fullstendige refererte kolonnen, Kanal [ChannelName] er vår Row-Context. Hver rad i denne kolonnen spesifiserer en kanal, butikk, online osv.

VIII. Den spesielle verdien, butikk brukes som filter. Dette er vår filterkontekst.

Denne formelen sikrer at Totalt salgsmål beregnes bare for rader i Channel [ChannelName] -kolonnen med verdien 'Store', som et filter.

Funksjoner

Funksjoner er forhåndsdefinerte, strukturerte og ordnede formler. De utfører beregninger ved hjelp av argumenter videreført til dem. Disse argumentene kan være tall, tekst, logiske verdier eller andre funksjoner.

Grunnleggende om Power BI DAX: Beregnede kolonner og tiltak

I denne bloggen skal vi fokusere på Power BI DAX-formlene som brukes i beregninger, i målinger og Beregnede kolonner .

Beregnede kolonner

Når du oppretter en datamodell på Power BI Desktop, kan du utvide en tabell ved å opprette nye kolonner. Innholdet i kolonnene er definert av et DAX-uttrykk, evaluert rad for rad eller i sammenheng med gjeldende rad over den tabellen.

I datamodeller for DAX tar imidlertid alle beregnede kolonner plass i minnet og blir beregnet under tabellbehandling.

Denne oppførselen er nyttig for å gi bedre brukeropplevelse, men den bruker dyrebar RAM og er derfor en dårlig vane i produksjonen fordi hver mellomberegning er lagret i RAM og kaster bort dyrebar plass.

målinger

Det er en annen måte å definere beregninger i en DAX-modell, nyttig hvis du trenger å operere på samlede verdier i stedet for på rad for rad-basis. Disse beregningene er mål. Et av kravene til DAX er at et mål må defineres i en tabell. Imidlertid hører tiltaket egentlig ikke til bordet. Så du kan flytte et mål fra en tabell til en annen uten å miste funksjonaliteten.

Beregnede kolonner vs tiltak

Mål og beregnede kolonner bruker begge DAX-uttrykk. Forskjellen er sammenhengen med evaluering. Et mål evalueres i sammenheng med cellen som evalueres i en rapport eller i et DAX-spørring, mens en beregnet kolonne beregnes på radnivå i tabellen den tilhører.

Selv om de ser like ut, er det stor forskjell mellom beregnede kolonner og mål. Verdien av en beregnet kolonne blir beregnet under en dataoppdatering og bruker den gjeldende raden som en kontekst, det avhenger ikke av brukerinteraksjon i rapporten.

Derfor må du definere en beregnet kolonne når du vil gjøre følgende

  • Plasser de beregnede resultatene i en skiver, eller se resultatene i rader eller kolonner i en pivottabell (i motsetning til verdiområdet), eller i aksene til et diagram, eller bruk resultatet som en filtertilstand i et DAX-spørsmål.
  • Definer et uttrykk som er strengt bundet til gjeldende rad. For eksempel kan Pris * Antall ikke fungere i gjennomsnitt eller på en sum av de to kolonnene.
  • Kategoriser tekst eller tall. For eksempel et verdiområde for et mål.

Et mål opererer på aggregeringer av data definert av gjeldende kontekst, som avhenger av filteret som brukes i rapporten - for eksempel skiver, rader og kolonnevalg i en pivottabell, eller akser og filtre som er brukt på et diagram.

Så du må definere et mål når du vil vise resulterende beregningsverdier som gjenspeiler brukervalg, for eksempel

  • Når du beregner profittprosenten på et bestemt utvalg av data.
  • Når du beregner forholdet mellom et produkt og alle produktene, men holder filteret både etter år og region.

Grunnleggende om Power BI DAX: Typer funksjoner i DAX

1. Aggregerte funksjoner

MIN

Denne DAX-funksjonen returner den minste numeriske verdien i en kolonne, eller mellom to skalære uttrykk.

Syntaks

MIN()

Eksempel

=MIN([ResellerMargin])

MINA

Denne DAX-funksjonen returner minimumsverdien i en kolonne, inkludert eventuelle logiske verdier og tall som er representert som tekst.

Syntaks

MINA()

Eksempel

=MINA(([Postnummer])

MINX

Denne DAX-funksjonen returnererden minste numeriske verdien som er resultatet av å evaluere et uttrykk for hver rad i en tabell.

Syntaks

MINX(

,)

hvordan du bruker delingsmetoden i java

Eksempel

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

MAX

Denne DAX-funksjonen retur den maksimale verdien i en kolonne, inkludert eventuelle logiske verdier og tall som er representert som tekst.

Syntaks

MAX()

Eksempel

=MAX([ResellerMargin])

MAX

Denne DAX-funksjonen retur den maksimale verdien i en kolonne, inkludert eventuelle logiske verdier og tall som er representert som tekst.

Syntaks

MAX()

Eksempel

=MAX(([Postnummer])

MAXX

Denne DAX-funksjonen returnererden maksimale numeriske verdien som er resultatet av å evaluere et uttrykk for hver rad i en tabell.

Syntaks

MAXX(

,)

Eksempel

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

SUM

Denne DAX-funksjonen adds alle tallene i en kolonne.

Syntaks

SUM()

Eksempel

=SUM(Salgskontor])

GJENNOMSNITT

Denne DAX-funksjonen returner det aritmetiske gjennomsnittet av verdiene i en kolonne.

Syntaks

GJENNOMSNITT()

Eksempel

=GJENNOMSNITT(InternetSales [ExtendedSalesAmount])

sumx

Denne DAX-funksjonen returner summen av et uttrykk evaluert for hver rad i en tabell.

Syntaks

sumx(

,)

Eksempel

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

AVERAGEX

Denne DAX-funksjonen cberegner det aritmetiske gjennomsnittet av et sett med uttrykk evaluert over et bord.

Syntaks

AVERAGEX(

,)

Eksempel

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

2. Tellefunksjoner

DISTINCTCOUNT

Dette er en DAX-funksjon som brukes til å returnere den forskjellige antall varer i en kolonne. Så hvis det er flere tall av samme element, teller denne funksjonen det som et enkelt element.

Syntaks

DISTINCTCOUNT()

Eksempel

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

TELLE

Dette er en DAX-funksjon som brukes til å returnere antall varer i en kolonne. Så hvis det er flere tall av samme element, vil denne funksjonen telle det som separate elementer og ikke som et enkelt element.

Syntaks

TELLE()

Eksempler

=TELLE([Forsendelsesdato])

COUNTA

Dette er en DAX-funksjon som brukes til å returnere antall varer i en kolonne som ikke er tom.

Syntaks

COUNTA()

Eksempel

=COUNTA('Forhandler' [Telefon])

COUNTROWS

Dette er en DAX-funksjon somteller antall rader i den angitte tabellen, eller i en tabell definert av et uttrykk.

Syntaks

COUNTROWS(

)

Eksempel

=COUNTROWS('Bestillinger')

COUNTBLANK

Dette er en DAX-funksjon somteller antall tomme celler i en kolonne.

Syntaks

COUNTBLANK()

Eksempel

=COUNTBLANK(Forhandler [BankName])

3. Dato-tid-funksjoner

DATO

Denne DAX-funksjonen rangir den angitte datoen i Date-Time format.

Syntaks

DATO(<år>,<måned>,<dag>)

Eksempel

=DATO(2019,12, 17)

TIME

Denne DAX-funksjonen returerer den angitte timen som et tall fra 0 til 23 (12:00 AM til 11:00 PM).

Syntaks

TIME()

Eksempel

=TIME('Bestillinger' [TransactionTime])

I DAG

Denne DAX-funksjonen rgjengir gjeldende dato.

Syntaks

I DAG()

Denne DAX-funksjonen rgjengir gjeldende dato og klokkeslett i Date-Time format.

Syntaks

()

EOMONTH

Denne DAX-funksjonen rviser datoen i Date-Time format for den siste dagen i måneden, før eller etter et spesifisert antall måneder.

Syntaks

EOMONTH(,)

Eksempel

=EOMONTH(3. mars 2008,1.5)

4. Matematiske funksjoner

SEKSJON

Denne DAX-funksjonen returerer den absolutte verdien av det oppgitte tallet.

Syntaks

SEKSJON()

Eksempel

=ABS ([DealerPrice] - [ListPrice])

EXP

Denne DAX-funksjonen returner verdien av e hevet til kraften til det gitte tallet.

Syntaks

EXP()

Eksempel

= EXP ([Power])

FAKTUM

Denne DAX-funksjonen returns faktura av et tall.

Syntaks

FAKTUM()

Eksempel

= FAKTA ([Verdier])

LN

Denne DAX-funksjonen returerer den naturlige loggen til det gitte nummeret.

Syntaks

LN()

Eksempel

= LN ([Verdier])

LOGG

Denne DAX-funksjonen returner loggen med basen til det gitte nummeret.

Syntaks

LOGG(,)

Eksempel

Alle følgende gir samme resultat, 2.

= LOGG (100,10)

= LOGG (100)

= LOG10 (100)

PI

Denne DAX-funksjonen returner verdien av Pi.

Syntaks

PI()

MAKT

Denne DAX-funksjonen returner verdien av det første argumentet som er hevet til kraften til det andre argumentet.

Syntaks

MAKT(,<makt>)

Eksempel

= KRAFT (5,2)

KVOTIENT

Denne DAX-funksjonen utfører divisjon returerer heltall av kvotienten.

Syntaks

KVOTIENT(,)

Eksempel

= KVOTIENT (5,2)

SKILT

Denne DAX-funksjonen returnerer tegnet på et gitt tall.

Syntaks

SKILT()

Eksempel

= SIGN (([Salgspris] - [Kostpris]))

SQRT

Denne DAX-funksjonen returerer kvadratroten til det gitte tallet.

Syntaks

SQRT()

Eksempel

= SQRT (25)

5. Logiske funksjoner

OG

Denne DAX-funksjonen utfører logisk AND (konjunksjon) på to uttrykk. For at AND skal være sant, må begge spesifiserte vilkårene være oppfylt.

Syntaks

OG(,)

Eksempel

= HVIS (OG (10>9, -10 <-en),'Alt sant','En eller flere falske'

Fordi begge forholdene, sendt som argumenter, til AND-funksjonen er sanne, returnerer formelen 'All True'.

ELLER

Denne DAX-funksjonen utfører logisk ELLER (disjunksjon) på to uttrykk. For at OR skal være sant, må en av de to betingelsene som er spesifisert være oppfylt.

Syntaks

ELLER(,)

Eksempel

= HVIS (ELLER (10>9, -10> -en),'Ekte','Falsk'

Fordi en av betingelsene, gitt som argumenter, til OR-funksjonen er sant, returnerer formelen 'Sann'.

IKKE

Denne DAX-funksjonen utfører logisk IKKE (negasjon) på gitt uttrykk.

Syntaks

IKKE()

Eksempel

= IKKE ([BeregnetKolonne1])

For hver rad i beregnet kolonne1 returnerer IKKE-funksjonen det logiske motsatte av den gitte verdien.

HVIS

Denne DAX-funksjonen tester en serie innganger for den som oppfyller betingelsen spesifisert i argumentet.

Syntaks

HVIS(logisk_test> ,, verdi_om_falsk)

Eksempel

= HVIS ([samtaler]<200,'lav', IF ([Samtaler]<300,'medium','høy'))

FEIL

Denne DAX-funksjonen everdsetter et uttrykk og returnerer en spesifisert verdi hvis uttrykket returnerer en feil.

Syntaks

FEIL(verdi, verdi_if_feil)

Eksempel

= FEIL (25/0,9999)

6. Informasjonsfunksjoner

ISBLANK

Denne DAX-funksjonenreturnerer SANT eller FALSK etterchecking om en verdi er blank.

Syntaks

ISBLANK(<verdi>)

Eksempel

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

ISNUMBER

Denne DAX-funksjonenreturnerer SANT eller FALSK etterchecking om en verdi er numerisk.

Syntaks

ISNUMBER(<verdi>)

Eksempel

= HVIS (ISNUMBER (0),'Er nummer','Er ikke nummer')

ISTEXT

Denne DAX-funksjonenreturnerer SANT eller FALSK etterchecking om en verdi er en tekst.

Syntaks

ISTEXT(<verdi>)

Eksempel

= HVIS (ISTEXT ('tekst'),'Er tekst','Er ikke-tekst')

ISNONTEXT

Denne DAX-funksjonenreturnerer SANT eller FALSK etterchecking om en verdi ikke er tekst.

Syntaks

ISNONTEXT(<verdi>)

Eksempel

= HVIS (ISNONTEXT ('tekst'),'Er ikke-tekst','Er tekst')

FEIL

Denne DAX-funksjonenreturnerer SANT eller FALSK etterchecking om en verdi er en feil.

hvordan avslutte programmet i java

Syntaks

ISERROE(<verdi>)

Eksempel

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

7. Tekstfunksjoner

KONKATENERE

Denne DAX-funksjonen joins to tekststrenger i en.

Syntaks

KONKATENERE(,)

Eksempel

= CONCATENATE ('Hei', 'Verden')

CONCATENATEX

Denne DAX-funksjonenresultatet av et uttrykk evaluert for hver rad i en tabell.

Syntaks

CONCATENATEX(

,, [avgrenser])

Eksempel

= CONCATENATEX (Ansatte, [FirstName] & '' & [LastName], ',')

FIKSET

Denne DAX-funksjonen rounds et tall til det angitte antallet desimaler og returnerer resultatet som tekst.

Syntaks

FIKSET(,,)

Eksempel

= FAST ([PctCost],3,en)

ERSTATTE

Denne DAX-funksjonenerstatter en del av en tekststreng, basert på antall tegn du angir, med en annen tekststreng.

Syntaks

ERSTATTE(,,,)

Eksempel

= ERSTATT ('Nye produkter' [Produktkode],en,2,'OB')

SØK

Denne DAX-funksjonen returner antall tegn der en bestemt tekststreng først blir funnet.

Syntaks

SØK(, [, [] [,]])

Eksempel

= SØK ('n','skriver')

Formelen returnerer 4 fordi 'n' er det fjerde tegnet i ordet 'skriver'.

ØVERSTE

Denne DAX-funksjonen returnereren tekststreng i alle store bokstaver.

Syntaks

ØVERSTE()

Eksempel

= ØVRE (['Nye produkter' [Produktkode])

Grunnleggende om Power BI DAX: Opprette ditt første mål

Forutsetning: Du må åpne denne gitte Power BI Desktop-filen .

Siden jeg antar at dette kommer til å bli din første, vil jeg skrive denne biten i detalj for at du skal følge med.

  1. I feltlisten til Rapportvisning , høyreklikk på Salg tabell, etterfulgt av Nytt mål .

  2. Erstatte Måle ved å skrive inn et nytt målnavn Forrige kvartalsalg, i Formula Bar .

  3. I denne formelen vil du bruke REGNE UT funksjon. Så, etter likhetstegnet, skriver du inn de første bokstavene CAL , og dobbeltklikk deretter funksjonen du vil bruke.

  4. BEREGN-funksjonen har minst to argumenter. Det første er uttrykket som skal evalueres, og det andre er et Filter .

  5. Etter åpningen parentes ( for REGNE UT funksjon, type SUM etterfulgt av en ny parentes ( å føre et argument til SUM funksjon.

  6. Begynn å skrive Salt , og velg deretter Salg [SalesAmount] , etterfulgt av en sluttparentes ) . Dette er det første uttrykksargumentet for vårt REGNE UT funksjon.

  7. Skriv inn a komma (,) etterfulgt av et mellomrom for å spesifisere det første filteret, og skriv deretter TIDLIGERE KVARTAL . Dette vil være vårt filter.

  8. Du bruker TIDLIGERE KVARTAL tidsintelligensfunksjon for å filtrere SUM resultater fra forrige kvartal.

  9. Etter innledende parentes ( for FORRIGE KVARTER-funksjonen, skriv Kalender [DateKey] .

  10. De TIDLIGERE KVARTAL funksjonen har ett argument, en kolonne som inneholder et sammenhengende datoperiode. I vårt tilfelle er det den DateKey kolonne i kalendertabellen.

  11. Forsikre deg om at både argumentene som sendes til FORRIGE KVARTER og KALKULER-funksjonen er lukket ved å skrive to lukkede parenteser )) .

  12. Formelen din skal nå se ut som følgende
    Tidligere kvartalsalg = BEREGNE (SUM (Salg [SalesAmount]), TIDLIGERE KVARTAL (Kalender [DateKey])

  13. Klikk haken i formellinjen, eller trykk Enter for å validere formelen.

Når du har lagt det til i modellen din, voila! Du har nettopp opprettet et mål ved hjelp av DAX, og ikke et enkelt.

Hva denne formelen gjør er beregne totalsalget for forrige kvartal, avhengig av filtrene som er brukt i en rapport.

Så la oss om vi måtte sette Salgssum og vår nye Forrige kvartalsalg måle i et diagram, og deretter legges til År og QuarterOfYear som Skiver, vi vil få noe i retning av følgende

Nå som du har en grunnleggende forståelse av konseptene i Power BI DAX, kan du begynne å lage DAX-formler for tiltak alene. Det kan faktisk være litt vanskelig å lære, menDAX har eksistert i flere år ogdet er mange ressurser tilgjengelig på nettet. Etter å ha lest gjennom denne bloggen og litt eksperimentering, kan du lære å finne forretningsløsninger gjennom Power BI DAX.