Κοινή χρήση μέσω


Αντιμετώπιση σφαλμάτων στο Power Query

Στο Power Query, μπορείτε να αντιμετωπίσετε δύο τύπους σφαλμάτων:

  • Σφάλματα επιπέδου βήματος
  • Σφάλματα επιπέδου κελιού

Αυτό το άρθρο παρέχει προτάσεις για τον τρόπο επιδιόρθωσης των πιο συνηθισμένων σφαλμάτων που μπορεί να βρείτε σε κάθε επίπεδο και περιγράφει την αιτία σφάλματος, το μήνυμα σφάλματος και τις λεπτομέρειες σφάλματος για κάθε ένα από αυτά.

Σφάλμα επιπέδου βήματος

Ένα σφάλμα επιπέδου βήματος αποτρέπει τη φόρτωση του ερωτήματος και εμφανίζει τα στοιχεία σφάλματος σε ένα κίτρινο τμήμα παραθύρου.

Σφάλμα επιπέδου βήματος.

  • Αιτία σφάλματος: Η πρώτη ενότητα πριν από την άνω και κάτω τελεία. Στο παραπάνω παράδειγμα, η αιτία σφάλματος είναι το Expression.Error.
  • Μήνυμα σφάλματος: Η ενότητα αμέσως μετά την αιτία. Στο παραπάνω παράδειγμα, το μήνυμα σφάλματος είναι Ότι η στήλη "Στήλη" του πίνακα δεν βρέθηκε.
  • Λεπτομέρεια σφάλματος: Η ενότητα αμέσως μετά τη συμβολοσειρά Λεπτομέρειες: . Στο παραπάνω παράδειγμα, η λεπτομέρεια σφάλματος είναι Στήλη.

Συνήθη σφάλματα επιπέδου βήματος

Σε όλες τις περιπτώσεις, συνιστούμε να εξετάσετε προσεκτικά την αιτία του σφάλματος, το μήνυμα σφάλματος και τις λεπτομέρειες σφάλματος για να κατανοήσετε τι προκαλεί το σφάλμα. Μπορείτε να επιλέξετε το κουμπί Μετάβαση στο σφάλμα , εάν υπάρχει, για να δείτε το πρώτο βήμα όπου παρουσιάστηκε το σφάλμα.

Κουμπί μετάβασης στο σφάλμα.

Δεν είναι δυνατή η εύρεση της προέλευσης - DataSource.Error

Αυτό το σφάλμα παρουσιάζεται συνήθως όταν η προέλευση δεδομένων δεν είναι προσβάσιμη από τον χρήστη, ο χρήστης δεν διαθέτει τα σωστά διαπιστευτήρια για πρόσβαση στην προέλευση δεδομένων ή η προέλευση έχει μετακινηθεί σε διαφορετικό σημείο.

Παράδειγμα: Έχετε ένα ερώτημα από ένα πλακίδιο κειμένου που βρισκόταν στη μονάδα δίσκου D και δημιουργήθηκε από τον χρήστη A. Ο χρήστης Α θέτει σε κοινή χρήση το ερώτημα με τον χρήστη B, ο οποίος δεν έχει πρόσβαση στη μονάδα δίσκου D. Όταν αυτό το άτομο προσπαθεί να εκτελέσει το ερώτημα, λαμβάνει ένα DataSource.Error καθώς δεν υπάρχει μονάδα δίσκου D στο περιβάλλον του.

Σφάλμα προέλευσης δεδομένων, δεν ήταν δυνατή η εύρεση του αρχείου, επειδή δεν υπάρχει μονάδα δίσκου D στο τρέχον περιβάλλον.

Πιθανές λύσεις: Μπορείτε να αλλάξετε τη διαδρομή αρχείου του αρχείου κειμένου σε μια διαδρομή στην οποία έχουν πρόσβαση και οι δύο χρήστες. Ως χρήστης Β, μπορείτε να αλλάξετε τη διαδρομή του αρχείου ώστε να είναι ένα τοπικό αντίγραφο του ίδιου αρχείου κειμένου. Εάν το κουμπί Επεξεργασία ρυθμίσεων είναι διαθέσιμο στο τμήμα παραθύρου σφάλματος, μπορείτε να το επιλέξετε και να αλλάξετε τη διαδρομή του αρχείου.

Η στήλη του πίνακα δεν βρέθηκε

Αυτό το σφάλμα συνήθως ενεργοποιείται όταν ένα βήμα κάνει μια άμεση αναφορά σε ένα όνομα στήλης που δεν υπάρχει στο ερώτημα.

Παράδειγμα: Έχετε ένα ερώτημα από ένα αρχείο κειμένου όπου ένα από τα ονόματα των στηλών ήταν Στήλη. Στο ερώτημά σας, έχετε ένα βήμα που μετονομάζει αυτή τη στήλη σε Ημερομηνία. Ωστόσο, υπήρξε μια αλλαγή στο αρχικό αρχείο κειμένου και δεν διαθέτει πλέον επικεφαλίδα στήλης με το όνομα Στήλη , επειδή άλλαξε με μη αυτόματο τρόπο σε Ημερομηνία. Το Power Query δεν μπορεί να βρει μια επικεφαλίδα στήλης με την ονομασία Στήλη, επομένως δεν μπορεί να μετονομάσει στήλες. Εμφανίζει το σφάλμα που εμφανίζεται στην παρακάτω εικόνα.

Σφάλμα παράστασης, η στήλη του πίνακα δεν βρέθηκε επειδή το όνομα της στήλης άλλαξε με μη αυτόματο τρόπο.

Πιθανές λύσεις: Υπάρχουν πολλές λύσεις για αυτή την περίπτωση, αλλά όλες εξαρτώνται από αυτό που θα θέλατε να κάνετε. Για αυτό το παράδειγμα, επειδή η σωστή κεφαλίδα στήλης Ημερομηνία προέρχεται ήδη από το αρχείο κειμένου σας, μπορείτε απλώς να καταργήσετε το βήμα που μετονομάζει τη στήλη. Αυτό θα επιτρέψει την εκτέλεση του ερωτήματός σας χωρίς αυτό το σφάλμα.

Άλλα συνήθη σφάλματα σε επίπεδο βήματος

Κατά τον συνδυασμό ή τη συγχώνευση δεδομένων μεταξύ πολλών προελεύσεων δεδομένων, ενδέχεται να λάβετε ένα σφάλμα Formula.Firewall , όπως αυτό που εμφανίζεται στην παρακάτω εικόνα.

Σφάλμα τείχους προστασίας τύπου, το ερώτημα αναφέρεται σε άλλα ερωτήματα ή βήματα, επομένως ενδέχεται να μην έχει απευθείας πρόσβαση σε μια προέλευση δεδομένων.

Αυτό το σφάλμα μπορεί να οφείλεται σε διάφορους λόγους, όπως τα επίπεδα προστασίας προσωπικών δεδομένων μεταξύ των προελεύσεων δεδομένων ή τον τρόπο συνδυασμού ή συγχώνευσης αυτών των προελεύσεων δεδομένων. Για περισσότερες πληροφορίες σχετικά με τον τρόπο διάγνωσης αυτού του ζητήματος, μεταβείτε στο τείχος προστασίας προσωπικών δεδομένων.

Σφάλμα επιπέδου κελιού

Ένα σφάλμα σε επίπεδο κελιού δεν θα εμποδίσει τη φόρτωση του ερωτήματος, αλλά εμφανίζει τιμές σφάλματος ως Σφάλμα στο κελί. Η επιλογή του λευκού χώρου στο κελί εμφανίζει το τμήμα παραθύρου σφάλματος κάτω από την προεπισκόπηση δεδομένων.

Για να εμφανίσετε το μήνυμα σφάλματος, επιλέξτε κενό διάστημα σε ένα κελί πίνακα που περιέχει ένα σφάλμα.

Σημείωμα

Τα εργαλεία δημιουργίας προφίλ δεδομένων μπορούν να σας βοηθήσουν να αναγνωρίσετε πιο εύκολα σφάλματα σε επίπεδο κελιού με τη δυνατότητα ποιότητας στηλών. Περισσότερες πληροφορίες: Εργαλεία δημιουργίας προφίλ δεδομένων

Χειρισμός σφαλμάτων σε επίπεδο κελιού

Όταν αντιμετωπίζετε σφάλματα σε επίπεδο κελιού, το Power Query παρέχει ένα σύνολο συναρτήσεων για τον χειρισμό τους, είτε καταργώντας, αντικαθιστώντας ή διατηρώντας τα σφάλματα.

Για τις επόμενες ενότητες, τα παρεχόμενα παραδείγματα θα χρησιμοποιούν το ίδιο δείγμα ερωτήματος με το σημείο έναρξης. Σε αυτό το ερώτημα, έχετε μια στήλη Πωλήσεις που έχει ένα κελί με σφάλμα που προκαλείται από ένα σφάλμα μετατροπής. Η τιμή μέσα σε αυτό το κελί ήταν NA, αλλά όταν μετασχηματίζετε αυτή τη στήλη σε ακέραιο αριθμό, το Power Query δεν ήταν δυνατό να μετατρέψει na σε αριθμό, επομένως εμφανίζει το ακόλουθο σφάλμα.

Εμφανίζει το σφάλμα μορφής δεδομένων, δεν ήταν δυνατή η μετατροπή του σε σφάλμα τύπου δεδομένων στο τμήμα παραθύρου σφαλμάτων.

Κατάργηση σφαλμάτων

Για να καταργήσετε γραμμές με σφάλματα στο Power Query, επιλέξτε πρώτα τη στήλη που περιέχει σφάλματα. Στην Αρχική καρτέλα, στην ομάδα Μείωση γραμμών, επιλέξτε Κατάργηση γραμμών. Από το αναπτυσσόμενο μενού, επιλέξτε Κατάργηση σφαλμάτων.

Κουμπί

Το αποτέλεσμα αυτής της λειτουργίας θα σας δώσει τον πίνακα που αναζητάτε.

Ο πίνακας που περιείχε προηγουμένως πέντε γραμμές τώρα έχει καταργήσει τη γραμμή που περιείχε το σφάλμα, αφήνοντας τέσσερις γραμμές στον πίνακα.

Αντικατάσταση σφαλμάτων

Εάν αντί να καταργήσετε γραμμές με σφάλματα, θέλετε να αντικαταστήσετε τα σφάλματα με μια σταθερή τιμή, μπορείτε να το κάνετε επίσης. Για να αντικαταστήσετε τις γραμμές που έχουν σφάλματα, επιλέξτε πρώτα τη στήλη που περιέχει σφάλματα. Στην καρτέλα Μετασχηματισμός, στην ομάδα Οποιαδήποτε στήλη, επιλέξτε Αντικατάσταση τιμών. Από το αναπτυσσόμενο μενού, επιλέξτε Αντικατάσταση σφαλμάτων.

Κουμπί αντικατάστασης σφαλμάτων στην καρτέλα Μετασχηματισμός.

Στο παράθυρο διαλόγου Αντικατάσταση σφαλμάτων, πληκτρολογήστε την τιμή 10 επειδή θέλετε να αντικαταστήσετε όλα τα σφάλματα με την τιμή 10.

Παράθυρο διαλόγου αντικατάστασης σφαλμάτων.

Το αποτέλεσμα αυτής της λειτουργίας θα σας δώσει τον πίνακα που αναζητάτε.

Ο πίνακας στον οποίο η τρίτη γραμμή περιείχε ένα σφάλμα στη στήλη Πωλήσεις τώρα αντικαθιστά το σφάλμα με την τιμή 10.

Διατήρηση σφαλμάτων

Το Power Query μπορεί να χρησιμοποιηθεί ως ένα καλό εργαλείο ελέγχου για την αναγνώριση γραμμών με σφάλματα, ακόμα και αν δεν διορθώσετε τα σφάλματα. Σε αυτό το σημείο, η επιλογή Διατήρηση σφαλμάτων μπορεί να είναι χρήσιμη. Για να διατηρήσετε τις γραμμές που έχουν σφάλματα, επιλέξτε πρώτα τη στήλη που περιέχει σφάλματα. Στην Αρχική καρτέλα, στην ομάδα Μείωση γραμμών, επιλέξτε Διατήρηση γραμμών. Από το αναπτυσσόμενο μενού, επιλέξτε Διατήρηση σφαλμάτων.

Κουμπί

Το αποτέλεσμα αυτής της λειτουργίας θα σας δώσει τον πίνακα που αναζητάτε.

Τελικός πίνακας που διατηρεί μόνο τις γραμμές που περιέχουν σφάλματα.

Συνήθη σφάλματα σε επίπεδο κελιού

Όπως και με οποιοδήποτε σφάλμα επιπέδου βήματος, συνιστάται να εξετάσετε προσεκτικά τους λόγους σφάλματος, τα μηνύματα σφάλματος και τις λεπτομέρειες σφάλματος που παρέχονται στο επίπεδο κελιού, για να κατανοήσετε τι προκαλεί τα σφάλματα. Οι παρακάτω ενότητες αναφέρονται σε ορισμένα από τα πιο συχνά σφάλματα επιπέδου κελιού στο Power Query.

Σφάλματα μετατροπής τύπου δεδομένων

Συνήθως ενεργοποιείται κατά την αλλαγή του τύπου δεδομένων μιας στήλης σε έναν πίνακα. Ορισμένες τιμές που βρέθηκαν στη στήλη δεν ήταν δυνατό να μετατραπούν στον επιθυμητό τύπο δεδομένων.

Παράδειγμα: Έχετε ένα ερώτημα που περιλαμβάνει μια στήλη με την ονομασία Πωλήσεις. Ένα κελί σε αυτή τη στήλη έχει NA ως τιμή κελιού, ενώ το υπόλοιπο έχει ακέραιους αριθμούς ως τιμές. Αποφασίζετε να μετατρέψετε τον τύπο δεδομένων της στήλης από κείμενο σε ακέραιο αριθμό, αλλά το κελί με την τιμή NA προκαλεί σφάλμα.

Δεν ήταν δυνατή η μετατροπή σε λεπτομέρειες σφάλματος τύπου δεδομένων.

Πιθανές λύσεις: Μετά την αναγνώριση της γραμμής με το σφάλμα, μπορείτε είτε να τροποποιήσετε την προέλευση δεδομένων ώστε να αντικατοπτρίζει τη σωστή τιμή αντί για NA, είτε να εφαρμόσετε μια λειτουργία αντικατάστασης σφάλματος για να παρέχετε μια τιμή για οποιεσδήποτε τιμές NA που προκαλούν σφάλμα.

Σφάλματα λειτουργίας

Όταν προσπαθείτε να εφαρμόσετε μια λειτουργία που δεν υποστηρίζεται, όπως πολλαπλασιασμός μιας τιμής κειμένου με μια αριθμητική τιμή, παρουσιάζεται σφάλμα.

Παράδειγμα: Θέλετε να δημιουργήσετε μια προσαρμοσμένη στήλη για το ερώτημά σας, δημιουργώντας μια συμβολοσειρά κειμένου που περιέχει τη φράση "Συνολικές πωλήσεις: " συνενωμένη με την τιμή από τη στήλη Πωλήσεις . Παρουσιάζεται σφάλμα επειδή η λειτουργία συνένωσης υποστηρίζει μόνο στήλες κειμένου και όχι αριθμητικές.

Το σφάλμα παράστασης στο τμήμα παραθύρου σφάλματος που προκαλείται από την προσπάθεια εφαρμογής ενός τελεστή And σε κείμενο και έναν αριθμό από τη στήλη Sales.

Πιθανές λύσεις: Πριν από τη δημιουργία αυτής της προσαρμοσμένης στήλης, αλλάξτε τον τύπο δεδομένων της στήλης Πωλήσεις σε κείμενο.

Πίνακας με τη στήλη πωλήσεων να έχει μετατραπεί από τύπο δεδομένων

Ένθετες τιμές που εμφανίζονται ως σφάλματα

Όταν εργάζεστε με δεδομένα που περιέχουν ένθετες δομημένες τιμές (όπως πίνακες, λίστες ή εγγραφές), ενδέχεται ορισμένες φορές να αντιμετωπίσετε το ακόλουθο σφάλμα:

Σφάλμα για ένθετες τιμές που ενεργοποιήθηκαν από τείχος προστασίας τύπου που πραγματοποιήθηκε.

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.

Αυτά τα σφάλματα συνήθως παρουσιάζονται για δύο λόγους:

  • Όταν το τείχος προστασίας προσωπικών δεδομένων αποθηκεύει προσωρινά μια προέλευση δεδομένων, οι ένθετες μη ανυσματικές τιμές μετατρέπονται αυτόματα σε σφάλματα.
  • Όταν μια στήλη που ορίζεται με τον Any τύπο δεδομένων περιέχει μη ανυσματικές τιμές, αυτές οι τιμές θα αναφέρονται ως σφάλματα κατά τη φόρτωση (όπως σε ένα βιβλίο εργασίας στο Excel ή στο μοντέλο δεδομένων στο Power BI Desktop).

Πιθανές λύσεις:

  • Καταργήστε τη στήλη που περιέχει το σφάλμα ή ορίστε έναν τύπο πουAny δεν είναι δεδομένων για μια τέτοια στήλη.
  • Αλλάξτε τα επίπεδα προστασίας προσωπικών δεδομένων των προελεύσεων δεδομένων που εμπλέκονται σε ένα που επιτρέπει τον συνδυασμό τους χωρίς αποθήκευση στο buffer.
  • Ομαδοποίηση των πινάκων πριν από τη συγχώνευση για την εξάλειψη στηλών που περιέχουν ένθετες δομημένες τιμές (όπως πίνακα, εγγραφή ή λίστα).