Megosztás a következőn keresztül:


Lekérdezés összecsukható mutatói

Feljegyzés

A cikk elolvasása előtt javasoljuk, hogy olvassa el a Lekérdezések kiértékelésének és összecsukásának áttekintését a Power Queryben , hogy jobban megértse, hogyan működik az összecsukás a Power Queryben.

A lekérdezés összecsukási mutatói segítenek megérteni azokat a lépéseket, amelyek összecsukhatók vagy nem hajthatók.

A lekérdezés összecsukható jelzőinek használatakor nyilvánvalóvá válik, ha olyan módosítást hajtunk létre, amely megszakítja a hajtogatást. Ez a funkció segít a problémák gyorsabb megoldásában, a teljesítményproblémák elkerülésében és a lekérdezések jobb megismerésében. A legtöbb esetben a lépések összecsukhatók vagy nem hajthatók. Sok esetben azonban az eredmény nem olyan nyilvánvaló, és ezeket az eseteket a lépésdiagnosztikai mutatók (dinamikus, átlátszatlan és ismeretlen) tárgyalják.

Feljegyzés

A lekérdezés összecsukható jelzői funkció csak a Power Query Online-hoz érhető el.

Lekérdezés-összecsukható diagnosztikák értelmezése

Ha egy lépés mellett megvizsgálja a lekérdezés összecsukható mutatóját, a legfontosabb, hogy a diagnosztikai állapot ne szekvenciális legyen. Más szóval, a lépés mutatója azt írja le, hogy a lekérdezés egészként, addig a pontig összecsukható-e vagy sem. Ha van egy mutatója, amely azt mutatja, hogy a lekérdezés nem hajtja össze, és egy olyan mutató követi, amely azt mutatja, hogy nem hajtja össze a lekérdezést, az azt jelenti, hogy a lekérdezés az adott pontig nem hajtható le.

Ez az értelmezés egy SQL-forrásra irányuló egyszerű lekérdezéssel is működik. Az AdventureWorks mintaadatbázis használatával például csatlakozzon a Production.Product táblához, és töltse be az adatokat. A minta Power Query-kezelőn keresztül történő betöltése a következő lekérdezést adja meg:

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
  Navigation

Ha megvizsgálja, hogyan jelenik meg ez a kód a lekérdezés-összecsukási mutatókban, vegye figyelembe, hogy az első lépés nem meggyőző. De a második lépés nem hajtja össze, ami azt jelenti, hogy a lekérdezés addig a pontig nem hajtja.

Képernyőkép a Forrás és navigáció lépésekről a Hajtogatásjelző panelen.

Ebben a példában a kezdeti lépések nem állíthatók össze (nem meggyőző), de az adatok betöltésekor létrehozott utolsó lépés nem hajtja végre a műveletet. Az első lépések (forrás és néha más navigációs lépések) kezelése az összekötőtől függ. Az SQL esetében például katalógustábla-értékként kezeli a rendszer, amely nem hajtja ki. Amint azonban kiválasztja az összekötő adatait, az összecsukható lesz.

Ezzel szemben ez a jelzés azt is jelentheti, hogy a lekérdezés egy pontig összecsukható, majd leáll. Ellentétben abban az esetben, ha van egy összecsukható jelző a lépés, amely azt mutatja, hogy minden hajtás, ha van egy nem összecsukható mutató nem jelenti azt, hogy minden nem hajtja. Ehelyett azt jelenti, hogy "nem minden" hajt. Általában minden, egészen az utolsó összecsukható mutatóig, több művelet után történik.

Az előző példa módosításával olyan átalakítást adhat meg, amely soha nem hajtható le – nagybetűssé teheti az egyes szavakat.

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
  #"Capitalized each word"

A lekérdezés összecsukható mutatóiban ugyanazok a jelzők vannak, mint korábban, kivéve, hogy az utolsó lépés nem hajtja végre a műveletet. Az utolsó lépésig minden az adatforráson lesz végrehajtva, míg az utolsó lépés helyileg történik.

Képernyőkép a Forrás, a Navigáció és a Word egyes lépéseinek nagybetűssé készítéséről az Összecsukható jelző panelen.

Lépésdiagnosztikai mutatók

A lekérdezés összecsukható mutatói egy mögöttes lekérdezési tervet használnak, és megkövetelik, hogy a lekérdezéssel kapcsolatos információkhoz jusson a jelentéskészítéshez. A lekérdezési terv jelenleg csak a táblákat támogatja, így egyes esetek (listák, rekordok, primitívek) nem jelentik összecsukhatóként vagy nem. Hasonlóképpen, az állandó táblák átlátszatlanként jelentik.

Kijelző Ikon Leírás
Összecsukható Az összecsukható jelző azt jelzi, hogy az ebben a lépésben megadott lekérdezést az adatforrás kiértékeli.
Nem összecsukható A nem összecsukható jelző azt jelzi, hogy a lekérdezés ezen lépésig egy része az adatforráson kívül lesz kiértékelve. Összehasonlíthatja az utolsó összecsukható jelzővel, ha van ilyen, hogy lássa, átrendezheti-e a lekérdezést, hogy jobban teljesítsen.
Összecsukható Előfordulhat, hogy az összecsukható jelzők nem gyakoriak. Ez azt jelenti, hogy egy lekérdezés "esetleg" összecsukható. Azt jelzik, hogy az összecsukás vagy a nem hajtogatás futásidőben van meghatározva, amikor lekérte az eredményeket a lekérdezésből, és hogy a lekérdezési terv dinamikus. Ezek a jelzők valószínűleg csak ODBC- vagy OData-kapcsolatokkal jelennek meg.
Átlátszatlan Az átlátszatlan jelzők azt jelzik, hogy az eredményként kapott lekérdezési terv valamilyen okból nem meggyőző. Ez általában azt jelzi, hogy létezik egy valódi "állandó" tábla, vagy hogy az átalakítást vagy összekötőt a mutatók és a lekérdezésterv eszköz nem támogatja.
Ismeretlen Az ismeretlen jelzők a lekérdezési terv hiányát jelzik, akár hiba miatt, akár egy táblán (például rekordon, listán vagy primitíven) próbálják futtatni a lekérdezésterv kiértékelését.

Példaelemzés

Egy példaelemzéshez először kapcsolódjon a Production.Product táblához az Adventure Worksben (SQL). A kezdeti terhelés a kezdeti példához hasonlóan az alábbi képhez hasonlóan néz ki.

Képernyőkép a Termék tábla betöltésének kezdeti lépésjelzőiről.

További, összecsukható lépések hozzáadásával meghosszabbítható a zöld vonal a jobb oldalon. Ez a bővítmény azért fordul elő, mert ez a lépés is összecsukható.

Képernyőkép az eltávolítási oszlop lépésének az előző lekérdezéshez való hozzáadásáról, amely kiterjeszti a zöld összecsukható jelzővonalat.

Ha olyan lépést ad hozzá, amely nem hajtja össze, egy másik jelző jelenik meg. Például az egyes szavak nagybetűsítése soha nem dob. A mutató megváltozik, ami azt mutatja, hogy ebben a lépésben leállt az összecsukás. Ahogy korábban említettük, az előző lépések még mindig hajtanak.

Képernyőkép az egyes Word-lépések összecsukásának nagybetűssé osztásáról.

Ha további lépéseket ad hozzá az alsóbb réteghez, az egyes lépések nagybetűssé adásával továbbra sem lesznek hajtva.

Képernyőkép arról, hogy a további lépések hozzáadása után hogyan nem történik meg az összecsukás.

Ha azonban eltávolítja azt az oszlopot, amelyre a nagybetűsítést alkalmazta, hogy az optimalizált lekérdezési terv újra összecsukható legyen, az alábbi képhez hasonló eredményt kap. Azonban valami ilyesmi nem gyakori. Ez a kép azt szemlélteti, hogy nem csak a lépések sorrendje, hanem a tényleges átalakítások is érvényesek.

Képernyőkép arról, hogy a problémás oszlop eltávolítása lehetővé teszi, hogy a dolgok a lépés eltávolítása nélkül összecsukhatóak.