Ebben az oktatóanyagban megismerkedhet a DAX Studio különféle kulcsszavaival és funkcióival, mindegyikhez egy konkrét lekérdezési példával.
Konkrétan megismerheti az ORDER BY és START AT kulcsszavakat, valamint a TOPNSKIP és ADDMISSINGITEMS funkciókat.
Tartalomjegyzék
DAX lekérdezési példa: ORDER BY kulcsszó
Az ORDER BY kulcsszó lehetővé teszi az adatkészletek rendezését.
Alap példa
Például az ORDER BY kulcsszó használatával egy oszlopot ábécé szerint rendezhet.

Láthatja, hogy az első sor adatai „A”-val kezdődnek. A DAX Studio alapértelmezett rendezési sorrendje növekvő .
Ha azt szeretné, hogy adatai csökkenő sorrendben jelenjenek meg, írja be a DESC parancsot . Tehát ebben a példában az A helyett a Márka oszlop „W”-vel kezdődik.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Hasonlóképpen, ha vissza akarja kapcsolni növekvő sorrendbe, írja be az ASC parancsot . Egyszerre több oszlopot is rendezhet. Ezt úgy teheti meg, hogy beírja a kívánt oszlopokat, mindegyiket vesszővel elválasztva.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Valós példa
Most nézzünk meg egy egyszerű valós alkalmazást a ORDER BY kulcsszó használatával. Ez ugyanaz a példa, mint a .
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Látható, hogy ez a táblázat 3 oszlopot ad vissza. Az első a terméktípus, amely a Boring és Trendy elemekből áll. A második oszlop az összes értékesítést mutatja terméktípus szerint. A harmadik az értékesítés százalékát adja vissza.
Ebben a példában új oszlopot kell létrehoznia, amely a terméktípust rendezi. Tehát az utasítás után írja be a létrehozni kívánt oszlop nevét, majd a nevét.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ennek az oszlopnak a képlete megegyezik az IF szintaxiséval, de a „Trendy” és „Boring” helyett ebben az oszlopban „1” jelenik meg a Trendi és „2” az Unalmas.
Ha ezt az oszlopot szeretné látni a táblázatban, írja be az EVALUATE szintaxis alá.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ekkor látni fogja, hogy az 1-es és 2-es számokból álló táblázathoz egy új oszlop, a Product Type Sort kerül hozzáadásra.
Az oszlop rendezéséhez írja be az ORDER BY kulcsszót a szintaxis után . Ezután az oszlop neve után írja be az ASC vagy a DESC parancsot, attól függően, hogy milyen rendezési sorrendet szeretne az oszlopnak.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
DAX lekérdezési példa: START AT
A következő dolog, amit megtanulsz, az a START AT kulcsszó.
A START AT egy elavult kulcsszó. Használata nem javasolt a legtöbb DAX-lekérdezéshez. Előfordulhat azonban, hogy még mindig talál néhány DAX-kódot, amely ezt használja. Ezért továbbra is fontos tudni, hogy mi ez, és milyen esetekben használható.
Alap példa
Először írja be az EVALUATE kulcsszót. Ez a példa a Termékek táblát használja. A START AT írása előtt először használja az ORDER BY parancsot , majd adja meg a felvenni kívánt oszlopokat.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ezután írhatja a START AT. Ez a szintaxis a ORDER BY alatti oszlopokhoz hasonló sorrendet követi. Ebben a példában a Termékkulcs oszlop „2”-vel, a Márka oszlop pedig „Contoso”-val kezdődik.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ha megnyomja az F5 billentyűt, az Eredmények táblázatban láthatja, hogy a megadott oszlopok követik a lekérdezés irányát.
Most pedig nézzük meg, mi történik, ha újabb oszlopot adunk hozzá. Ebben az esetben a Szín oszlopnak „ezüst”-nel kell kezdődnie.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
A lekérdezés futtatásakor láthatja, hogy a Szín oszlop első bejegyzése „fehér”. Nem garantált, hogy az eredmény mindig megfelel az összes feltételnek a START AT használatakor.
Ebben a példában a Termékek táblázatban nincs olyan példány, amely 2, Contoso és Silver elemeket tartalmazna ugyanabban a sorban. Ehelyett a DAX motor megpróbálja a legjobban illeszkedni az Ön által létrehozott lekérdezéshez.
Komplex példa
Nézzünk egy másik példát:
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Az EVALUATE után írja be az ORDER BY kulcsszót, majd a három megadott oszlopot. Utána írd ki, hogy START AT. Ebben az esetben a Szín oszlopnak „Pirossal”, a Nem oszlopnak „M”-rel, a Store Key oszlopnak pedig „2-vel” kell kezdődnie.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
A lekérdezés futtatása után láthatja, hogy a DAX motor mindent megtett, hogy megfeleljen a megadott paramétereknek.
Az eredményekben látható, hogy két oszlop helyes, míg a Store Key oszlop 199-től kezdődik 2 helyett. Ennek az az oka, hogy a 2-es Store Key nem létezik a példa adatmodelljében.
Lassú DAX motor
Kattintson a Kiszolgálóidőzítés gombra a Kezdőlap lapon.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Egy új lap jelenik meg alul. Kattintson a Gyorsítótár törlése, majd a Futtatás gombra a Futtatás legördülő nyílban.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Látható, hogy a DAX Studio-nak 142 ms kell a lekérdezés végrehajtásához. Ha eltávolítja a START AT szintaxist, és újra futtatja a kódot, láthatja, hogy ennek végrehajtása mindössze 11 ms-t vesz igénybe.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
A lekérdezés tovább tart, ha van START AT szintaxis, mert a DAX-motor CallBackDataID nevű viselkedését hívja meg .
START AT rendkívül lelassítja a kódot. Ha nem kötelező használni, jobb elkerülni.
Jelentős hatással van az Ön által írt DAX-kód általános teljesítményére. Ezért célszerű más hasonló funkciókat használni.
DAX lekérdezési példa: TOPNSKIP függvény
A következő dolog, amit ebből az oktatóanyagból megtudhat, az a TOPNSKIP funkció. Ez a funkció hasonló a, de van egy finom különbsége egy további paraméterrel együtt. Ennek jobb megértéséhez nézzünk egy példát.
TOPN vs TOPNSKIP
Először írja be az EVALUATE kulcsszót. Ezután írja be a TOPN argumentumot alább, hogy megtekinthesse a Termékek táblázat 100 legjobb sorát.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ez a táblázat a Termékkulcs oszlophoz képest is növekvő sorrendben lett rendezve.
Most cserélje ki a TOPN-t a TOPNSKIP-re. A második argumentumban adja meg a kihagyni kívánt sorok számát. Ebben a példában 10 van megadva.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Amikor ezt futtatja, látni fogja, hogy a Termékkulcs oszlop most 11-nél kezdődik és 110-nél végződik. Vegye figyelembe, hogy a TOPNSKIP függvényt nem használhatja számított táblázatban vagy táblázatos adatmodellben.
Egy másik példa
Ebben a következő példában nézzük meg az Ügyféltáblázat legjobb 5000 sorát. Ez a táblázat a Nem oszlophoz képest növekvő sorrendben van rendezve.
Ha a TOPN függvényt használja, láthatja, hogy a táblázat 9518 sort ad vissza. Ez azt jelenti, hogy még ha azt is megadta, hogy csak a felső 5000 sor jelenjen meg, bizonyos adatok szűretlenek maradtak.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ha azonban a TOPNSKIP függvényt használja, láthatja, hogy a táblázat csak az első 5000 sort adja vissza a Nem oszlopban.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Tehát még ha az Ügyfél neme oszlopában több szabály is van egy adott nemhez, a TOPNSKIP függvény csak az első 5000 sort adja vissza. Ez az eredmény nem garantált a TOPN funkció használatakor.
DAX lekérdezési példa: ADDMISSINGITEMS függvény
Végül nézzük meg a DAX Studio ADDMISSINGITEMS funkcióját.
A SUMMARIZECOLUMNS használatakor alapértelmezés szerint megpróbálja eltávolítani az üres sorokat az eredményből. Például írhatunk egy lekérdezést, amely összefoglalja a termékek színét, a termék márkáját és a vásárló nemét.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ha megnyomja az F5 billentyűt, láthatja, hogy a táblázat három oszlopot ad vissza. A Nem oszlop 3 típusú nemből áll: Férfi, Nő és Üres. Blank képviseli a Társaságot. Azt is láthatja, hogy 333 sort ad vissza.
Ha azonban létrehoz egy Összes értékesítés oszlopot, a SUMMARIZECOLUMNS szűrő eltávolítja azokat a sorokat, amelyek az összes értékesítés üres értékeit tartalmazzák. A 333 sor helyett a táblázat már csak 323 sort tartalmaz.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Két lehetőség van a sorok visszaállítására. Az első lehetőség egy nulla hozzáadása az összes értékesítés után. Az eredményekben látható, hogy 10 sor nulla értéket ad vissza az összes értékesítéshez.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ez a lehetőség azonban nem mindig hozza a legjobb eredményt. Ehelyett van egy speciális funkció, amellyel megoldhatja ezt a problémát: az ADDMISSINGITEMS függvény .
A funkció használatához helyezze ezt az ÉRTÉKELÉS után. Az első argumentumban írja be az oszlopokat. Ezeket az oszlopokat is be kell illesztenie a SUMMARIZECOLUMNS groupBy paraméterébe.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
A lekérdezés futtatásakor látni fogja, hogy a táblázat 333 sort ad vissza.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ha rendezi az Összes értékesítés oszlopokat, és eltávolítja a nullát, a táblázat üres értékeket ad vissza az Összes értékesítés oszlopban.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Tehát ahelyett, hogy nullát jelentene, a táblázat üres értéket ad vissza a SUMMARIZECOLUMNS függvény által eltávolított sorokhoz.
Az ADDMISSINGITEMS és a FILTER használata
Az ADDMISSINGITEMS funkciót együtt is használhatja. Például szűrjük ki azokat a sorokat, amelyek tartalmazzák a „Farkú játékok” kifejezést. A lekérdezésben az szerepel, hogy a Márka oszlop nem tartalmazhat ( <> ) Tailspin Toys-t.
![DAX lekérdezési példa különféle kulcsszavak és függvények használatával DAX lekérdezési példa különféle kulcsszavak és függvények használatával]()
Ha megnyomja az F5 billentyűt, láthatja, hogy a táblázat már csak 331 sort ad vissza. Így azt a két sort, amelyek a „Tailspin Toys” márkát tartalmazták, eltávolították.
Következtetés
Az ebben az oktatóanyagban tárgyalt két kulcsszó és két funkció olyan alapvető ismeretek, amelyekre szükség van a DAX Studio lekérdezések létrehozásához. Ezek hasznosak lesznek, ha összetettebb valós alkalmazásokkal dolgozunk.
A DAX Studio egy hatékony eszköz a DAX lekérdezések végrehajtására és elemzésére. Fontos, hogy elsajátítsa ennek a szoftvernek a kódolási alapjait, hogy a jövőben könnyebben kezelje a speciális lekérdezéseket.
LuckyTemplates szakértők