A Data Analysis Expressions (DAX) 35 függvényt kínál kifejezetten az adatok időbeli összegzésére és összehasonlítására. A DAX dátum- és időfüggvényeivel ellentétben az időintelligencia-függvények nem igazán rendelkeznek hasonlóval az Excelben. Ennek az az oka, hogy az időintelligencia-függvények a kimutatásokban és a Power View megjelenítésekben kiválasztott környezettől függően folyamatosan változó adatokkal dolgoznak.
Az időintelligencia-függvények használatához az adatmodellben szerepelnie kell egy dátumtáblázatnak. A dátumtáblázatnak tartalmaznia kell egy oszlopot, amelyben az adatok minden egyes napja egy-egy sort tartalmaznak. Ez az oszlop a Dátum oszlopnak számít (bár bármilyen nevet adhat neki). Sok időintelligencia-függvény igényli a dátumoszlopot a jelentés mezőjeként kiválasztott dátumok szerinti számításokhoz. Ha például van egy mértéke, amely kiszámítja a záró negyedév végi egyenleget a ZÁRÓ_EGYENLEG.KVT függvény segítségével, akkor ahhoz, hogy a Power Pivot megtudja, valójában mikor van a negyedév vége, a dátumtáblázat dátumoszlopára kell hivatkoznia a negyedév kezdetének és végének meghatározásához. A dátumtáblázatokkal kapcsolatos további tudnivalókért olvassa el A dátumtáblázatok ismertetése és létrehozása az Excel Power Pivot bővítményében című témakört.
Függvények
Egyetlen dátumot visszaadó függvények
Az ebbe a kategóriába tartozó függvények egyetlen dátumot adnak vissza. Az eredményt aztán felhasználhatja más függvények argumentumaként.
A kategória első két függvénye az Date_Column első vagy utolsó dátumát adja vissza az aktuális környezetben. Ez akkor lehet hasznos, ha egy adott típusú tranzakció első vagy utolsó dátumát szeretné megkeresni. Ezek a függvények egyetlen argumentumot vesznek igénybe: a dátumtáblázat dátumoszlopának nevét.
A kategória következő két függvénye megkeresi az első vagy az utolsó dátumot (illetve bármely más oszlopértéket), amikor egy kifejezés nem üres értéket tartalmaz. Ez leggyakrabban készletezési helyzetekben fordul elő, amikor a legutóbbi készletmennyiséget szeretné megkapni, de nem tudja, hogy mikor került készlet az utolsó készletre.
- FIRSTNONBLANK (Date_Column, kifejezés)
- LASTNONBLANK (Date_Column, kifejezés)
Hat további olyan függvény közül választhat, amely egyetlen dátumot ad vissza, azok a függvények, amelyek egy hónap, negyedév vagy év első vagy utolsó napját adják vissza a számítás aktuális környezetében.
- HÓNAP KEZDETE (Date_Column)
- NEGYEDÉV KEZDETE (Date_Column)
- ÉVKEZDET (Date_Column [,YE_Date])
- HÓNAP VÉGE (Date_Column)
- NEGYEDÉV VÉGE (Date_Column)
- ÉV VÉGE (Date_Column [,YE_Date])
Dátumtáblázatot visszaadó függvények
Tizenhat időintelligencia-függvény létezik, amely dátumtáblázatot ad vissza. Ezeket a függvényeket leggyakrabban a CALCULATE függvény SetFilter argumentumaként használják. A DAX összes időintelligencia-függvényéhez hasonlóan minden függvény argumentuma egy dátumoszlop.
A kategória első nyolc függvénye egy dátumoszloppal kezdődik egy aktuális környezetben. Ha például egy mértéket használ egy kimutatásban, akkor az oszlopcímkék vagy sorcímkék között szerepelhet egy hónap vagy év. A végső hatás az, hogy a dátumoszlop szűrve van, hogy az csak az aktuális környezetnek megfelelő dátumokat tartalmazza. Az aktuális környezetből kiindulva ez a nyolc függvény kiszámítja az előző (vagy a következő) napot, hónapot, negyedévet vagy évet, és visszaadja a dátumokat egy egyoszlopos táblázat formájában. Az "előző" függvények az aktuális környezet első dátumától visszafelé működnek, a "következő" függvények pedig előrelépnek az aktuális környezet utolsó dátumához képest.
- PREVIOUSDAY (Date_Column)
- PREVIOUSMONTH (Date_Column)
- ELŐZŐ NEGYEDÉV (Date_Column)
- PREVIOUSYEAR (Date_Column [,YE_Date])
- NEXTDAY (Date_Column)
- NEXTMONTH (Date_Column)
- KÖVETKEZŐ NEGYEDÉV (Date_Column)
- NEXTYEAR (Date_Column [,YE_Date])
A kategória következő négy függvénye hasonló, de nem egy korábbi (vagy következő) időszakot, hanem a "hónaptól a mai napig" (vagy a negyedévtől a mai napig, az év aktuális időszakáig, illetve az előző év ugyanazon időszakáig) belüli dátumhalmazt számolják ki. Ezek a függvények mind az aktuális környezet utolsó dátuma alapján hajtják végre a számításokat. Vegye figyelembe, hogy a SAMEPERIODLASTYEAR utasítás megköveteli, hogy az aktuális környezet összefüggő dátumkészletet tartalmazzon. Ha az aktuális környezet nem összefüggő dátumokból áll, akkor a SAMEPERIODLASTYEAR függvény hibát ad vissza.
- DÁTUM (Date_Column)
- DATESQTD (Date_Column)
- DATESYTD (Date_Column [,YE_Date])
- SAMEPERIODLASTYEAR (Date_Column)
A kategória utolsó négy függvénye egy kicsit összetettebb és egy kicsit erősebb is. Ezekkel a függvényekkel az aktuális környezetben lévő dátumokról egy új dátumkészletre lehet váltani.
- DATEADD (Date_Column, Number_of_Intervals, intervallum)
- DATESBETWEEN (Date_Column, Start_Date, End_Date)
- DATESINPERIOD (Date_Column; Start_Date; Number_of_Intervals; intervallum)
- PARALLELPERIOD (Date_Column, Number_of_Intervals, intervallum)
A DATESBETWEEN függvény a megadott kezdő és záró dátum közé eső dátumokat számítja ki. A fennmaradó három függvény bizonyos számú időintervallumot tol el az aktuális környezethez képest. Az időköz lehet nap, hónap, negyedév vagy év. Ezekkel a függvényekkel egyszerűen eltolhatja egy számítás időintervallumát az alábbiak bármelyikével:
- Vissza két évvel
- Vissza egy hónappal
- Ugrás előre háromnegyed
- Vissza 14 napra
- Előrelépés 28 nappal
Minden esetben csak azt kell megadnia, hogy a program mely intervallumokat és hány intervallumot tolja el. A pozitív intervallum előrelép az időben, míg a negatív intervallum visszalép az időben. Az intervallumot a DAY, MONTH, QUARTER vagy YEAR kulcsszóval adhatja meg. Ezek a kulcsszavak nem karakterláncok, ezért nem lehetnek idézőjelek között.
Függvények, amelyek adott időszak alatt értékelnek ki kifejezéseket
Az ebbe a függvénykategóriába tartozó függvények adott időintervallumban értékelnek ki egy kifejezést. Ugyanez a dolog véghezvihető a CALCULATE és más időintelligencia-függvények használatával is. Például:
= TOTALMTD (kifejezés, Date_Column [, SetFilter])
pontosan ugyanaz, mint:
= CALCULATE (Kifejezés, DATESMTD (Date_Column)[, Szűrőbeállítás])
Egyszerűbb azonban használni ezeket az időintelligencia-függvényeket, ha jól illeszkednek a megoldandó problémához:
- TOTALMTD (kifejezés, Date_Column [, SetFilter])
- TOTALQTD (kifejezés, Date_Column [, SetFilter])
- TOTALYTD (kifejezés, Date_Column [, Szűrőbeállítás] [,YE_Date]) *
Ebbe a kategóriába tartozik egy függvénycsoport is, amely a nyitó és záró egyenleg számítását végzi. Ezekben a függvényekben bizonyos fogalmakat meg kell értenie. Először is, amint azt magától értetődőnek gondolhatja, egy időszak nyitóegyenlege megegyezik az előző időszak záróegyenlegével. A záró egyenleg tartalmazza az időszak végéig tartó összes adatot, míg a nyitóegyenleg nem tartalmazza a tárgyidőszak adatait.
Ezek a függvények mindig egy adott időpontra vonatkozóan kiértékelt kifejezés értékét adják vissza. A fontos időpont mindig a naptári időszak lehetséges utolsó dátumértéke. A nyitóegyenleg az előző időszak utolsó napján, míg a záróegyenleg az aktuális időszak utolsó napján alapul. Az aktuális időszakot mindig az aktuális dátumkörnyezet utolsó dátuma határozza meg.
- OPENINGBALANCEMONTH (kifejezés, Date_Column [,Szűrőbeállítás])
- OPENINGBALANCEQUARTER Negyedév (kifejezés, Date_Column [,Szűrőbeállítás])
- OPENINGBALANCEYEAR (kifejezés, Date_Column [,Szűrőbeállítás] [,YE_Date])
- CLOSINGBALANCEMONTH (kifejezés, Date_Column [,SetFilter])
- CLOSINGBALANCEQUARTER (kifejezés, Date_Column [,SetFilter])
- CLOSINGBALANCEYEAR (kifejezés, Date_Column [,Szűrőbeállítás] [,YE_Date])
További erőforrások
Cikkek: Dátumtáblázatok ismertetése és létrehozása az Excelhez készült Power Pivotban
Hivatkozás: A DAX függvényeinek részletes ismertetése Office.com
Példák: Profit and loss Data Modeling and Analysis with Microsoft PowerPivot in Excel