Ez a blog lényegében a felhasználók számára készült és célja, hogy gyorsan és egyszerűen végigvezesse az úgynevezett képletnyelvet Adatelemzési kifejezések (DAX) .Ha ismeri a MS Excel vagy , ebben sok a képlet Power BI DAX alapismeretek cikk hasonlóan jelenik meg, mint te.
Ennek ellenére itt vannak azok a fogalmak, amelyek szerves részét képezik mindennek , miután megtanulta, jól kell értenie a DAX legalapvetőbb fogalmait.
- A Power BI DAX alapjai: Mi a DAX?
- A Power BI DAX alapjai: Hogyan működik?
- Power BI DAX alapjai: Számított oszlopok és mérések
- Power BI DAX alapismeretek: A DAX funkcióinak típusai
- Power BI DAX alapismeretek: Az első mérték létrehozása
A Power BI DAX alapjai: Mi a DAX?
Tehát kezdjük a Power BI DAX alapjaival, rendben?
Nagyon könnyű jelentéseket készíteni a Power BI Desktop használatával, amelyek értékes betekintést mutatnak közvetlenül a denevérről.
De mi van akkor, ha elemeznie kell a növekedési százalékot az összes termékkategóriában, a különböző dátumtartományokban? Vagy kiszámolnia kell cége éves növekedését a piaci óriásokhoz képest?
A DAX elsajátítása segít abban, hogy a legtöbbet hozza ki és megoldja a valós üzleti problémákat.
A DAX olyan függvényekből, operátorokból és konstansokból áll, amelyeket képletek formájában lehet kiszámítani az értékek kiszámításához a modellben már meglévő adatok segítségével.
A Power BI DAX több mint 200 függvényből, operátorból és konstrukcióból álló könyvtárat tartalmaz. Könyvtára óriási rugalmasságot biztosít az eredmények kiszámításához szükséges intézkedések létrehozásában, szinte bármilyen adatelemzési igény esetén.
A Power BI DAX alapjai: Hogyan működik?
Először is hadd magyarázzam el neked, hogyan működik ez.Nagyrészt három alapvető fogalom köré fogjuk alakítani a Power BI DAX megértését: Szintaxis , Kontextus , és Funkciók .
Természetesen vannak más fontos fogalmak is itt, de ennek a háromnak a megértése biztosítja a legjobb alapot, amelyre építeni fogja képességeit.
Szintaxis
Az Szintaxis különböző összetevőket tartalmaz, amelyek egy képletet alkotnak, és annak leírása. Lnézze meg ezt az egyszerű DAX-képletet.
Amikor megpróbálja megérteni a DAX képletet, gyakran hasznos, ha az egyes elemeket egy olyan nyelvre bontja, amelyet Ön gondol és beszél mindennap. Tehát ez a képlet a következő szintaxis elemeket tartalmazza:
ÉN. Összes értékesítés a mérték neve.
II. Az egyenlő előjel operátor (=) a képlet elejét jelzi.
III. ÖSSZEG összeadja az oszlop összes számát, Értékesítés [SalesAmount] .
IV. Vannak ezek zárójelben () amelyek egy vagy több argumentumot tartalmazó kifejezést vesznek körül. Minden funkcióhoz legalább egy argumentum szükséges.
V. Értékesítés a hivatkozott táblázat.
MI. An érv értéket ad át egy függvénynek. A hivatkozott oszlop [Értékesítés] egy olyan argumentum, amellyel a SUM függvény ismeri azt az oszlopot, amelyre összesítenie kell egy SUM-ot.
Egyszerűen fogalmazva elolvashatja, ' Az Összes eladás nevű mérőszámhoz számítsa ki (=) az Értékek összegét az Értékesítés [SalesAmount] oszlopában. ”
& pikkA Power BI DAX szerkesztő tartalmaz egy javaslatok funkciót, amely segít a szintaktikailag helyes képletek létrehozásában a megfelelő elemek javaslatával.
Kontextus
Kontextus a 3 DAX koncepció közül az egyik legfontosabb. Ha valaki összefüggésről beszél, ez a két típus egyikére vonatkozhat Sor kontextus és Szűrés kontextus .
Főleg a beszéd közben használják Intézkedések , az Sor-kontextus legkönnyebben az aktuális sornak gondolják. Akkor alkalmazható, amikor egy képletnek van olyan funkciója, amely szűrőket alkalmaz a táblázat egyetlen sorának azonosítására.
Szűrő-kontextus egy kicsit nehezebb megérteni, mint a sor-kontextust. A Filter-Context legkönnyebben úgy gondolkodhat, mint egy vagy több szűrő, amelyet egy számítás során alkalmaznak. AzA Filter-Context nem létezik a Row-context helyett. Inkább az előbbin kívül érvényes. Nézze meg a következő DAX-képletet.
Ez a képlet a következő szintaxis elemeket tartalmazza:
ÉN. Az intézkedés neve Bolti értékesítés .
II. Az egyenlő előjel operátor (=) a képlet elejét jelzi.
III. Az KISZÁMÍTJA A function egy kifejezést argumentumként értékel.
IV. Zárójel () vegyen körül egy vagy több argumentumot tartalmazó kifejezést.
V. Mérték [Összes értékesítés] ugyanabban a táblázatban, mint kifejezés.
MI. NAK NEK vessző (,) elválasztja az első kifejezés argumentumot a szűrő argumentumtól.
JÖSSZ. A teljesen minősített hivatkozott oszlop, Csatorna [CsatornaNév] a mi Sor-kontextusunk. Ebben az oszlopban minden sor megad egy csatornát, Store, Online stb.
VIII. Az adott érték, Bolt szűrőként használják. Ez a Filter-Context.
Ez a képlet biztosítja hogy Az összes értékesítés mértéke csak a Csatorna [CsatornaNév] oszlopban szereplő, „Store” értékű sorokhoz kerül kiszámításra szűrőként.
Funkciók
Funkciók előre definiált, strukturált és rendezett képletek. A segítségével számításokat végeznek érvek továbbadta nekik. Ezek az argumentumok lehetnek számok, szövegek, logikai értékek vagy más függvények.
A Power BI DAX alapjai: Számított oszlopok és mértékek
Ebben a blogban a számításokban használt Power BI DAX képletekre fogunk összpontosítani Intézkedések és Számított oszlopok .
Számított oszlopok
Ha létrehoz egy adatmodellt a Power BI Desktopon, kibővítheti a táblázatot új oszlopok létrehozásával. Az oszlopok tartalmát egy DAX kifejezés határozza meg, amelyet soronként vagy a táblázatban lévő aktuális sor összefüggésében értékelünk.
A DAX adatmodelljeiben azonban az összes kiszámított oszlop helyet foglal a memóriában, és a táblázat feldolgozása során kiszámítja őket.
Ez a viselkedés hasznos lehet a jobb felhasználói élmény elérésében, de értékes RAM-ot használ, ezért rossz szokás a termelésben, mert minden közbenső számítás a RAM-ban van tárolva, és értékes helyet pazarol el.
Intézkedések
Van egy másik módszer a számítások definiálására egy DAX modellben, amely hasznos, ha összesített értékekkel kell működni, nem pedig soronként. Ezek a számítások mértékek. A DAX egyik követelménye, hogy egy intézkedést meg kell határozni egy táblázatban. Az intézkedés azonban nem igazán tartozik az asztalhoz. Tehát áthelyezhet egy mértéket az egyik táblázatból a másikba anélkül, hogy elveszítené annak funkcionalitását.
Számított oszlopok vs mértékek
A mérések és a számított oszlopok egyaránt DAX kifejezéseket használnak. A különbség az értékelés összefüggése. Az intézkedést a jelentésben vagy a DAX lekérdezésben kiértékelt cella összefüggésében értékelik, míg a kiszámított oszlop azon a sorszinten kerül kiszámításra, amelyhez tartozik.
Még ha hasonlónak is tűnnek, nagy különbség van a számított oszlopok és a mértékek között. A kiszámított oszlop értéke kiszámításra kerül egy adatfrissítés során, és az aktuális sort használja kontextusként, amely nem függ a felhasználói interakciótól a jelentésben.
Ezért meg kell határoznia egy kiszámított oszlopot, amikor a következőket kívánja tenni
- Helyezze a kiszámított eredményeket egy szeletelőbe, vagy nézze meg az eredményeket az elforduló táblázat soraiban vagy oszlopaiban (szemben az értékterülettel), vagy egy diagram tengelyében, vagy használja az eredményt szűrőfeltételként egy DAX-lekérdezésben.
- Definiáljon egy kifejezést, amely szigorúan az aktuális sorhoz van kötve. Például az Ár * Mennyiség nem működhet átlagon vagy a két oszlop összegén.
- Szöveg vagy számok kategorizálása. Például egy mérés értéktartománya.
Az intézkedés az aktuális kontextus által meghatározott adatok összesítésén alapul, amelyek a jelentésben alkalmazott szűrőtől függenek - például szeletelő, sorok és oszlopok kiválasztása egy forgatótáblán, vagy tengelyek és szűrők, amelyeket diagramhoz alkalmaznak.
Tehát meg kell határoznia egy mértéket, amikor az eredményül kapott számítási értékeket szeretné megjeleníteni, amelyek tükrözik a felhasználói választásokat, például
- Amikor kiszámítja a profit százalékát egy bizonyos adatkiválasztás alapján.
- Ha kiszámítja egy termék arányát az összes termékhez képest, de megtartja a szűrőt év és régió szerint.
A Power BI DAX alapjai: Funkciók típusai a DAX-ban
1. Összesített függvények
MIN
Ez a DAX funkció ra minimális numerikus értéket adja meg egy oszlopban vagy két skaláris kifejezés között.
Szintaxis
MIN()
Példa
=MIN([Viszonteladó]
MINA
Ez a DAX funkció raz oszlop minimális értékét adja meg, beleértve a szövegként ábrázolt logikai értékeket és számokat is.
Szintaxis
MINA()
Példa
=MINA(([Irányítószám])
KIKAPÓS NŐ
Ez a DAX függvény visszatéra legkisebb numerikus érték, amely a táblázat egyes sorainak kifejezésének értékeléséből adódik.
Szintaxis
Példa Ez a DAX funkció raz oszlop maximális értékét adja meg, beleértve a szövegként ábrázolt logikai értékeket és számokat is. Szintaxis Példa Ez a DAX funkció raz oszlop maximális értékét adja meg, beleértve a szövegként ábrázolt logikai értékeket és számokat is. Szintaxis Példa Ez a DAX függvény visszatéraz a maximális numerikus érték, amely a táblázat egyes sorainak kifejezésértékeléséből származik. Szintaxis Példa Ez a DAX funkció adds egy oszlop összes számát. Szintaxis Példa Ez a DAX funkció rmegadja az oszlopban szereplő értékek számtani átlagát. Szintaxis Példa Ez a DAX funkció ra táblázat minden egyes sorához értékelt kifejezés összegét adja meg. Szintaxis Példa Ez a DAX funkció ckiszámolja a táblázat felett kiértékelt kifejezések halmazának számtani átlagát. Szintaxis Példa Ez egy DAX függvény, amelyet az oszlopban lévő elemek külön számának visszaadására használnak. Tehát, ha ugyanannak az elemnek több száma van, akkor ez a függvény egyetlen tételnek számít. Szintaxis Példa Ez egy DAX függvény, amelyet egy oszlopban lévő elemek számának visszaadására használnak. Tehát, ha ugyanannak az elemnek több száma van, akkor ez a függvény külön tételként, és nem egy tételként számolja. Szintaxis Példák Ez egy DAX függvény, amelyet egy üres oszlopban lévő elemek számának visszaadására használnak. Szintaxis Példa Ez egy DAX függvény, amelymegszámolja a sorok számát a megadott táblában vagy egy kifejezés által meghatározott táblában. Szintaxis Példa Ez egy DAX függvény, amelymegszámolja az oszlop üres celláinak számát. Szintaxis Példa Ez a DAX funkció ra megadott dátumot Date-Time formátumban adja vissza. Szintaxis Példa Ez a DAX funkció ra megadott órát 0-tól 23-ig (délelőtt 12: 00-11: 00) számként fordítja. Szintaxis Példa Ez a DAX funkció raz aktuális dátumot adja meg. Szintaxis Ez a DAX funkció raz aktuális dátumot és időt dátum-idő formátumban adja meg. Szintaxis Ez a DAX funkció ra dátumot a hónap utolsó napjának dátum-idő formátumában adja meg, meghatározott számú hónap előtt vagy után. Szintaxis Példa Ez a DAX funkció ra megadott szám abszolút értékét adja meg. Szintaxis Példa Ez a DAX funkció ra megadott szám hatványára emeli az e értékét. Szintaxis Példa Ez a DAX funkció rmegadja a szám faktoriálját. Szintaxis Példa Ez a DAX funkció returnálja az adott szám természetes naplóját. Szintaxis Példa Ez a DAX funkció returnálja a naplót a megadott szám alapjával. Szintaxis Példa Ez a DAX funkció ra Pi értékét adja meg. Szintaxis Ez a DAX funkció raz első argumentum értékét a második argumentum erejéig fordítja. Szintaxis Példa Ez a DAX funkció elvégzi az r osztástmegadja a hányados egész részét. Szintaxis Példa Ez a DAX függvény egy adott szám előjelét adja vissza. Szintaxis Példa Ez a DAX funkció raz adott szám négyzetgyökét adja meg. Szintaxis Példa Ez a DAX függvény két kifejezést hajt végre logikai ÉS (együtt). Ahhoz, hogy az AND igaz legyen, mindkét megadott feltételnek teljesülnie kell. Szintaxis Példa Ez a DAX függvény két kifejezést hajt végre logikai VAGY (diszjunkció). Ahhoz, hogy az OR igaz legyen, a megadott két feltétel bármelyikének teljesülnie kell. Szintaxis Példa Ez a DAX függvény logikai NOT-t (negációt) hajt végre az adott kifejezésen. Szintaxis Példa Ez a DAX függvény egy sor bemenetet tesztel, amely megfelel az argumentumban megadott feltételnek. Szintaxis Példa Ez a DAX funkció eértékel egy kifejezést, és egy megadott értéket ad vissza, ha a kifejezés hibát ad vissza. Szintaxis Példa Ez a DAX funkcióután IGAZ vagy HAMIS visszatércellenőrizni, hogy egy érték üres-e. Szintaxis Példa Ez a DAX funkcióután IGAZ vagy HAMIS visszatércannak ellenőrzése, hogy egy érték numerikus-e. Szintaxis Példa Ez a DAX funkcióután IGAZ vagy HAMIS visszatércannak ellenőrzése, hogy egy érték szöveg-e. Szintaxis Példa Ez a DAX funkcióután IGAZ vagy HAMIS visszatércannak ellenőrzése, hogy egy érték nem szöveges-e. Szintaxis Példa Ez a DAX funkcióután IGAZ vagy HAMIS visszatércannak ellenőrzése, hogy egy érték hiba-e. Szintaxis Példa Ez a DAX funkció jkét szövegrészt eggyé varázsol. Szintaxis Példa Ez a DAX funkcióa táblázat minden egyes sorára kiértékelt kifejezés eredménye. Szintaxis Példa Ez a DAX funkció rhangot ad meg a megadott tizedesjegyig, és az eredményt szövegként adja vissza. Szintaxis Példa Ez a DAX funkcióa megadott karakterek száma alapján egy szöveges karakterlánc egy részét egy másik szöveges karakterlánccal cseréli le. Szintaxis Példa Ez a DAX funkció rAzon karakterek számát adja meg, amelyeknél egy adott szöveges karakterlánc először megtalálható. Szintaxis Példa Ez a DAX függvény visszatérszöveges karakterlánc nagybetűvel. Szintaxis Példa Előfeltétel: Meg kell nyitnia ez az adott Power BI Desktop fájl . Mivel feltételezem, hogy ez lesz az első, nagyon részletesen megírom ezt a kicsit, hogy kövesse. A. Mező mezőjében Jelentés nézet , kattintson a jobb gombbal a Értékesítés táblázat, majd a Új intézkedés . Cserélje ki Intézkedés új mértéknév beírásával Előző negyedéves értékesítés, ban,-ben Formula Bar . Ebben a képletben a KISZÁMÍTJA funkció. Tehát az egyenlőségjel után írja be az első néhány betűt CAL , majd kattintson duplán a használni kívánt funkcióra. A CALCULATE függvénynek legalább két argumentuma van. Az első az értékelendő kifejezés, a második a Szűrő . A nyitás után zárójel ( a KISZÁMÍTJA függvény, típus ÖSSZEG amelyet egy újabb nyitó zárójel követ ( hogy érvet adjanak át a ÖSSZEG funkció. Kezdje el gépelni Só , majd válassza a lehetőséget Értékesítés [SalesAmount] , amelyet záró zárójel követ ) . Ez az első kifejezési érv a mi véleményünkre KISZÁMÍTJA funkció. A típus vessző (,) amelyet egy szóköz követ az első szűrő megadásához, majd írja be Korábbi negyed . Ez lesz a szűrőnk. Használni fogja a Korábbi negyed időintelligencia funkció a szűréshez ÖSSZEG eredményeket az előző negyedévre. A nyitó zárójel után ( a PREVIOUSQUARTER funkcióhoz írja be Naptár [DateKey] . Az Korábbi negyed A függvénynek egyetlen argumentuma van, egy oszlop, amely összefüggő dátumtartományt tartalmaz. Esetünkben ez az DateKey oszlopot a Naptár táblázatban. Két zárt zárójel beírásával ellenőrizze, hogy a PREVIOUSQUARTER-nek továbbított argumentumok és a CALCULATE funkció egyaránt zárva van-e. )) . A képletének most a következőknek kell kinéznie Kattintson a pipára a képletsávban, vagy nyomja meg az Enter billentyűt a képlet érvényesítéséhez. Miután ezt hozzáadta a modelljéhez, voila! Most készítettél egy mértéket a DAX használatával, és ebben nem könnyű. Ez a képlet az kiszámolja az előző negyedév teljes eladását, a jelentésben alkalmazott szűrőktől függően. Tehát, ha tennünk kell SalesAmount és az új Előző negyedéves értékesítés mérje meg egy diagramban, majd adjon hozzá Év és Negyedév mint Szeletelők, kapnánk valamit a következők szerint Most, hogy alaposan megismerte a Power BI DAX fogalmait, elkezdheti saját maga létrehozni a DAX-képleteket a mérésekhez. Valóban, kissé trükkös lehet megtanulni, deA DAX több éve létezik éssok forrás áll rendelkezésre az interneten. A blog átolvasása és egy kis kísérletezés után megtanulhatja, hogyan találhat üzleti megoldásokat a Power BI DAX segítségével.
KIKAPÓS NŐ(
,)
=KIKAPÓS NŐ(SZŰRŐ(InternetSales, InternetSales [SalesTerritoryKey] =5.), InternetSales [Freight] + InternetSales [TaxAmt])
MAX
MAX()
=MAX([Viszonteladó]
MAX
MAX()
a java 9 jellemzői példákkal
=MAX(([Irányítószám])
MAXX
MAXX(
,)
=MAXX(SZŰRŐ(InternetSales, InternetSales [SalesTerritoryKey] =5.), InternetSales [Freight] + InternetSales [TaxAmt])
ÖSSZEG
ÖSSZEG()
=ÖSSZEG(Értékesítési iroda])
ÁTLAGOS
ÁTLAGOS()
=ÁTLAGOS(Internetértékesítés [ExtendedSalesAmount])
sumx
sumx(
,)
=sumx(SZŰRŐ(InternetSales, InternetSales [SalesTerritoryID] =5.), [Áruszállítás])
AVERAGEX
AVERAGEX(
,)
=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])
2. Count függvények
DISTINCTCOUNT
DISTINCTCOUNT()
=DISTINCTCOUNT(Viszonteladói értékesítés_USD [SalesOrderNumber])
SZÁMOL
SZÁMOL()
=SZÁMOL([Szállítás dátuma])
COUNTA
COUNTA()
=COUNTA(„Viszonteladó” [telefon])
SZÁMAZÁS
SZÁMAZÁS(
)
=SZÁMAZÁS(„Rendelések”)
COUNTBLANK
COUNTBLANK()
=COUNTBLANK(Reseller[BankName])
3. Dátum-idő függvények
DÁTUM
DÁTUM(<év>,<hónap>,<nap>)
=DÁTUM(2019,12., 17)
ÓRA
ÓRA()
=ÓRA(„Rendelések” [TransactionTime])
MA
MA()
MOST
MOST()
HÓNAP
HÓNAP(,)
=HÓNAP(„2008. március 3.”,1.5)
4. Matematikai függvények
SZAKASZ
SZAKASZ()
=ABS ([DealerPrice] - [ListPrice])
EXP
EXP()
= EXP ([Teljesítmény])
TÉNY
TÉNY()
= TÉNY [[Értékek])
LN
LN()
= LN ([értékek])
LOG
LOG(,)
A következők mindegyike ugyanazt az eredményt adja, 2.
= LOG (100,10.)
= LOG (100)
= LOG10 (100)
PI
PI()
ERŐ
ERŐ(,<erő>)
= HATALOM (5.,2)
HÁNYADOS
HÁNYADOS(,)
= QUOTIENT (5.,2)
JEL
JEL()
= JEL (([Eladási ár] - [Költségár]))
SQRT
SQRT()
= SQRT (25)
5. Logikai funkciók
ÉS
ÉS(,)
= HA (ÉS (10.>9., -10. <-egy),'Minden igaz',„Egy vagy több hamis”
Mivel mindkét feltétel, amelyet argumentumként adunk át az AND függvénynek, igaz, a képlet visszaadja az „Összes igaz” értéket.
VAGY
VAGY(,)
= IF (VAGY (10.>9., -10.> -egy),'Igaz','Hamis'
Mivel az OR függvény argumentumként átadott egyik feltétele igaz, a képlet 'True' értéket ad vissza.
NEM
NEM()
= NEM ([CalculatedCol11])
A Kiszámított oszlop1 minden egyes sorához a NOT függvény az adott érték logikai ellentétét adja vissza.
HA
HA(logikai_teszt> ,, érték_ha_hamis)
= IF ([hívások]<200,'alacsony', IF ([hívások]<300,'közepes','magas'))
IFROROR
IFROROR(érték, érték_if_hiba)
= IFERROR (25/0,9999)
6. Információs funkciók
ISBLANK
ISBLANK(<érték>)
= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Összes értékesítés] - 'CalculatedMeasures' [PreviousYearTotalSales]] / 'CalculatedMeasures' [PreviousYearTotalSales])
SZÁM
SZÁM(<érték>)
= HA (SZÁM (0),'Is number','Nem szám')
ISTEXT
ISTEXT(<érték>)
= IF (ISTEXT ('szöveg'),'Van szöveg','Nem szöveges')
ISNONTEXT
ISNONTEXT(<érték>)
= HA (ISNONTEXT ('szöveg'),'Nem szöveges','Van szöveg')
ISERROR
ISERROE(<érték>)
= HA (ISERROR (SUM ('Viszonteladói értékesítés_USD' [Értékesítési összeg_USD]) / SUM ('Internetértékesítés_USD' [Értékesítési összeg_USD])], ÜRES (), SUM ('Viszonteladói értékesítés_USD' [Értékesítési összeg_USD]) / SUM ('Internetértékesítés_USD'] értékesítés]
7. Szöveges funkciók
ÖSSZEKAPCSOL
ÖSSZEKAPCSOL(,)
= CONCATENATE ('Hello', 'World')
hogyan lehet számot hatalommá emelni a java-ban
CONCATENATEX
CONCATENATEX(
,, [határoló])
= CONCATENATEX (Alkalmazottak, [keresztnév] & ““ & [vezetéknév], “,”)
RÖGZÍTETT
RÖGZÍTETT(,,)
= FIXED ([PctCost],3,egy)
KICSERÉLÉS
KICSERÉLÉS(,,,)
= KICSERÉLÉS („Új termékek” [Termékkód],egy,2,„OB”)
KERESÉS
KERESÉS(, [, [] [,]])
= KERESÉS ('n','nyomtató')
A képlet 4-et ad vissza, mert az 'n' a negyedik karakter a 'nyomtató' szóban.
FELSŐ
FELSŐ()
= FELSŐ (['Új termékek' [Termékkód])
Power BI DAX alapismeretek: Az első mérték létrehozása
Előző negyedéves értékesítés = KISZÁMOL (SUM (Értékesítés [Értékesítés]), ELŐZŐ NEGYEDÉV (Naptár [DátumKulcs]))