Cross join Power Query-ben
Adott a következő probléma:
Van pl. egy termékeket tartalmazó Power Query táblánk :
Van egy színeket tartalmazó Power Query táblánk:
És ebből kell előállítanunk egy olyan táblát ami a két oszlop szorzatát tartalmazza:
A gyári Power Query-s megoldás rém egyszerű, (itt le is van írva a módszer), csak sajnos szánalmas a teljesítménye. Egy 6000 elemet tartalmazó oszlopot kellett összeszoroznom egy 12 elemet tartalmazó oszloppal és nem futott le a query. Illetve lehet, hogy valamikor lefutott volna, de nem győztem kivárni, és lelőttem.
Cross joint-t ugyanis elő tudunk állítani úgy is, hogy a két táblát egy-egy olyan mesterséges kulcsoszlopon keresztül kötünk össze, ami mondjuk csupa 1-est tartalmaz:
Azaz esetünkben
- hozzáadunk a termék táblához egy oszlopot (Custom Column) ami csupa egyest tartalmaz
- hozzáadunk a szín táblához is egy oszlopot (Custom Column) ami szintén csupa egyest tartalmaz
- És a két táblát inner joinnal összekötjük (Merge Queries/Lekérdezések egyesítése)
Az eredmény ugyanaz, mintha a gyári megoldást használnánk, csak ez a cross join lefut 1 másodperc alatt a gyári meg sose… (Az inspirációt ez a cikk adta)
Kővári Attila - BI projekt
POWER BI WORKSHOP
Tudjon meg többet az itt elhangzottakról! Jöjjön el a 2023. október 18.-i Power BI workshopra vagy rendeljen kihelyezett képzést! Részletek >>
Önkiszolgáló BI WORKSHOP
Tudjon meg többet az itt elhangzottakról! Jelentkezzen a 2023. október 16-17.-i Excel Power Pivot videókurzusra! Részletek >>
Új hozzászólás