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


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

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

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

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

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

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

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

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

Το Power Query Online εμφανίζει ελαφρώς διαφορετικές λεπτομέρειες. Η λεπτομέρεια του σφάλματος εξακολουθεί να είναι Στήλη, αλλά το ηλεκτρονικό μήνυμα σφάλματος περιέχει επίσης την αιτία του σφάλματος (Expression.Error) και τον κωδικό σφάλματος (10224).

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

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

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

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

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

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

Παράδειγμα: Έχετε ένα ερώτημα από ένα πλακίδιο κειμένου που βρισκόταν στη μονάδα δίσκου D και δημιουργήθηκε από τον χρήστη A. Ο χρήστης Α θέτει σε κοινή χρήση το ερώτημα με τον χρήστη B, ο οποίος δεν έχει πρόσβαση στη μονάδα δίσκου D. Όταν αυτό το άτομο προσπαθεί να εκτελέσει το ερώτημα, λαμβάνει ένα DataSource.NotFound επειδή δεν υπάρχει μονάδα δίσκου 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.

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

Στιγμιότυπο οθόνης του πίνακα με τη στήλη 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.
  • Ομαδοποίηση των πινάκων πριν από τη συγχώνευση για την εξάλειψη στηλών που περιέχουν ένθετες δομημένες τιμές (όπως πίνακα, εγγραφή ή λίστα).