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?
- Grundläggande om Power BI DAX: Hur fungerar det?
- Grundläggande om Power BI DAX: Beräknade kolumner och mått
- Grundläggande om Power BI DAX: Typer av funktioner i DAX
- Grundläggande om Power BI DAX: Skapa din första åtgärd
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:
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
Exempel Denna DAX-funktion returnar det maximala värdet i en kolumn, inklusive alla logiska värden och siffror som representeras som text. Syntax Exempel Denna DAX-funktion returnar det maximala värdet i en kolumn, inklusive alla logiska värden och siffror som representeras som text. Syntax Exempel 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 Exempel Denna DAX-funktion adds alla siffrorna i en kolumn. Syntax Exempel Denna DAX-funktion returner det aritmetiska medelvärdet av värdena i en kolumn. Syntax Exempel Denna DAX-funktion returnar summan av ett uttryck som utvärderats för varje rad i en tabell. Syntax Exempel Denna DAX-funktion cberäknar det aritmetiska medelvärdet för en uppsättning uttryck utvärderade över en tabell. Syntax Exempel 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 Exempel 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 Exempel Detta är en DAX-funktion som används för att returnera antalet artiklar i en kolumn som inte är tom. Syntax Exempel Detta är en DAX-funktion somräknar antalet rader i den angivna tabellen eller i en tabell som definieras av ett uttryck. Syntax Exempel Detta är en DAX-funktion somräknar antalet tomma celler i en kolumn. Syntax Exempel Denna DAX-funktion ranger det angivna datumet i Date-Time-format. Syntax Exempel Denna DAX-funktion ranger den angivna timmen som ett tal från 0 till 23 (12:00 AM till 11:00 PM). Syntax Exempel Denna DAX-funktion rdet aktuella datumet. Syntax Denna DAX-funktion raktiverar aktuellt datum och tid i formatet Datum-tid. Syntax 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 Exempel Denna DAX-funktion returns det absoluta värdet för det angivna talet. Syntax Exempel Denna DAX-funktion returns värdet av e höjt till kraften för det angivna numret. Syntax Exempel Denna DAX-funktion returns faktorn av ett nummer. Syntax Exempel Denna DAX-funktion returerar den naturliga loggen för det angivna numret. Syntax Exempel Denna DAX-funktion returnar loggen med basen för det angivna numret. Syntax Exempel Denna DAX-funktion returns värdet på Pi. Syntax Denna DAX-funktion rvärderar värdet av det första argumentet som höjs till det andra argumentets kraft. Syntax Exempel Denna DAX-funktion utför division returns hela del av kvoten. Syntax Exempel Denna DAX-funktion returnerar tecknet på ett givet nummer. Syntax Exempel Denna DAX-funktion returns kvadratroten av det angivna numret. Syntax Exempel 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 Exempel 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 Exempel Den här DAX-funktionen utför logiskt NOT (negation) för givet uttryck. Syntax Exempel Denna DAX-funktion testar en serie ingångar för den som uppfyller villkoret som anges i argumentet. Syntax Exempel Denna DAX-funktion evärderar ett uttryck och returnerar ett angivet värde om uttrycket returnerar ett fel. Syntax Exempel Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är tomt. Syntax Exempel Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är numeriskt. Syntax Exempel Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är en text. Syntax Exempel Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde inte är text. Syntax Exempel Denna DAX-funktionreturnerar SANT eller FALSK efterchecking om ett värde är ett fel. Syntax Exempel Denna DAX-funktion jgör två textsträngar i en. Syntax Exempel Denna DAX-funktionresultatet av ett uttryck utvärderat för varje rad i en tabell. Syntax Exempel Denna DAX-funktion rounds ett nummer till det angivna antalet decimaler och returnerar resultatet som text. Syntax Exempel Denna DAX-funktionersätter en del av en textsträng, baserat på antalet tecken du anger, med en annan textsträng. Syntax Exempel Denna DAX-funktion ranger antalet tecken där en specifik textsträng först hittas. Syntax Exempel Denna DAX-funktion återgåren textsträng i alla versaler. Syntax Exempel 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. I fältlistan för Rapportvy , högerklicka på Försäljning tabell följt av Nytt mått . Byta ut Mäta genom att skriva ett nytt måttnamn Tidigare kvartalsförsäljning, i Formel Bar . 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. Funktionen BERÄKNA har minst två argument. Det första är det uttryck som ska utvärderas och det andra är ett Filtrera . Efter öppningen parentes ( för BERÄKNA funktion, typ BELOPP följt av ytterligare en parentes ( att skicka ett argument till BELOPP fungera. 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. 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. Du använder FÖREGÅENDE KVARTAL tidsintelligensfunktion för att filtrera BELOPP resultat från föregående kvartal. Efter den inledande parentesen ( för PREVIOUSQUARTER-funktionen, skriv Kalender [DateKey] . 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. Se till att både argumenten som skickas till PREVIOUSQUARTER och CALCULATE-funktionen stängs genom att skriva två stängda parenteser )) . Din formel ska nu se ut som följande 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.
MINX(
,)
=MINX(FILTRERA(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])
MAX
MAX()
=MAX([ResellerMargin])
MAX
MAX()
java 9 har exempel
=MAX(([Postnummer])
MAXX
MAXX(
,)
=MAXX(FILTRERA(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])
BELOPP
BELOPP()
=BELOPP(Försäljnings kontor])
GENOMSNITT
GENOMSNITT()
=GENOMSNITT(InternetSales [ExtendedSalesAmount])
sumx
sumx(
,)
=sumx(FILTRERA(InternetSales, InternetSales [SalesTerritoryID] =5),[Frakt])
AVERAGEX
AVERAGEX(
,)
=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])
2. Räkna funktioner
DISTINCTCOUNT
DISTINCTCOUNT()
=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])
RÄKNA
RÄKNA()
hur man använder db-webbläsare för sqlite
=RÄKNA([Leveransdatum])
COUNTA
COUNTA()
=COUNTA('Återförsäljare' [Telefon])
COUNTROWS
COUNTROWS(
)
=COUNTROWS('Order')
COUNTBLANK
COUNTBLANK()
=COUNTBLANK(Återförsäljare [BankName])
3. Datum-tid-funktioner
DATUM
DATUM(<år>,<månad>,<dag>)
=DATUM(2019,12, 17)
TIMME
TIMME()
=TIMME('Beställningar' [TransactionTime])
I DAG
I DAG()
NU
NU()
EOMONTH
EOMONTH(,)
=EOMONTH('3 mars 2008',1.5)
4. Matematiska funktioner
SEKTION
SEKTION()
=ABS ([DealerPrice] - [ListPrice])
EXP
EXP()
= EXP ([Power])
FAKTUM
FAKTUM()
= FAKTA ([Värden])
LN
LN()
= LN ([Värden])
LOGGA
LOGGA(,)
Alla följande ger samma resultat, 2.
= LOGG (100,10)
= LOGG (100)
= LOG10 (100)
PI
PI()
KRAFT
KRAFT(,<kraft>)
= POWER (5,2)
KVOT
KVOT(,)
= KVOTERING (5,2)
SKYLT
SKYLT()
= SIGN (([Försäljningspris] - [Kostnadspris]))
SQRT
SQRT()
= SQRT (25)
5. Logiska funktioner
OCH
OCH(,)
= 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
ELLER(,)
= IF (ELLER (10>9, -10> -ett),'Sann','Falsk'
Eftersom ett av villkoren, skickat som argument, till OR-funktionen är sant, returnerar formeln 'True'.
INTE
INTE()
= INTE ([BeräknadKolumn1])
För varje rad i Beräknad Kolumn1 returnerar INTE-funktionen den logiska motsatsen till det angivna värdet.
OM
OM(logisk_test> ,, värde_om_falsk)
= OM ([samtal]<200,'låg', IF ([samtal]<300,'medium','hög'))
FEL
FEL(värde, värde_om_fel)
= FEL (25/0,9999)
6. Informationsfunktioner
ISBLANK
ISBLANK(<värde>)
= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])
ISNUMBER
ISNUMBER(<värde>)
= OM (ISNUMBER (0),'Är nummer','Är inte nummer')
ISTEXT
ISTEXT(<värde>)
= OM (ISTEXT ('text'),'Är text','Är icke-text')
ISNONTEXT
installera php på Windows 7
ISNONTEXT(<värde>)
= OM (ISNONTEXT ('text'),'Är icke-text','Är text')
FEL
ISERROE(<värde>)
= 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
KONKATENERA(,)
= CONCATENATE ('Hej', 'Värld')
CONCATENATEX
CONCATENATEX(
,, [avgränsare])
= CONCATENATEX (anställda, [förnamn] & '' & [efternamn], ',')
FAST
FAST(,,)
= FAST ([PctCost],3,ett)
BYTA UT
BYTA UT(,,,)
= BYT ut ('Nya produkter' [Produktkod],ett,2,'OB')
SÖK
SÖK(, [, [] [,]])
= SÖK ('n','skrivare')
Formeln returnerar 4 eftersom 'n' är det fjärde tecknet i ordet 'skrivare'.
ÖVRE
ÖVRE()
= ÖVRE (['Nya produkter' [Produktkod])
Grundläggande om Power BI DAX: Skapa din första åtgärd
Tidigare kvartalsförsäljning = BERÄKNA (SUM (Försäljning [SalesAmount]), FÖREGÅENDE KVARTAL (Kalender [DateKey])