Omgaan met fouten in Power Query

In Power Query kunt u twee typen fouten tegenkomen:

  • Fouten op stapniveau
  • Fouten op celniveau

Dit artikel bevat suggesties voor het oplossen van de meest voorkomende fouten die u op elk niveau kunt vinden en beschrijft de foutreden, het foutbericht en de foutdetails voor elke fout.

Fout op stapniveau

Met een fout op stapniveau voorkomt u dat de query wordt geladen en worden de foutonderdelen in een geel deelvenster weergegeven.

Fout op stapniveau.

  • Foutreden: De eerste sectie vóór de dubbele punt. In het bovenstaande voorbeeld is de foutreden Expression.Error.
  • Foutbericht: De sectie direct na de reden. In het bovenstaande voorbeeld is het foutbericht de kolom Kolom van de tabel niet gevonden.
  • Foutdetails: De sectie direct na de details: tekenreeks. In het bovenstaande voorbeeld is de foutdetails Kolom.

Veelvoorkomende fouten op stapniveau

In alle gevallen raden we u aan de foutreden, het foutbericht en de foutdetails goed te bekijken om te begrijpen wat de fout veroorzaakt. U kunt de knop Ga naar fout selecteren, indien beschikbaar, om de eerste stap weer te geven waarin de fout is opgetreden.

Ga naar de foutknop.

Kan de bron niet vinden - DataSource.Error

Deze fout treedt meestal op wanneer de gegevensbron niet toegankelijk is door de gebruiker, de gebruiker niet over de juiste referenties beschikt om toegang te krijgen tot de gegevensbron of als de bron is verplaatst naar een andere locatie.

Voorbeeld: U hebt een query van een teksttegel die zich in station D bevindt en die is gemaakt door gebruiker A. Gebruiker A deelt de query met gebruiker B, die geen toegang heeft tot station D. Wanneer deze persoon de query probeert uit te voeren, krijgt deze een DataSource.Error omdat er geen station D in hun omgeving is.

Fout in de gegevensbron, kan het bestand niet vinden omdat er geen station D in de huidige omgeving is.

Mogelijke oplossingen: U kunt het bestandspad van het tekstbestand wijzigen in een pad waartoe beide gebruikers toegang hebben. Als gebruiker B kunt u het bestandspad wijzigen in een lokale kopie van hetzelfde tekstbestand. Als de knop Instellingen bewerken beschikbaar is in het foutvenster, kunt u deze selecteren en het bestandspad wijzigen.

De kolom van de tabel is niet gevonden

Deze fout wordt meestal geactiveerd wanneer een stap een directe verwijzing maakt naar een kolomnaam die niet bestaat in de query.

Voorbeeld: U hebt een query uit een tekstbestand waarin een van de kolomnamen Kolom was. In uw query hebt u een stap die de naam van die kolom wijzigt in Date. Er is echter een wijziging aangebracht in het oorspronkelijke tekstbestand en er is geen kolomkop meer met de naam Kolom , omdat het handmatig is gewijzigd in Date. Power Query kan geen kolomkop met de naam Kolom vinden, zodat de naam van kolommen niet kan worden gewijzigd. De fout wordt weergegeven in de volgende afbeelding.

Expressiefout, de kolom van de tabel is niet gevonden omdat de kolomnaam handmatig is gewijzigd.

Mogelijke oplossingen: Er zijn meerdere oplossingen voor dit geval, maar ze zijn allemaal afhankelijk van wat u wilt doen. In dit voorbeeld kunt u, omdat de juiste kolomkop Date al afkomstig is uit het tekstbestand, de stap verwijderen waarmee de naam van de kolom wordt gewijzigd. Hierdoor kan uw query zonder deze fout worden uitgevoerd.

Andere veelvoorkomende fouten op stapniveau

Wanneer u gegevens combineert of samenvoegt tussen meerdere gegevensbronnen, krijgt u mogelijk een Formula.Firewall-fout , zoals de fout die wordt weergegeven in de volgende afbeelding.

Formulefirewallfout, de query verwijst naar andere query's of stappen, zodat deze mogelijk niet rechtstreeks toegang heeft tot een gegevensbron.

Deze fout kan worden veroorzaakt door een aantal redenen, zoals de privacyniveaus voor gegevens tussen gegevensbronnen of de manier waarop deze gegevensbronnen worden gecombineerd of samengevoegd. Ga naar de firewall voor gegevensprivacy voor meer informatie over het vaststellen van dit probleem.

Fout op celniveau

Een fout op celniveau voorkomt niet dat de query wordt geladen, maar geeft foutwaarden weer als Fout in de cel. Als u de witruimte in de cel selecteert, wordt het foutvenster onder het voorbeeld van de gegevens weergegeven.

Het foutbericht weergeven door witruimte te selecteren in een tabelcel met een fout.

Notitie

Met de hulpprogramma's voor gegevensprofilering kunt u gemakkelijker fouten op celniveau identificeren met de functie kolomkwaliteit. Meer informatie: Hulpprogramma's voor gegevensprofilering

Fouten op celniveau afhandelen

Wanneer er fouten op celniveau optreden, biedt Power Query een set functies om ze te verwerken door de fouten te verwijderen, te vervangen of te behouden.

Voor de volgende secties gebruiken de opgegeven voorbeelden dezelfde voorbeeldquery als het beginpunt. In deze query hebt u een kolom Verkoop met één cel met een fout die wordt veroorzaakt door een conversiefout. De waarde in die cel was NA, maar toen u die kolom transformeerde naar een geheel getal kon Power Query geen NB converteren naar een getal, wordt de volgende fout weergegeven.

Geeft een fout in de gegevensindeling weer, kan niet worden geconverteerd naar een fout in het foutvenster.

Fouten verwijderen

Als u rijen met fouten in Power Query wilt verwijderen, selecteert u eerst de kolom die fouten bevat. Selecteer Op het tabblad Start in de groep Rijen verminderen de optie Rijen verwijderen. Selecteer fouten verwijderen in de vervolgkeuzelijst.

Knop Fouten verwijderen op het tabblad Start.

Het resultaat van deze bewerking geeft u de tabel die u zoekt.

Tabel die eerder vijf rijen bevat, bevat nu de rij die de fout bevat, waardoor vier rijen in de tabel worden achtergelaten.

Fouten vervangen

Als u in plaats van rijen met fouten te verwijderen, de fouten wilt vervangen door een vaste waarde, kunt u dit ook doen. Als u rijen met fouten wilt vervangen, selecteert u eerst de kolom die fouten bevat. Selecteer op het tabblad Transformeren in de kolomgroep Elke kolom de optie Waarden vervangen. Selecteer fouten vervangen in de vervolgkeuzelijst.

Knop Fouten vervangen op het tabblad Transformeren.

Voer in het dialoogvenster Fouten vervangen de waarde 10 in omdat u alle fouten wilt vervangen door de waarde 10.

Dialoogvenster Fouten vervangen.

Het resultaat van deze bewerking geeft u de tabel die u zoekt.

In de tabel waarin de derde rij een fout in de kolom Verkoop bevat, wordt de fout vervangen door de waarde 10.

Fouten behouden

Power Query kan fungeren als een goed controleprogramma om rijen met fouten te identificeren, zelfs als u de fouten niet oplost. Dit is waar fouten bijhouden nuttig kunnen zijn. Als u rijen met fouten wilt behouden, selecteert u eerst de kolom die fouten bevat. Selecteer Op het tabblad Start in de groep Rijen beperken de optie Rijen behouden. Selecteer Fouten behouden in de vervolgkeuzelijst.

Knop Fouten behouden op het tabblad Start.

Het resultaat van deze bewerking geeft u de tabel die u zoekt.

Uiteindelijke tabel die alleen rijen bevat die fouten bevatten.

Veelvoorkomende fouten op celniveau

Net als bij een fout op stapniveau wordt u aangeraden de foutredenen, foutberichten en foutdetails op celniveau nader te bekijken om te begrijpen wat de fouten veroorzaken. In de volgende secties worden enkele van de meest voorkomende fouten op celniveau in Power Query besproken.

Conversiefouten gegevenstype

Dit wordt meestal geactiveerd bij het wijzigen van het gegevenstype van een kolom in een tabel. Sommige waarden in de kolom kunnen niet worden geconverteerd naar het gewenste gegevenstype.

Voorbeeld: U hebt een query met een kolom met de naam Sales. Eén cel in die kolom heeft NA als celwaarde, terwijl de rest gehele getallen als waarden heeft. U besluit het gegevenstype van de kolom te converteren van tekst naar een geheel getal, maar de cel met de N.V.- waarde veroorzaakt een fout.

Kan niet converteren naar foutdetails van het gegevenstype.

Mogelijke oplossingen: Nadat u de rij met de fout hebt geïdentificeerd, kunt u de gegevensbron wijzigen zodat deze overeenkomt met de juiste waarde in plaats van N.V. of u kunt een vervangfoutbewerking toepassen om een waarde op te geven voor alle NA-waarden die een fout veroorzaken.

Bewerkingsfouten

Wanneer u een bewerking probeert toe te passen die niet wordt ondersteund, zoals het vermenigvuldigen van een tekstwaarde met een numerieke waarde, treedt er een fout op.

Voorbeeld: U wilt een aangepaste kolom voor uw query maken door een tekenreeks te maken die de woordgroep 'Totale verkoop: ' bevat die is samengevoegd met de waarde uit de kolom Verkoop . Er treedt een fout op omdat de samenvoegbewerking alleen tekstkolommen en niet numerieke kolommen ondersteunt.

Expressiefout in het foutvenster dat wordt veroorzaakt door het toepassen van een and-operator op tekst en een getal uit de kolom Verkoop.

Mogelijke oplossingen: Voordat u deze aangepaste kolom maakt, wijzigt u het gegevenstype van de kolom Verkoop in tekst.

Tabel met de verkoopkolom die is geconverteerd van een gegevenstype Getal naar een gegevenstype Tekst en de resulterende nieuwe kolom met beide expressies.

Geneste waarden weergegeven als fouten

Wanneer u werkt met gegevens die geneste gestructureerde waarden bevatten (zoals tabellen, lijsten of records), kan het voorkomen dat de volgende fout optreedt:

Er is een fout opgetreden voor geneste waarden die worden geactiveerd door de formulefirewall.

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.

Deze fouten treden meestal om twee redenen op:

  • Wanneer de Data Privacy Firewall een gegevensbron buffert, worden geneste niet-scalaire waarden automatisch geconverteerd naar fouten.
  • Wanneer een kolom die is gedefinieerd met het Any gegevenstype niet-scalaire waarden bevat, worden deze waarden gerapporteerd als fouten tijdens het laden (zoals in een werkmap in Excel of het gegevensmodel in Power BI Desktop).

Mogelijke oplossingen:

  • Verwijder de kolom die de fout bevat of stel een niet-gegevenstypeAny in voor een dergelijke kolom.
  • Wijzig de privacyniveaus van de betrokken gegevensbronnen in een gegevensbron waarmee ze kunnen worden gecombineerd zonder dat ze worden gebufferd.
  • Maak de tabellen plat voordat u een samenvoegbewerking uitvoert om kolommen te verwijderen die geneste gestructureerde waarden bevatten (zoals tabel, record of lijst).