A Data Analysis Expressions (DAX) 35 függvényt biztosít, kifejezetten az adatok időbeli összesíté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-vizualizációkban kiválasztott környezettől függően folyamatosan változó adatokkal működnek.
Az időintelligencia-függvények használatához rendelkeznie kell egy dátumtáblázattal az adatmodellben. A dátumtáblának tartalmaznia kell egy oszlopot, amely minden év minden napjára tartalmaz egy sort az adatokban. Ez az oszlop a Date (Dátum) oszlopnak számít (bár bármilyen nevet adhat neki). Számos időintelligencia-függvényhez szükség van a dátumoszlopra a jelentés mezőiként kiválasztott dátumok alapján történő számításhoz. Ha például olyan mértékkel rendelkezik, amely a CLOSINGBALANCEQTR függvénnyel kiszámít egy záró negyedév végi egyenleget, annak érdekében, hogy a Power Pivot tudja, mikor van valójában a negyedév vége, a dátumtábla dátumoszlopára kell hivatkoznia, hogy tudja, mikor kezdődik és mikor ér véget a negyedév. Ha többet szeretne megtudni a dátumtáblákról, olvassa el a Dátumtáblák értelmezése és létrehozása az Excelben a Power Pivotban című témakört.
Függvények
Egyetlen dátumot vissza nem térő függvények
Az ebben a kategóriában lévő függvények egyetlen dátumot adnak vissza. Az eredmény ezután más függvények argumentumaként is használható.
A kategória első két függvénye az aktuális környezetben a Date_Column első vagy utolsó dátumát adja vissza. Ez akkor lehet hasznos, ha meg szeretné keresni azt az első vagy utolsó dátumot, amelyen egy adott típusú tranzakciót hajtott végre. Ezek a függvények csak egy argumentumot vesznek fel, a dátumtábla dátumoszlopának nevét.
A kategória következő két függvénye megkeresi az első vagy utolsó dátumot (vagy bármely más oszlopértéket is), ahol egy kifejezés nem üres értékkel rendelkezik. Ezt leggyakrabban olyan helyzetekben használják, mint a leltár, ahol az utolsó készletmennyiséget szeretné megkapni, és nem tudja, mikor készült el az utolsó leltár.
-
FIRSTNONBLANK (Date_Column, Kifejezés)
-
LASTNONBLANK (Date_Column, Kifejezés)
Hat további függvény, amely egyetlen dátumot ad vissza, az a függvény, amely egy hónap, negyedév vagy év első vagy utolsó dátumát adja vissza a számítás aktuális kontextusában.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Dátumtáblázatot visszaküldött függvények
Tizenhat időintelligencia-függvény létezik, amelyek dátumtáblázatot adnak vissza. Ezeket a függvényeket leggyakrabban a CALCULATE függvény SetFilter argumentumaként használják. A DAX minden időintelligencia-függvényéhez hasonlóan minden függvény egy dátumoszlopot vesz fel argumentumként.
A kategória első nyolc függvénye egy aktuális környezetben lévő dátumoszloppal kezdődik. Ha például mértéket használ egy kimutatásban, egy hónap vagy év lehet az oszlopfeliratokon vagy a sorfeliratokon. A nettó hatás az a dátumoszlop, amely úgy van szűrve, hogy csak az aktuális környezethez tartozó dátumokat tartalmazza. Az aktuális környezettől kezdve ez a nyolc függvény ezután kiszámítja az előző (vagy következő) napot, hónapot, negyedévet vagy évet, és egyetlen oszloptábla formájában adja vissza ezeket a dátumokat. Az "előző" függvények az aktuális környezetben az első dátumtól visszamenőleg működnek, a "következő" függvények pedig az aktuális környezet utolsó dátumától kezdve haladnak előre.
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
KÖVETKEZŐ NAP (Date_Column)
-
KÖVETKEZŐ HÓNAP (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Ebben a kategóriában a következő négy függvény hasonló, de egy korábbi (vagy következő) időszak kiszámítása helyett az időszak "hónapról napra" (vagy negyedévről napra, évről napra vagy az előző év azonos időszakában) megadott dátumkészletét számítják ki. Ezek a függvények az aktuális környezetben az utolsó dátum alapján végzik el a számításokat. Vegye figyelembe, hogy a SAMEPERIODLASTYEAR megköveteli, hogy az aktuális környezet összefüggő dátumkészletet tartalmazzon. Ha az aktuális környezet nem egybefüggő dátumkészlet, akkor a SAMEPERIODLASTYEAR hibát ad vissza.
-
DATESMTD (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 hatékonyabb is. Ezek a függvények az aktuális környezetben lévő dátumkészletről egy új dátumkészletre való váltásra szolgálnak.
-
DATEADD (Date_Column, Number_of_Intervals, interval)
-
DATESBETWEEN (Date_Column, Start_Date, End_Date)
-
DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, interval)
-
PARALLELPERIOD (Date_Column, Number_of_Intervals, interval)
DATESBETWEEN a megadott kezdő és záró dátum közötti dátumkészletet számítja ki. A fennmaradó három függvény bizonyos számú időintervallumot vált el az aktuális környezettől. Az intervallum lehet nap, hónap, negyedév vagy év. Ezek a függvények megkönnyítik a számítások időintervallumának eltolását az alábbiak bármelyikével:
-
Vissza két év
-
Vissza egy hónap
-
Ugrás három negyedévre
-
Vissza 14 nap
-
Tovább 28 nap
Minden esetben csak azt kell megadnia, hogy melyik intervallumot és hány intervallumot kell eltolni. A pozitív intervallumok előrehaladnak az időben, míg a negatív intervallumok visszaállnak az időben. Az intervallumot maga a NAP, HÓNAP, NEGYEDÉV vagy ÉV kulcsszó határozza meg. Ezek a kulcsszavak nem sztringek, ezért nem lehetnek idézőjelek között.
Kifejezéseket egy adott időszakban kiértékelő függvények
Ez a függvénykategória egy adott időszakban értékel ki egy kifejezést. Ugyanezt elvégezheti 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)[, SetFilter])
Egyszerűbb azonban ezeket az időintelligencia-függvényeket használni, 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 [, SetFilter] [,YE_Date]) *
Ebben a kategóriában a nyitó és záró egyenlegeket kiszámító függvények csoportja is található. Bizonyos fogalmakat érdemes megismernie ezekkel a függvényekkel. Először is, amint azt nyilvánvalónak gondolhatja, bármely időszak nyitó egyenlege megegyezik az előző időszak záróegyenlegével. A záró egyenleg az időszak végéig minden adatot tartalmaz, míg a nyitó egyenleg nem tartalmaz az aktuális időszakon belülről származó adatokat.
Ezek a függvények mindig egy adott időpontra kiértékelt kifejezés értékét adják vissza. A fontos időpont mindig a naptári időszak utolsó lehetséges dátumértéke. A nyitó egyenleg az előző időszak utolsó dátumán, a záróegyenleg pedig az aktuális időszak utolsó dátumá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 [,SetFilter])
-
OPENINGBALANCEQUARTER Negyedév (Kifejezés, Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (Kifejezés, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (Kifejezés, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Kifejezés, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (Kifejezés, Date_Column [,SetFilter] [,YE_Date])
További erőforrások
Cikkek: Dátumtáblák megismerése és létrehozása az Excel Power Pivotban
Referencia: DAX-függvények referenciájaa Office.com
Minták: Profit and Loss Data Modeling and Analysis with Microsoft PowerPivot in Excel