Περιεχόμενα

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

Εισαγωγή αιωρούμενου τμήματος στο Power Query

Δηλαδή, δεν μπορούμε να πούμε εκ των προτέρων με βεβαιότητα, ξεκινώντας από ποια γραμμή και πόσες ακριβώς γραμμές πρέπει να εισαχθούν. Και αυτό είναι ένα πρόβλημα, επειδή αυτές οι παράμετροι είναι κωδικοποιημένες στον κώδικα M του αιτήματος. Και αν κάνετε αίτημα για το πρώτο αρχείο (εισαγωγή 5 γραμμών ξεκινώντας από την 4η), τότε δεν θα λειτουργεί πλέον σωστά με το δεύτερο.

Θα ήταν υπέροχο εάν το ερώτημά μας μπορούσε να προσδιορίσει από μόνο του την αρχή και το τέλος του "κινούμενου" μπλοκ κειμένου για εισαγωγή.

Η λύση που θέλω να προτείνω βασίζεται στην ιδέα ότι τα δεδομένα μας περιέχουν κάποιες λέξεις-κλειδιά ή τιμές που μπορούν να χρησιμοποιηθούν ως δείκτες (χαρακτηριστικά) της αρχής και του τέλους του μπλοκ δεδομένων που χρειαζόμαστε. Στο παράδειγμά μας, η αρχή θα είναι μια γραμμή που αρχίζει με τη λέξη Κωδικός, και το τέλος είναι μια γραμμή με τη λέξη Σύνολο. Αυτή η επικύρωση σειράς είναι εύκολο να εφαρμοστεί στο Power Query χρησιμοποιώντας μια στήλη υπό όρους - ένα ανάλογο της συνάρτησης IF (ΑΝ) στο Microsoft Excel.

Ας δούμε πώς να το κάνουμε.

Αρχικά, ας φορτώσουμε τα περιεχόμενα του αρχείου κειμένου μας στο Power Query με τον τυπικό τρόπο – μέσω της εντολής Δεδομένα – Λήψη δεδομένων – Από αρχείο – Από αρχείο κειμένου/CSV (Δεδομένα – Λήψη δεδομένων – Από αρχείο – Από αρχείο κειμένου/CSV). Εάν έχετε εγκαταστήσει το Power Query ως ξεχωριστό πρόσθετο, τότε οι αντίστοιχες εντολές θα βρίσκονται στην καρτέλα Ερώτημα ισχύος:

Εισαγωγή αιωρούμενου τμήματος στο Power Query

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

Εισαγωγή αιωρούμενου τμήματος στο Power Query

Τώρα με την εντολή Προσθήκη στήλης – Στήλη υπό όρους (Προσθήκη στήλης — Στήλη υπό όρους)Ας προσθέσουμε μια στήλη με τον έλεγχο δύο συνθηκών – στην αρχή και στο τέλος του μπλοκ – και την εμφάνιση τυχόν διαφορετικών τιμών​​σε κάθε περίπτωση (για παράδειγμα, αριθμοί 1 и 2). Εάν δεν πληρούται καμία από τις προϋποθέσεις, τότε η έξοδος μηδέν:

Εισαγωγή αιωρούμενου τμήματος στο Power Query

Μετά το κλικ OK παίρνουμε την παρακάτω εικόνα:

Εισαγωγή αιωρούμενου τμήματος στο Power Query

Τώρα ας πάμε στην καρτέλα. Μεταμόρφωση και διάλεξε ομάδα Συμπλήρωση – Κάτω (Μεταμόρφωση – Συμπλήρωση – Κάτω) – οι ένα και οι δύο μας θα τεντωθούν στη στήλη:

Εισαγωγή αιωρούμενου τμήματος στο Power Query

Λοιπόν, όπως μπορείτε να μαντέψετε, μπορείτε απλώς να φιλτράρετε τις μονάδες στη στήλη υπό όρους – και εδώ είναι το πολυπόθητο κομμάτι των δεδομένων μας:

Εισαγωγή αιωρούμενου τμήματος στο Power Query

Το μόνο που μένει είναι να ανεβάσουμε την πρώτη γραμμή στην κεφαλίδα με την εντολή Χρησιμοποιήστε την πρώτη γραμμή ως κεφαλίδες αυτί Αρχική (Αρχική σελίδα – Χρήση πρώτης σειράς ως κεφαλίδες) και αφαιρέστε την περιττή πιο υπό όρους στήλη κάνοντας δεξί κλικ στην κεφαλίδα της και επιλέγοντας την εντολή Διαγραφή στήλης (Διαγραφή στήλης):

Το πρόβλημα λύθηκε. Τώρα, όταν αλλάζετε τα δεδομένα στο αρχείο κειμένου προέλευσης, το ερώτημα θα προσδιορίζει πλέον ανεξάρτητα την αρχή και το τέλος του «αιωρούμενου» τμήματος των δεδομένων που χρειαζόμαστε και θα εισάγει τον σωστό αριθμό γραμμών κάθε φορά. Φυσικά, αυτή η προσέγγιση λειτουργεί επίσης στην περίπτωση εισαγωγής αρχείων XLSX, όχι TXT, καθώς και κατά την εισαγωγή όλων των αρχείων από έναν φάκελο ταυτόχρονα με την εντολή Δεδομένα – Λήψη δεδομένων – Από αρχείο – Από φάκελο (Δεδομένα — Λήψη δεδομένων — Από αρχείο — Από φάκελο).

  • Συναρμολόγηση πινάκων από διαφορετικά αρχεία χρησιμοποιώντας το Power Query
  • Επανασχεδιασμός διασταύρωσης σε επίπεδη καρτέλα με μακροεντολές και Power Query
  • Δημιουργία γραφήματος Project Gantt στο Power Query

Αφήστε μια απάντηση