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


Hibák kezelése a Power Queryben

A Power Queryben kétféle hiba jelenhet meg:

  • Lépésszintű hibák
  • Cellaszintű hibák

Ez a cikk javaslatokat tartalmaz az egyes szinteken előforduló leggyakoribb hibák kijavítására, valamint a hiba okának, a hibaüzenetnek és a hiba részleteinek leírására.

Lépésszintű hiba

A lépésszintű hiba megakadályozza a lekérdezés betöltését, és sárga panelen jeleníti meg a hibaösszetevőket.

Lépésszintű hiba.

  • Hiba oka: A kettőspont előtti első szakasz. A fenti példában a hiba oka a Expression.Error.
  • Hibaüzenet: A szakasz közvetlenül az ok után. A fenti példában a hibaüzenet az, hogy a tábla Oszlop oszlopa nem található.
  • Hiba részletei: A szakasz közvetlenül a Részletek: sztring után. A fenti példában a hiba részletei az Oszlop.

Gyakori lépésszintű hibák

Javasoljuk, hogy minden esetben vizsgálja meg a hiba okát, a hibaüzenetet és a hiba részleteit, hogy megértse, mi okozza a hibát. Ha elérhető, az Ugrás a hiba gombra kattintva megtekintheti a hiba első lépését.

Ugrás a hiba gombra.

Nem található a forrás – DataSource.Error

Ez a hiba általában akkor fordul elő, ha a felhasználó nem fér hozzá az adatforráshoz, a felhasználó nem rendelkezik a megfelelő hitelesítő adatokkal az adatforrás eléréséhez, vagy a forrás másik helyre lett áthelyezve.

Példa: A D meghajtóban található és az A felhasználó által létrehozott szövegcsempe lekérdezése van. Az A felhasználó megosztja a lekérdezést a B felhasználóval, aki nem rendelkezik hozzáféréssel a D meghajtóhoz. Amikor ez a személy megpróbálja végrehajtani a lekérdezést, egy DataSource.Error hibaüzenetet kap, mert nincs D meghajtó a környezetében.

Adatforráshiba miatt nem található a fájl, mert az aktuális környezetben nincs D meghajtó.

Lehetséges megoldások: A szövegfájl elérési útját olyan elérési útra módosíthatja, amelyhez mindkét felhasználónak hozzáférése van. B felhasználóként módosíthatja, hogy a fájl elérési útja ugyanazon szövegfájl helyi másolata legyen. Ha a Hibaablakban elérhető a Beállítások szerkesztése gomb, kiválaszthatja, és módosíthatja a fájl elérési útját.

A tábla oszlopa nem található

Ez a hiba általában akkor fordul elő, ha egy lépés közvetlenül hivatkozik egy olyan oszlopnévre, amely nem szerepel a lekérdezésben.

Példa: Olyan szövegfájlból származó lekérdezéssel rendelkezik, amelyben az oszlopnevek egyike Oszlop volt. A lekérdezésben van egy lépés, amely átnevezi az oszlopot Dátumra. Az eredeti szövegfájlban azonban változás történt, és már nincs oszlopfejléce Oszlop néven, mert manuálisan dátumra módosították. A Power Query nem talál Oszlop nevű oszlopfejlécet, ezért nem tud átnevezni egyetlen oszlopot sem. Az alábbi képen látható hibát jeleníti meg.

Kifejezéshiba, a tábla oszlopa nem található, mert az oszlop nevét manuálisan módosították.

Lehetséges megoldások: Erre az esetre több megoldás is létezik, de ezek mindegyike attól függ, hogy mit szeretne tenni. Ebben a példában, mivel a megfelelő Dátum oszlopfejléc már a szövegfájlból származik, egyszerűen eltávolíthatja az oszlopot átnevező lépést. Ez lehetővé teszi, hogy a lekérdezés a hiba nélkül fusson.

Egyéb gyakori lépésszintű hibák

Az adatok több adatforrás közötti egyesítésekor vagy egyesítésekor képlet.tűzfal hibaüzenet jelenhet meg, például az alábbi képen látható.

Képlet tűzfala hiba, a lekérdezés más lekérdezésekre vagy lépésekre hivatkozik, így előfordulhat, hogy nem fér hozzá közvetlenül egy adatforráshoz.

Ezt a hibát számos ok okozhatja, például az adatforrások közötti adatvédelmi szintek vagy az adatforrások egyesítése vagy egyesítése. A probléma diagnosztizálásáról további információt az Adatvédett tűzfal című témakörben talál.

Cellaszintű hiba

A cellaszintű hiba nem akadályozza meg a lekérdezés betöltését, hanem hibaértékeket jelenít meg hibaként a cellában. Ha kijelöli a cella üres területét, megjelenik a hibaablak az adatelőnézet alatt.

A hibaüzenet megjelenítéséhez jelölje ki a szóközt egy hibát tartalmazó táblázatcellában.

Feljegyzés

Az adatprofilozási eszközök segítségével könnyebben azonosíthatja a cellaszintű hibákat az oszlopminőségi funkcióval. További információ: Adatprofilozási eszközök

Hibák kezelése a cella szintjén

Ha cellaszintű hibákba ütközik, a Power Query függvények készletét biztosítja a hibák eltávolításával, cseréjével vagy megőrzésével.

A következő szakaszokban a megadott példák ugyanazt a minta lekérdezést használják, mint a kiindulási pont. Ebben a lekérdezésben van egy Sales oszlop, amely egy cellával rendelkezik, amely egy konverziós hiba által okozott hibával rendelkezik. A cellában lévő érték na volt, de amikor az oszlopot egész számmá alakította, a Power Query nem tudta számmá alakítani a NA-t, ezért az alábbi hibát jeleníti meg.

Adatformátum-hibát jelenít meg, a hibaablakban nem sikerült adattípus-hibává alakítani.

Hibák eltávolítása

Ha a Power Queryben hibákat tartalmazó sorokat szeretne eltávolítani, először jelölje ki a hibákat tartalmazó oszlopot. A Kezdőlap lap Sorok csökkentése csoportjában válassza a Sorok eltávolítása lehetőséget. A legördülő menüben válassza a Hibák eltávolítása lehetőséget.

A Hibák eltávolítása gomb a Kezdőlap lapon.

A művelet eredménye megadja a keresett táblát.

A korábban öt sort tartalmazó táblázat ekkor eltávolítja a hibát tartalmazó sort, és négy sort hagy a táblában.

Hibák cseréje

Ha a sorok hibákkal való eltávolítása helyett a hibákat rögzített értékre szeretné cserélni, ezt is megteheti. A hibákat tartalmazó sorok cseréjéhez először jelölje ki a hibákat tartalmazó oszlopot. Az Átalakítás lap Bármely oszlop csoportjában válassza az Értékek cseréje lehetőséget. A legördülő menüben válassza a Hibák cseréje lehetőséget.

A Hibák cseréje gomb az Átalakítás lapon.

A Hibák cseréje párbeszédpanelen adja meg a 10 értéket, mert az összes hibát a 10 értékre szeretné cserélni.

Hibák cseréje párbeszédpanel.

A művelet eredménye megadja a keresett táblát.

Az a táblázat, amelyben a harmadik sor hibát tartalmazott az Értékesítés oszlopban, a hiba most a 10 értékre cserélődött.

Hibák megőrzése

A Power Query jó naplózási eszközként szolgálhat a hibákkal rendelkező sorok azonosításához, még akkor is, ha nem javítja ki a hibákat. Itt lehetnek hasznosak a Keep hibák . A hibákat tartalmazó sorok megtartásához először jelölje ki a hibákat tartalmazó oszlopot. A Kezdőlap lap Sorok csökkentése csoportjában válassza a Sorok megtartása lehetőséget. A legördülő menüben válassza a Hibák megtartása lehetőséget.

A Hibák megtartása gomb a Kezdőlap lapon.

A művelet eredménye megadja a keresett táblát.

Utolsó tábla, amely csak a hibákat tartalmazó sorokat tartja meg.

Gyakori cellaszintű hibák

A lépésszintű hibákhoz hasonlóan javasoljuk, hogy vizsgálja meg a hiba okait, a hibaüzeneteket és a cellaszinten megadott hibaadatokat, hogy megértse, mi okozza a hibákat. Az alábbi szakaszok a Power Query leggyakoribb cellaszintű hibáit ismertetik.

Az adattípus átalakításával kapcsolatos hibák

Általában akkor aktiválódik, ha egy tábla egy oszlopának adattípusát módosítja. Az oszlopban található egyes értékek nem konvertálhatók a kívánt adattípusra.

Példa: Van egy lekérdezése, amely egy Sales nevű oszlopot tartalmaz. Az oszlop egyik cellában a na cellaérték, a többi pedig egész számokat tartalmaz értékként. Úgy dönt, hogy az oszlop adattípusát szövegből egész számmá konvertálja, de a NA értékkel rendelkező cella hibát okoz.

Nem konvertálható adattípusú hiba részleteire.

Lehetséges megoldások: Miután azonosította a sort a hibával, módosíthatja az adatforrást úgy, hogy az NE helyett a helyes értéket tükrözze, vagy a Csere hibaművelettel értéket adhat meg a hibát okozó na-értékeknek.

Műveleti hibák

Ha olyan műveletet próbál alkalmazni, amely nem támogatott, például egy szöveges érték numerikus értékkel való szorzása, hiba történik.

Példa: Egyéni oszlopot szeretne létrehozni a lekérdezéshez egy szöveges sztring létrehozásával, amely a Sales oszlop értékével összefűzve tartalmazza a "Total Sales: " kifejezést. Hiba történik, mert az összefűzési művelet csak a szöveges oszlopokat támogatja, a numerikusakat nem.

Kifejezéshiba a hibaablakban, amelyet egy And operátor szövegre és egy számnak a Sales oszlopból való alkalmazásával okozott.

Lehetséges megoldások: Az egyéni oszlop létrehozása előtt módosítsa a Sales oszlop adattípusát szöveggé.

A Szám adattípusból szöveges adattípussá konvertált értékesítési oszlopot tartalmazó táblázat, és az eredmény egy új oszlop, amely mindkét kifejezést tartalmazza.

Hibákként megjelenített beágyazott értékek

Beágyazott strukturált értékeket (például táblákat, listákat vagy rekordokat) tartalmazó adatok használatakor előfordulhat, hogy a következő hibaüzenet jelenik meg:

Hiba történt a képlet tűzfala által aktivált beágyazott értékek esetében.

Expression.Error: We cannot return a value of type {value} in this context

Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.

Ezek a hibák általában két okból fordulnak elő:

  • Amikor az adatvédelmi tűzfal pufferel egy adatforrást, a beágyazott, nem skaláris értékek automatikusan hibákká alakulnak.
  • Ha az Any adattípussal definiált oszlop nem skaláris értékeket tartalmaz, az ilyen értékek a betöltés során hibákként jelennek meg (például az Excel munkafüzetében vagy a Power BI Desktop adatmodelljében).

Lehetséges megoldások:

  • Távolítsa el a hibát tartalmazó oszlopot, vagy adjon meg egy nem adattípustAny egy ilyen oszlophoz.
  • Módosítsa az érintett adatforrások adatvédelmi szintjét olyanra, amely lehetővé teszi, hogy pufferelés nélkül egyesíthetők legyenek.
  • Egyesítés előtt egyesítse a táblákat, hogy kiküszöbölje a beágyazott strukturált értékeket (például táblázatot, rekordot vagy listát) tartalmazó oszlopokat.