Ebből az oktatóanyagból megtudhatja, hogyan aA függvény a DAX-ban a Kiszolgálóidőzítések ablaktáblával és lekérdezési tervével működik.
A CROSSJOIN függvénnyel két tábla derékszögű szorzatát lehet létrehozni. A derékszögű szorzat két vagy több táblázat összes lehetséges sorkombinációjának halmaza.
Az alábbiakat használjuk ebben az oktatóanyagban.

Látható, hogy a CROSSJOIN funkció a termék Márka és szín kombinációját eredményezi, még akkor is, ha ezek közül néhány kombináció nem létezik a . Ez egy összesen 176 soros táblázatot eredményez.
A Kiszolgálóidőzítések lapon az első lekérdezés lekéri a márkát a Termékek táblából, míg a második lekérdezés a színt.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Az első sor az eredményt adja vissza táblázat formájában. A terméktáblázat második és harmadik sora a színt, illetve a márkát szkenneli.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Az adatok beérkezése után a Formula Engine iterálja a táblázatot, és létrehozza a két oszlop kombinációját. A 2. sorban lévő CrossApply a CROSSJOIN függvénynek felel meg.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Tartalomjegyzék
CROSSJOIN eredmények szűrése a DAX-ban
Használhatja afüggvény a CROSSJOIN eredményeinek szűrésére. Használhatja például csak a piros színű termékek megjelenítésére.
Ne feledje azonban, hogy a CROSSJOIN függvény nem helyezhető el egy FILTER argumentumban .
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ha most futtatja ezt a kódot, és bejelöli a Kiszolgálóidőzítések lapot, látni fogja, hogy a szűrőkörnyezet nem jelenik meg WHERE záradékként a lekérdezésben.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
A CROSSJOIN függvény csak a . A kód nem működik, mivel a FILTER közé kerül, és melyek azok a függvények, amelyeket csak a . Így a CROSSJOIN hatására a két függvény közötti hurok megszakadt.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ezért a szűrő működéséhez el kell helyeznie a FILTER függvényt a CROSSJOIN argumentumban.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ha most futtatja ezt a kódot, és bejelöli a Kiszolgálóidőzítések lapot, látni fogja, hogy a FILTER funkciót a WHERE záradék képviseli.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
A Logikai lekérdezési tervben láthatja, hogy a Filter Operator helyett a VertiPaq szűrőt használják.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ennek az az oka, hogy a kódban szereplő új szűrőfeltétel lenyomható a Storage Engine-hez. Az eredmény visszaadása után a CROSSJOIN argumentum végrehajtásra kerül a Formula Engine-ben.
Az IN operátor
Használhatja aoperátort az egyenlőségjel helyett a FILTER argumentumban.
Az IN operátor a SZŰRŐ függvény kifejezés argumentumán belül használható a táblázat szűrésére az alapján, hogy egy érték egy értéklistán vagy egy táblán belül van-e.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ha a FILTER – IN kombinációt használja , a DAX motornak IsEmpty szűrőt kell végrehajtania, amely megerősíti, hogy a termék színe piros vagy fekete.
Teljes értékesítés oszlop hozzáadása a CROSSJOIN DAX eredményhez
Más funkciók is használhatók a CROSSJOIN-nel együtt.
A függvény segítségével hozzáadhat egy másik oszlopot a táblázathoz, majd beírhatja a megjeleníteni kívánt információ argumentumát.
Ebben a példában adjunk hozzá egy Teljes értékesítés oszlopot.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
A kód futtatásakor az eredmények továbbra is 176 sort adnak vissza. Egyes kombinációknál azonban üres értékek lesznek az Összes értékesítés oszlopban. Ennek az az oka, hogy ezeknek a kombinációknak nincs megfelelő soruk az Értékesítési táblázatban.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
A Kiszolgálóidőzítések lapon a kód először kiválasztja a márkát és a színt. Ezután összegzi a Mennyiség és az értékesítési nettó ár szorzatát.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ebben az esetben a DAX-motor először lekéri a Termékek táblában található összes márka- és színkombinációt, valamint azokat, amelyeknek megfelelő sora van az Értékesítési táblázatban. Ezután külön-külön lekéri a márka és a szín oszlopait.
A Fizikai lekérdezési tervben két adatgyorsítótár látható; egy a márkához, egy másik a színhez. Ha megszorozza az összes rekordot, 176 sort kap.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Ezután megtörténik a keresés ezen a 176 sorban, hogy megnézze, van-e megfelelő értékük az Értékesítési táblázatban. Látható, hogy csak 111 sornak van értéke. A többi 65 sor üreseket ad vissza.
Ezenkívül, ha további oszlopokat ad hozzá a CROSSJOIN argumentumhoz, az eredmény több sort is visszaad.
![CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv CROSSJOIN DAX funkció: Szerver időzítése és lekérdezési terv]()
Következtetés
A DAX CROSSJOIN függvény új táblát hoz létre az egyik tábla sorainak egy másik tábla sorainak kombinálásával. Ez a függvény hasonló az SQL CROSS JOIN záradékához, és összetettebb lekérdezések létrehozására használható az adatmodellben.
Két vagy több táblából képes létrehozni egy listát az összes lehetséges értékkombinációról. Segítségével gyorsan létrehozható egy új, sok sorból álló táblázat, ami hasznos lehet adatelemzésnél, tesztelésnél vagy teljesítmény-benchmarkingnál.
Összességében a CROSSJOIN függvény egy praktikus eszköz olyan esetekben, amikor több tábla adatait kell kombinálni, vagy listát kell készíteni az összes lehetséges kombinációról.
Minden jót,