Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Power Query
Διατήρηση ταξινόμησης
Μπορείτε να υποθέσετε ότι εάν ταξινομήσετε τα δεδομένα σας, τυχόν μεταγενέστερες λειτουργίες διατηρούν τη σειρά ταξινόμησης.
Για παράδειγμα, εάν ταξινομήσετε έναν πίνακα πωλήσεων έτσι ώστε να εμφανίζεται πρώτη η μεγαλύτερη έκπτωση κάθε καταστήματος, μπορεί να περιμένετε ότι η λειτουργία "Κατάργηση διπλότυπων" επιστρέφει μόνο την κορυφαία πώληση για κάθε κατάστημα. Και αυτή η επιχείρηση μπορεί, στην πραγματικότητα, να φαίνεται ότι λειτουργεί. Ωστόσο, αυτή η συμπεριφορά δεν είναι εγγυημένη.
Λόγω του τρόπου με τον οποίο το Power Query βελτιστοποιεί ορισμένες λειτουργίες, συμπεριλαμβανομένης της παράβλεψής τους ή της μεταφόρτωσής τους σε προελεύσεις δεδομένων (οι οποίες μπορεί να έχουν τη δική τους μοναδική συμπεριφορά ταξινόμησης), η σειρά ταξινόμησης δεν είναι εγγυημένη ότι θα διατηρηθεί μέσω συναθροίσεων (όπως Table.Group), συγχωνεύσεων (όπως Table.NestedJoin) ή κατάργησης διπλοτύπων (όπως Table.Distinct).
Υπάρχουν διάφοροι τρόποι για να το αντιμετωπίσετε. Ακολουθούν μερικές προτάσεις:
- Εκτελέστε μια ταξινόμηση μετά την εφαρμογή της κατάντη λειτουργίας. Για παράδειγμα, κατά την ομαδοποίηση γραμμών, ταξινομήστε τον ένθετο πίνακα σε κάθε ομάδα πριν εφαρμόσετε περαιτέρω βήματα. Ακολουθεί κάποιο δείγμα κώδικα M που δείχνει αυτήν την προσέγγιση:
Table.Group(Sales_SalesPerson, {"TerritoryID"}, {{"SortedRows", each Table.Sort(_, {"SalesYTD", Order.Descending})}}) - Αποθηκεύστε τα δεδομένα (χρησιμοποιώντας
Table.Buffer) πριν εφαρμόσετε την κατάντη λειτουργία. Σε ορισμένες περιπτώσεις, αυτή η λειτουργία αναγκάζει την κατάντη λειτουργία να διατηρήσει τη σειρά ταξινόμησης στο buffer. - Χρησιμοποιήστε την κατάταξη. Για παράδειγμα, αντί να χρησιμοποιήσετε
Table.Distinctτο , μπορείτε να ταξινομήσετε με βάση τις στήλες που περιέχουν τις διπλότυπες τιμές, να ταξινομήσετε με βάση μια στήλη ισοπαλίας (όπωςmodified_date) και, στη συνέχεια, να φιλτράρετε για να διατηρήσετε μόνο τις γραμμές κατάταξης 1.
Συμπέρασμα τύπου δεδομένων
Μερικές φορές το Power Query μπορεί να εντοπίσει εσφαλμένα τον τύπο δεδομένων μιας στήλης. Αυτό οφείλεται στο γεγονός ότι το Power Query συνάγει τύπους δεδομένων χρησιμοποιώντας μόνο τις πρώτες 200 γραμμές δεδομένων. Εάν τα δεδομένα στις πρώτες 200 γραμμές είναι κάπως διαφορετικά από τα δεδομένα μετά τη γραμμή 200, το Power Query μπορεί να καταλήξει να επιλέξει λάθος τύπο. (Λάβετε υπόψη ότι ένας λανθασμένος τύπος δεν θα παράγει πάντα σφάλματα. Μερικές φορές οι τιμές που προκύπτουν είναι απλώς λανθασμένες, καθιστώντας το πρόβλημα πιο δύσκολο να εντοπιστεί.)
Για παράδειγμα, φανταστείτε μια στήλη που περιέχει ακέραιους αριθμούς στις πρώτες 200 γραμμές (όπως όλα τα μηδενικά), αλλά περιέχει δεκαδικούς αριθμούς μετά τη γραμμή 200. Σε αυτήν την περίπτωση, το Power Query συμπεραίνει ότι ο τύπος δεδομένων της στήλης είναι Ακέραιος αριθμός (Int64.Type). Αυτό το συμπέρασμα έχει ως αποτέλεσμα την περικοπή των δεκαδικών τμημάτων οποιωνδήποτε μη ακέραιων αριθμών.
Εναλλακτικά, φανταστείτε μια στήλη που περιέχει τιμές ημερομηνίας κειμένου στις πρώτες 200 γραμμές και άλλα είδη τιμών κειμένου μετά τη γραμμή 200. Σε αυτήν την περίπτωση, το Power Query συμπεραίνει ότι ο τύπος δεδομένων της στήλης είναι Ημερομηνία. Αυτό το συμπέρασμα έχει ως αποτέλεσμα οι τιμές κειμένου χωρίς ημερομηνία να αντιμετωπίζονται ως σφάλματα μετατροπής τύπου.
Επειδή ο εντοπισμός τύπου λειτουργεί στις πρώτες 200 γραμμές, αλλά το Προφίλ δεδομένων μπορεί να λειτουργήσει σε ολόκληρο το σύνολο δεδομένων, μπορείτε να εξετάσετε το ενδεχόμενο να χρησιμοποιήσετε τη λειτουργία Προφίλ δεδομένων για να λάβετε μια πρώιμη ένδειξη στο Πρόγραμμα επεξεργασίας ερωτημάτων σχετικά με τα σφάλματα (από τον εντοπισμό τύπου ή οποιονδήποτε αριθμό άλλων λόγων) πέρα από τις επάνω N γραμμές.
Συνδέσεις που κλείνουν αναγκαστικά από τον απομακρυσμένο κεντρικό υπολογιστή
Κατά τη σύνδεση σε διάφορα API, ενδέχεται να λάβετε την ακόλουθη προειδοποίηση:
Data source error: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host
Εάν αντιμετωπίσετε αυτό το σφάλμα, πιθανότατα πρόκειται για πρόβλημα δικτύωσης. Γενικά, τα πρώτα άτομα με τα οποία πρέπει να επικοινωνήσετε είναι οι κάτοχοι της προέλευσης δεδομένων στην οποία προσπαθείτε να συνδεθείτε. Εάν δεν πιστεύουν ότι είναι αυτοί που κλείνουν τη σύνδεση, τότε είναι πιθανό κάτι στην πορεία να είναι (για παράδειγμα, ένας διακομιστής μεσολάβησης, ενδιάμεσοι δρομολογητές/πύλες κ.λπ.).
Είτε αυτό αναπαράγεται μόνο με δεδομένα είτε μόνο με μεγαλύτερα μεγέθη δεδομένων, είναι πιθανό να υπάρχει ένα χρονικό όριο δικτύου κάπου στη διαδρομή. Εάν είναι μόνο με μεγαλύτερα δεδομένα, οι πελάτες θα πρέπει να συμβουλευτούν τον κάτοχο της πηγής δεδομένων για να δουν εάν τα API τους υποστηρίζουν σελιδοποίηση, ώστε να μπορούν να χωρίσουν τα αιτήματά τους σε μικρότερα κομμάτια. Σε αντίθετη περίπτωση, θα πρέπει να ακολουθηθούν εναλλακτικοί τρόποι εξαγωγής δεδομένων από το API (ακολουθώντας τις βέλτιστες πρακτικές πηγής δεδομένων).
Οι οικογένειες προγραμμάτων κρυπτογράφησης RSA TLS είναι υπό απόσυρση
Με ισχύ από τις 30 Οκτωβρίου 2020, οι παρακάτω ακολουθίες κρυπτογράφησης είναι υπό απόσυρση από τους διακομιστές μας.
- "TLS_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_RSA_WITH_AES_256_CBC_SHA256"
- "TLS_RSA_WITH_AES_128_CBC_SHA256"
Η παρακάτω λίστα είναι οι υποστηριζόμενες σουίτες κρυπτογράφησης:
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
- "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
Οι οικογένειες προγραμμάτων κρυπτογράφησης χρησιμοποιούνται για την κρυπτογράφηση μηνυμάτων για τη διασφάλιση μιας σύνδεσης δικτύου ανάμεσα σε υπολογιστές-πελάτες/διακομιστές και άλλους διακομιστές. Καταργούμε την παραπάνω λίστα σουιτών κρυπτογράφησης για να συμμορφωθούμε με τα ισχύοντα πρωτόκολλα ασφαλείας. Ξεκινώντας από την 1η Μαρτίου 2021, οι πελάτες μπορούν να χρησιμοποιήσουν μόνο τις τυπικές σουίτες κρυπτογράφησης.
Αυτές είναι οι οικογένειες προγραμμάτων κρυπτογράφησης που πρέπει να υποστηρίζει ο διακομιστής στον οποίο συνδέεστε για να συνδεθείτε από το Power Query Online ή το Power BI.
Στο Power Query Desktop (Power BI, Excel), δεν ελέγχουμε τις οικογένειες προγραμμάτων κρυπτογράφησης. Εάν προσπαθείτε να συνδεθείτε στο Power Platform (για παράδειγμα, ροές δεδομένων Power Platform) ή στην υπηρεσία Power BI, χρειάζεστε μία από αυτές τις οικογένειες προγραμμάτων κρυπτογράφησης ενεργοποιημένη στο λειτουργικό σας σύστημα. Μπορείτε είτε να αναβαθμίσετε την έκδοση των Windows είτε να ενημερώσετε το μητρώο TLS των Windows για να βεβαιωθείτε ότι το τελικό σημείο του διακομιστή σας υποστηρίζει μία από αυτές τις κρυπτογραφήσεις.
Για να επαληθεύσετε ότι ο διακομιστής σας συμμορφώνεται με το πρωτόκολλο ασφαλείας, μπορείτε να εκτελέσετε μια δοκιμή χρησιμοποιώντας ένα εργαλείο κρυπτογράφησης και σαρωτή TLS. Ένα παράδειγμα μπορεί να είναι το SSLLABS.
Οι πελάτες πρέπει να αναβαθμίσουν τους διακομιστές τους πριν από την 1η Μαρτίου 2021. Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση παραμέτρων της σειράς οικογένειας προγραμμάτων κρυπτογράφησης TLS, ανατρέξτε στο θέμα Διαχείριση ασφάλειας επιπέδου μεταφοράς (TLS).
Ανάκληση πιστοποιητικού
Μια επερχόμενη έκδοση του Power BI Desktop προκαλεί αποτυχία συνδέσεων SSL από το Desktop, όταν από οποιαδήποτε πιστοποιητικά στην αλυσίδα SSL λείπει η κατάσταση ανάκλησης πιστοποιητικού. Αυτή είναι μια αλλαγή από την τρέχουσα κατάσταση, όπου η ανάκληση προκάλεσε αποτυχία σύνδεσης μόνο στην περίπτωση που το πιστοποιητικό ανακλήθηκε ρητά. Άλλα ζητήματα πιστοποιητικών μπορεί να περιλαμβάνουν μη έγκυρες υπογραφές και λήξη πιστοποιητικού.
Καθώς υπάρχουν διαμορφώσεις στις οποίες η κατάσταση ανάκλησης μπορεί να αφαιρεθεί, όπως με εταιρικούς διακομιστές μεσολάβησης, θα παρέχουμε μια άλλη επιλογή για την παράβλεψη πιστοποιητικών που δεν έχουν πληροφορίες ανάκλησης. Αυτή η επιλογή επιτρέπει σε περιπτώσεις όπου οι πληροφορίες ανάκλησης αφαιρούνται σε ορισμένες περιπτώσεις, αλλά δεν θέλετε να μειώσετε εντελώς την ασφάλεια, να συνεχίσετε να εργάζεστε.
Δεν συνιστάται, αλλά οι χρήστες μπορούν να συνεχίσουν να μπορούν να απενεργοποιούν εντελώς τους ελέγχους ανάκλησης.
Σφάλμα: Η αξιολόγηση ακυρώθηκε
Το Power Query επιστρέφει το μήνυμα "Η αξιολόγηση ακυρώθηκε" όταν η ανάλυση παρασκηνίου είναι απενεργοποιημένη και ο χρήστης κάνει εναλλαγή μεταξύ ερωτημάτων ή κλείνει το Πρόγραμμα επεξεργασίας ερωτημάτων ενώ ένα ερώτημα βρίσκεται σε διαδικασία ανανέωσης.
Σφάλμα: Το κλειδί δεν αντιστοιχούσε σε καμία σειρά στον πίνακα
Υπάρχουν πολλοί λόγοι για τους οποίους το Power Query μπορεί να επιστρέψει ένα σφάλμα ότι το κλειδί δεν ταιριάζει με καμία γραμμή στον πίνακα. Όταν παρουσιαστεί αυτό το σφάλμα, ο μηχανισμός συνδυασμού δεδομένων δεν μπορεί να βρει το όνομα του πίνακα που αναζητά. Οι λόγοι για τους οποίους μπορεί να συμβεί αυτό το σφάλμα περιλαμβάνουν:
- Το όνομα του πίνακα έχει αλλάξει, για παράδειγμα στην ίδια την προέλευση δεδομένων.
- Ο λογαριασμός που χρησιμοποιείται για την πρόσβαση στον πίνακα δεν έχει επαρκή προνόμια για την ανάγνωση του πίνακα.
- Μπορεί να υπάρχουν πολλά διαπιστευτήρια για μία προέλευση δεδομένων, η οποία δεν υποστηρίζεται στην υπηρεσία Power BI κατά τη χρήση προσωπικών συνδέσεων cloud. Αυτό το σφάλμα μπορεί να συμβεί, για παράδειγμα, όταν η προέλευση δεδομένων είναι μια προέλευση δεδομένων cloud και χρησιμοποιούνται πολλοί λογαριασμοί για πρόσβαση στην προέλευση δεδομένων ταυτόχρονα με διαφορετικά διαπιστευτήρια. Εάν η προέλευση δεδομένων είναι εσωτερικής εγκατάστασης, θα πρέπει να χρησιμοποιήσετε την πύλη δεδομένων εσωτερικής εγκατάστασης.
Περιορισμός: Απαίτηση σύνδεσης σε τομέα για υπολογιστές πύλης κατά τη χρήση ελέγχου ταυτότητας των Windows
Η χρήση του ελέγχου ταυτότητας των Windows με μια πύλη εσωτερικής εγκατάστασης απαιτεί τη συμμετοχή του υπολογιστή πύλης σε τομέα. Αυτό ισχύει για όλες τις συνδέσεις που έχουν ρυθμιστεί με "Έλεγχος ταυτότητας των Windows μέσω της πύλης*. Οι λογαριασμοί Windows που χρησιμοποιούνται για πρόσβαση σε μια προέλευση δεδομένων ενδέχεται να απαιτούν πρόσβαση ανάγνωσης στα κοινόχρηστα στοιχεία στον κατάλογο των Windows και στην εγκατάσταση της πύλης.
Περιορισμός: Η ανανέωση OAuth2 μεταξύ μισθωτών δεν υποστηρίζεται στην υπηρεσία Power BI
Εάν θέλετε να συνδεθείτε σε μια προέλευση δεδομένων από την υπηρεσία Power BI χρησιμοποιώντας το OAuth2, η προέλευση δεδομένων πρέπει να βρίσκεται στον ίδιο μισθωτή με την υπηρεσία Power BI. Προς το παρόν, τα σενάρια σύνδεσης πολλών μισθωτών δεν υποστηρίζονται με το OAuth2.
Περιορισμός: Το προσαρμοσμένο τελικό σημείο ελέγχου ταυτότητας AD FS δεν υποστηρίζεται στην υπηρεσία Power BI
Η δυνατότητα χρήσης ενός προσαρμοσμένου τελικού σημείου ελέγχου ταυτότητας των υπηρεσιών Active Directory Federation Services (AD FS) δεν υποστηρίζεται στην υπηρεσία Power BI. Οι χρήστες ενδέχεται να αντιμετωπίσουν το ακόλουθο σφάλμα: Η υπηρεσία διακριτικού που αναφέρεται από τον πόρο δεν είναι αξιόπιστη.
Περιορισμός: Οι λογαριασμοί επισκεπτών δεν υποστηρίζονται
Η χρήση λογαριασμών επισκέπτη ενός μισθωτή για σύνδεση σε δεδομένα χρησιμοποιώντας συνδέσεις Power Query δεν υποστηρίζεται προς το παρόν.
Expression.Error: Η αξιολόγηση είχε ως αποτέλεσμα την υπερχείλιση στοίβας και δεν μπορεί να συνεχιστεί
Τα σφάλματα υπερχείλισης στοίβας μπορεί να προκληθούν από ένα σφάλμα στον κώδικα M. Για παράδειγμα, η ακόλουθη συνάρτηση παράγει μια υπερχείλιση στοίβας επειδή καλεί επανειλημμένα πίσω στον εαυτό της χωρίς κανένα είδος τελικής συνθήκης. Μια συνάρτηση που αυτοαποκαλείται έτσι είναι γνωστή ως "αναδρομική" συνάρτηση.
let f = (x) => @f(x + 1) in f(0)
Ακολουθούν ορισμένοι συνήθεις τρόποι επίλυσης μιας υπερχείλισης στοίβας στον κώδικα M.
- Βεβαιωθείτε ότι οι αναδρομικές συναρτήσεις σας τερματίζονται πραγματικά όταν επιτευχθεί η αναμενόμενη τελική συνθήκη.
- Αντικαταστήστε την αναδρομή με επανάληψη (για παράδειγμα, χρησιμοποιώντας συναρτήσεις όπως List.Transform, List.Generate ή List.Accumulate).
Expression.Error: Η μνήμη της αξιολόγησης εξαντλήθηκε και δεν μπορεί να συνεχιστεί
Τα σφάλματα "εξάντλησης μνήμης" (ή OOM) μπορεί να προκληθούν από την εκτέλεση πάρα πολλών λειτουργιών έντασης μνήμης σε πολύ μεγάλους πίνακες. Για παράδειγμα, ο ακόλουθος κώδικας M παράγει ένα OOM επειδή επιχειρεί να φορτώσει ένα δισεκατομμύριο σειρές στη μνήμη ταυτόχρονα.
Table.Buffer(Table.FromList({1..1000000000}, Splitter.SplitByNothing()))
Για να επιλύσετε σφάλματα εκτός μνήμης, βελτιστοποιήστε τις λειτουργίες έντασης μνήμης, όπως ταξινομήσεις, ενώσεις, ομαδοποίηση και διακρίσεις, διασφαλίζοντας ότι αναδιπλώνονται στην πηγή ή αφαιρώντας τα εντελώς όπου είναι δυνατόν. Τα είδη, για παράδειγμα, είναι συχνά περιττά.
Το Power Query Online δεν μπορεί να συνδεθεί μέσω δημόσιου τελικού σημείου όταν ένα ιδιωτικό τελικό σημείο έχει ρυθμιστεί σε χώρο αποθήκευσης
Όταν έχει ρυθμιστεί ένα ιδιωτικό τελικό σημείο σε έναν λογαριασμό χώρου αποθήκευσης, το Power Query Online θα επιλύει πάντα τη διεύθυνση ιδιωτικής σύνδεσης και δεν μπορεί να συνδεθεί μέσω του δημόσιου Internet, ακόμα και αν η δημόσια πρόσβαση έχει οριστεί σε "Επιτρέπεται" στη ρύθμιση παραμέτρων του ιδιωτικού τελικού σημείου.
Αυτή η συμπεριφορά παρουσιάζεται επειδή το ιδιωτικό τελικό σημείο έχει προτεραιότητα έναντι της δημόσιας συνδεσιμότητας. Ως αποτέλεσμα, οποιαδήποτε προσπάθεια σύνδεσης χωρίς πύλη θα αποτύχει.
Παράθυρο διαλόγου σφάλματος κατά την εκτέλεση ορισμένων λειτουργιών ειδικών χαρακτήρων
Όταν χρησιμοποιείτε το κορεατικό πληκτρολόγιο IME στο Power Query, ενδέχεται να εμφανιστεί ένα παράθυρο διαλόγου σφάλματος όταν εισάγετε ορισμένους ειδικούς χαρακτήρες στο προηγμένο πρόγραμμα επεξεργασίας, στο παράθυρο διαλόγου προσαρμοσμένης στήλης ή στη γραμμή τύπων.
Αυτό το πρόβλημα επηρεάζει το πρόγραμμα επεξεργασίας Power Query στο Power BI Desktop και το Excel. Δεν επηρεάζει το Power Query Online (ροές δεδομένων).
Για να επιλύσετε αυτό το ζήτημα, απενεργοποιήστε το M Intellisense στις επιλογές του προγράμματος επεξεργασίας Power Query.
Dataflows
Ακύρωση ανανέωσης ροής δεδομένων
Μερικές φορές ξεκινάτε μια ανανέωση ροής δεδομένων, αλλά μετά την εκκίνησή της συνειδητοποιείτε ότι θέλετε να αλλάξετε ένα ακόμη πράγμα πριν ανανεώσετε τα δεδομένα σας. Σε αυτήν την περίπτωση, πρέπει να περιμένετε μέχρι να ολοκληρωθεί η ανανέωση. Η διακοπή μιας ανανέωσης στη μέση, καθώς η διαδικασία εργάζεται ήδη για τη λήψη των δεδομένων και την ενημέρωση των πινάκων στον χώρο εργασίας ή το περιβάλλον σας, δεν υποστηρίζεται προς το παρόν.
Σκοπεύουμε να προσθέσουμε υποστήριξη για την ακύρωση μιας ανανέωσης ροής δεδομένων στο μέλλον.