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.
Forgatókönyv
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.
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.
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.
Kapcsolódó tartalom
A cikkhez kapcsolódó további információkért tekintse meg a következő forrásokat:
- Önkiszolgáló adatelőkészítés a Power BI-ban
- Adatfolyamok létrehozása és használata a Power BI-ban
- Kérdése van? Próbálja meg érdeklődni a Fabric közösségtől
- Javaslatok? Ötletek hozzájárulása a Fabric fejlesztéséhez