Ez a szakasz olyan példákra mutató hivatkozásokat tartalmaz, amelyek bemutatják a DAX-képletek használatát az alábbi forgatókönyvekben.
-
Összetett számítások végrehajtása
-
Szöveg és dátumok használata
-
Feltételes értékek és hibák tesztelése
-
Időintelligencia használata
-
Értékek rangsorolása és összehasonlítása
A témakör tartalma
Első lépések
Látogasson el a DAX Resource Center wikire , ahol sokféle információt találhat a DAX-ról, beleértve a blogokat, mintákat, tanulmányokat és videókat, amelyeket iparágvezető szakemberek és a Microsoft biztosított.
Forgatókönyvek: Összetett számítások végrehajtása
A DAX-képletek összetett számításokat hajthatnak végre, amelyek egyéni összesítéseket, szűrést és feltételes értékek használatát foglalják magukban. Ez a szakasz példákat tartalmaz az egyéni számítások első lépéseire.
Egyéni számítások létrehozása kimutatáshoz
A CALCULATE és a CALCULATETABLE hatékony, rugalmas függvény, amely hasznos a számított mezők meghatározásához. Ezekkel a függvényekkel módosíthatja a számítás végrehajtásának környezetét. Az összesítés típusát vagy a végrehajtandó matematikai műveletet is testre szabhatja. Példákért tekintse meg az alábbi témaköröket.
Szűrő alkalmazása képletre
A legtöbb helyen, ahol egy DAX-függvény argumentumként vesz fel egy táblát, általában átadhat egy szűrt táblát a tábla neve helyett a FILTER függvénnyel, vagy megadhat egy szűrőkifejezést a függvényargumentumok egyikeként. Az alábbi témakörök példákat nyújtanak arra, hogyan hozhat létre szűrőket, és hogyan befolyásolják a szűrők a képletek eredményeit. További információ: Adatok szűrése DAX-képletekben.
A FILTER függvény lehetővé teszi a szűrési feltételek kifejezéssel történő megadását, míg a többi függvény kifejezetten az üres értékek kiszűrésére szolgál.
Szűrők szelektív eltávolítása dinamikus arány létrehozásához
Ha dinamikus szűrőket hoz létre a képletekben, egyszerűen megválaszolhatja az alábbihoz hasonló kérdéseket:
-
Milyen mértékben járult hozzá az aktuális termék értékesítése az év teljes értékesítéséhez?
-
Mennyiben járult hozzá ez a részleg az összes működési év teljes nyereségéhez a többi részleghez képest?
A kimutatásokban használt képleteket érintheti a kimutatás környezete, de szűrők hozzáadásával vagy eltávolításával szelektíven módosíthatja a környezetet. Az ALL témakörben található példa bemutatja, hogyan teheti ezt meg. Ha meg szeretné keresni egy adott viszonteladó értékesítéseinek arányát az összes viszonteladó értékesítéseihez képest, hozzon létre egy mértéket, amely kiszámítja az aktuális környezet értékét az ALL környezet értékével osztva.
Az ALLEXCEPT témakör egy példát mutat be arra, hogyan lehet szelektíven törölni a szűrőket egy képleten. Mindkét példa végigvezeti azon, hogyan változnak az eredmények a kimutatás tervétől függően.
Az arányok és százalékok kiszámítására további példákat az alábbi témakörökben talál:
Külső hurokból származó érték használata
Amellett, hogy az aktuális környezet értékeit használja a számításokban, a DAX az előző ciklusból származó értékeket is használhatja a kapcsolódó számítások készletének létrehozásához. Az alábbi témakör bemutatja, hogyan hozhat létre olyan képletet, amely egy külső hurokból származó értékre hivatkozik. Az EARLIER függvény legfeljebb két beágyazott ciklusszintet támogat.
A sorkörnyezetről és a kapcsolódó táblákról, valamint a fogalom képletekben való használatáról a Környezet a DAX-képletekben című témakörben olvashat bővebben.
Forgatókönyvek: Szöveg és dátumok használata
Ez a szakasz olyan DAX-referenciatémakörökre mutató hivatkozásokat tartalmaz, amelyek példákat tartalmaznak olyan gyakori forgatókönyvekre, mint a szöveg használata, a dátum- és időértékek kinyerése és összeállítása, illetve az értékek feltételen alapuló létrehozása.
Kulcsoszlop létrehozása összefűzéssel
Power Pivot nem engedélyezi az összetett kulcsokat; Ezért ha összetett kulcsokkal rendelkezik az adatforrásban, előfordulhat, hogy egyetlen kulcsoszlopban kell egyesítenie őket. Az alábbi témakör egy példát mutat be arra, hogyan hozhat létre számított oszlopot összetett kulcs alapján.
Dátum összeállítása szöveges dátumból kinyert dátumrészek alapján
Power Pivot az SQL Server dátum/idő adattípusát használja a dátumok kezeléséhez; ezért ha a külső adatok eltérő formátumú dátumokat tartalmaznak – például ha a dátumok olyan regionális dátumformátumban vannak megírva, amelyet az Power Pivot adatmotor nem ismer fel, vagy ha az adatok egész szám helyettesítő kulcsokat használnak –, előfordulhat, hogy a dátumrészek kinyeréséhez DAX-képletet kell használnia, majd a részeket érvényes dátum-/időábrázolásra kell összeállítania.
Ha például egy dátumoszlop egész számként van ábrázolva, majd szöveges sztringként van importálva, a sztringet dátum/idő értékké alakíthatja az alábbi képlet használatával:
=DÁTUM(JOBB([Érték1];4);BAL([Érték1];2);KÖZÉP([Érték1];2))
Érték1: |
Eredmény |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Az alábbi témakörök további információkat nyújtanak a dátumok kinyeréséhez és összeállításához használt függvényekről.
Egyéni dátum- vagy számformátum definiálása
Ha az adatok olyan dátumokat vagy számokat tartalmaznak, amelyek nem a szabványos Windows-szövegformátumok egyikében vannak megadva, egyéni formátumot is megadhat, hogy az értékek megfelelően legyenek kezelve. Ezek a formátumok az értékek sztringekké vagy sztringekké alakításakor használatosak. Az alábbi témakörök részletesen ismertetik az előre definiált formátumokat, amelyek felhasználhatók a dátumok és számok használatával kapcsolatban.
Adattípusok módosítása képlet használatával
A Power Pivot a kimenet adattípusát a forrásoszlopok határozzák meg, és nem adhatja meg explicit módon az eredmény adattípusát, mert az optimális adattípust a Power Pivot határozza meg. A kimeneti adattípus módosításához azonban használhatja a Power Pivot által végrehajtott implicit adattípus-átalakításokat.
-
Ha egy dátumot vagy egy számsztringet számmá szeretne alakítani, szorozza meg 1,0-zal. Az alábbi képlet például kiszámítja az aktuális dátumot mínusz 3 nappal, majd a megfelelő egész számot adja ki.
=(MA()-3)*1,0
-
Ha egy dátum-, szám- vagy pénznemértéket sztringgé szeretne alakítani, fűzheti össze az értéket egy üres sztringgel. Az alábbi képlet például sztringként adja vissza a mai dátumot.
=""& TODAY()
Az alábbi függvények egy adott adattípus visszaadására is használhatók:
Valós számok átalakítása egész számokká
-
Valós számok, egész számok vagy dátumok konvertálása sztringekké
-
Sztringek átalakítása valós számokká vagy dátumokká
Forgatókönyv: Feltételes értékek és hibák tesztelése
Az Excelhez hasonlóan a DAX olyan függvényekkel rendelkezik, amelyek lehetővé teszik az adatok értékeinek tesztelését, és egy feltétel alapján egy másik értéket ad vissza. Létrehozhat például egy számított oszlopot, amely a viszonteladókat előnyben részesítettként vagy értékként címkézi az éves értékesítési mennyiségtől függően. Az értékeket ellenőrző függvények az értékek tartományának vagy típusának ellenőrzéséhez is hasznosak, így megelőzhetők a váratlan adathibák a számítás megszakadásához.
Érték létrehozása feltétel alapján
Beágyazott IF feltételekkel tesztelheti az értékeket, és feltételesen hozhat létre új értékeket. A következő témakörök néhány egyszerű példát tartalmaznak a feltételes feldolgozásra és a feltételes értékekre:
Képleten belüli hibák tesztelése
Az Exceltől eltérően nem rendelkezhet érvényes értékekkel egy számított oszlop egyik sorában, és érvénytelen értékek egy másik sorban. Ez azt jelenti, hogy ha egy Power Pivot oszlop bármelyik részében hiba van, a teljes oszlopot hiba jelzi, így mindig ki kell javítania az érvénytelen értékeket eredményező képlethibákat.
Ha például nullával osztva hoz létre egy képletet, akkor a végtelen eredmény vagy egy hiba jelenhet meg. Egyes képletek akkor is sikertelenek lesznek, ha a függvény üres értékkel találkozik, amikor numerikus értéket vár. Az adatmodell fejlesztése során célszerű engedélyezni a hibák megjelenését, hogy rákattinthasson az üzenetre, és elháríthassa a problémát. A munkafüzetek közzétételekor azonban hibakezelést kell használnia, hogy a váratlan értékek ne okozzák a számítások meghiúsulását.
A számított oszlopok hibáinak elkerülése érdekében logikai és információs függvények kombinációjával tesztelheti a hibákat, és mindig érvényes értékeket ad vissza. Az alábbi témakörökben néhány egyszerű példát találhat arra, hogyan teheti ezt meg a DAX-ban:
Forgatókönyvek: Időintelligencia használata
A DAX időintelligencia-függvényei olyan függvényeket tartalmaznak, amelyek segítenek a dátumok vagy dátumtartományok lekérésében az adatokból. Ezután ezeket a dátumokat vagy dátumtartományokat használhatja hasonló időszakok értékeinek kiszámításához. Az időintelligencia-függvények olyan függvényeket is tartalmaznak, amelyek szabványos dátumintervallumokkal működnek, így hónapok, évek vagy negyedévek értékeit hasonlíthatja össze. Létrehozhat olyan képletet is, amely egy adott időszak első és utolsó dátumának értékeit hasonlítja össze.
Az összes időintelligencia-függvény listáját az Időintelligencia-függvények (DAX) című témakörben találja. A dátumok és időpontok Power Pivot elemzésekben való hatékony használatával kapcsolatos tippekért lásd: Dátumok a Power Pivotban.
Göngyölt értékesítések kiszámítása
Az alábbi témakörök példákat tartalmaznak a záró és nyitó egyenlegek kiszámítására. A példák segítségével különböző időközönként, például napok, hónapok, negyedévek vagy évek között hozhat létre futó egyenlegeket.
Értékek összehasonlítása az idő függvényében
Az alábbi témakörök példákat tartalmaznak arra, hogyan hasonlíthatók össze az összegek különböző időszakokban. A DAX által támogatott alapértelmezett időszakok a hónapok, negyedévek és évek.
Érték kiszámítása egyéni dátumtartományon keresztül
Az alábbi témakörökben példákat találhat az egyéni dátumtartományok lekérésére, például az értékesítési promóció kezdetét követő 15 napra.
Ha időintelligencia-függvényeket használ egy egyéni dátumkészlet lekéréséhez, akkor ezt a dátumkészletet használhatja számítások elvégzésére szolgáló függvény bemeneteként, hogy egyéni összesítéseket hozzon létre az egyes időszakokban. Ennek módjára az alábbi témakörben talál példát:
-
Megjegyzés: Ha nem kell egyéni dátumtartományt megadnia, de szabványos könyvelési egységekkel ( például hónapokkal, negyedévekkel vagy évekkel) dolgozik, javasoljuk, hogy az erre a célra tervezett időintelligencia-függvényekkel (például TOTALQTD, TOTALMTD, TOTALQTD stb.) végezzen számításokat.
Forgatókönyvek: Értékek rangsorolása és összehasonlítása
Ha egy oszlopban vagy kimutatásban csak az első n számú elemet szeretné megjeleníteni, több lehetőség közül választhat:
-
Az Excel funkcióival felső szűrőt hozhat létre. A kimutatásokban több felső vagy alsó értéket is kijelölhet. A szakasz első része azt ismerteti, hogyan szűrhet a kimutatások 10 legfontosabb elemére. További információt az Excel dokumentációjában talál.
-
Létrehozhat egy olyan képletet, amely dinamikusan rangsorolja az értékeket, majd a rangsorolási értékek alapján szűr, vagy szeletelőként használja a rangsorolási értéket. A szakasz második része bemutatja, hogyan hozhatja létre ezt a képletet, majd hogyan használhatja ezt a rangsorolást egy szeletelőben.
Minden módszernek vannak előnyei és hátrányai.
-
Az Excel felső szűrője könnyen használható, de a szűrő kizárólag megjelenítési célokra szolgál. Ha a kimutatás alapjául szolgáló adatok megváltoznak, manuálisan kell frissítenie a kimutatást a módosítások megtekintéséhez. Ha dinamikusan kell dolgoznia a rangsorolással, a DAX használatával létrehozhat egy olyan képletet, amely összehasonlítja az értékeket az oszlopon belüli más értékekkel.
-
A DAX-képlet hatékonyabb; Továbbá a rangsorolási érték szeletelőhöz való hozzáadásával egyszerűen a szeletelőre kattintva módosíthatja a megjelenített felső értékek számát. A számítások azonban számításigényesek, és előfordulhat, hogy ez a módszer nem megfelelő a sok sort tartalmazó táblákhoz.
Csak az első tíz elem megjelenítése egy kimutatásban
Kimutatás felső vagy alsó értékeinek megjelenítése
|
Elemek dinamikus rendezése képlet használatával
Az alábbi témakör egy példát tartalmaz arra, hogyan hozhat létre egy számított oszlopban tárolt rangsort a DAX használatával. Mivel a DAX-képletek kiszámítása dinamikusan történik, mindig meggyőződhet arról, hogy a rangsorolás helyes, még akkor is, ha az alapul szolgáló adatok megváltoztak. Mivel a képletet egy számított oszlopban használják, használhatja a rangsort egy szeletelőben, majd kiválaszthatja az első 5, az első 10 vagy akár az első 100 értéket.