Hivatkozás Power Query-lekérdezésekre

Ez a cikk a Power BI Desktopban dolgozó adatmodellezőkre irányul. Útmutatást nyújt a más lekérdezésekre hivatkozó Power Query-lekérdezések meghatározásához.

Tisztázzuk, hogy ez mit jelent: Amikor egy lekérdezés egy második lekérdezésre hivatkozik, az olyan, mintha a második lekérdezés lépéseit kombinálja és futtatja az első lekérdezés lépéseivel.

Fontolja meg több lekérdezést: A Query1 egy webszolgáltatásból származó adatokat hoz létre, és a terhelése le van tiltva. A Query2, a Query3 és a Query4 minden lekérdezésre hivatkozik, és a kimenetük betöltődik az adatmodellbe.

Diagram showing the Query Dependencies view, displaying queries described in the previous paragraph.

Az adatmodell frissítésekor gyakran feltételezzük, hogy a Power Query lekéri a Lekérdezés1 eredményt, és a hivatkozott lekérdezések újra felhasználják. Ez a gondolkodás helytelen. A Power Query valójában külön hajtja végre a Query2, a Query3 és a Query4 lekérdezést.

Úgy gondolhatja, hogy a Query2-ben a Lekérdezés1 lépések vannak beágyazva. A Query3 és a Query4 esetében is ez a helyzet. Az alábbi ábra a lekérdezések végrehajtásának egyértelműbb képét mutatja be.

Diagram showing a modified version of the Query Dependencies view, displaying Query 2, Query 3, and Query 4.

A lekérdezés1 háromszor lesz végrehajtva. A több végrehajtás lassú adatfrissítést eredményezhet, és negatív hatással lehet az adatforrásra.

A Table.Buffer függvény használata a Query1-bennem szünteti meg a további adatlekérést. Ez a függvény pufferel egy táblát a memóriába, és a pufferelt tábla csak ugyanazon a lekérdezés végrehajtásán belül használható. A példában tehát, ha a Lekérdezés1 pufferelve van a Query2 végrehajtásakor, a pufferelt adatok nem használhatók a Lekérdezés3 és a Query4 végrehajtásakor. Ők maguk is kétszer pufferelik az adatokat. (Ez az eredmény valójában súlyosbíthatja a negatív teljesítményt, mivel a táblát minden hivatkozási lekérdezés puffereli.)

Feljegyzés

A Power Query gyorsítótárazási architektúrája összetett, és nem ez a cikk témája. A Power Query gyorsítótárazhatja az adatforrásból lekért adatokat. Amikor azonban végrehajt egy lekérdezést, előfordulhat, hogy többször is lekéri az adatokat az adatforrásból.

Ajánlások

Általában azt javasoljuk, hogy hivatkozzon a lekérdezésekre, hogy elkerülje a logika duplikálását a lekérdezésekben. A jelen cikkben leírtak szerint azonban ez a tervezési megközelítés hozzájárulhat az adatfrissítések lassúságához és az adatforrások túlterheléséhez.

Javasoljuk, hogy inkább hozzon létre egy adatfolyamot. Az adatfolyamok használata javíthatja az adatfrissítési időt, és csökkentheti az adatforrásokra gyakorolt hatást.

Az adatfolyamot úgy tervezheti meg, hogy beágyazza a forrásadatokat és az átalakításokat. Mivel az adatfolyam a Power BI szolgáltatás tárolt adattárolója, az adatok lekérése gyors. Így még akkor is, ha a lekérdezésekre való hivatkozás több kérést eredményez az adatfolyamra vonatkozóan, az adatfrissítési idő javítható.

A példában, ha a Lekérdezés1 adatfolyam-entitásként van újratervezve, a Query2, a Query3 és a Query4 adatforrásként használhatja. Ezzel a kialakítással a Lekérdezés1 által forrásként használt entitás csak egyszer lesz kiértékelve.

A cikkhez kapcsolódó további információkért tekintse meg a következő forrásokat: