Power Query: Αριθμός ομάδων εγγραφών ως 1 έως 5 επανειλημμένα - Excel Συμβουλές

Πίνακας περιεχομένων

Σημείωση

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

Στο Power Query Challenge, ένα από τα βήματα ήταν να παίρνω το πεδίο ονόματος από κάθε 5η εγγραφή και να το αντιγράψουμε στις πέντε εγγραφές. Η αρχική μου λύση ήταν ακατάλληλη, βασιζόμενη στο γεγονός ότι το μήκος του ονόματος θα ήταν μεγαλύτερο από 2 χαρακτήρες.

Αρκετοί άνθρωποι, συμπεριλαμβανομένων των MF Wong, Michael Karpfen, Peter Bartholomew, Chris McNeil, Jamie Rogers χρησιμοποίησαν μια πολύ καλύτερη λύση που περιλαμβάνει μια στήλη Ευρετήριο.

Ας συνεχίσουμε τη διαδικασία όπου τα δεδομένα μοιάζουν με αυτό:

Πίνακας δεδομένων

Πρώτον, ο MF Wong σημείωσε ότι δεν χρειάζεστε τους πρώτους πέντε δίσκους. Θα μπορούσατε να χρησιμοποιήσετε

Home, Remove Rows, Remove Top Rows… , 5 Rows.

Αφαιρέστε τις κορυφαίες σειρές

Το Excel MVP Oz du Soleil από το Excel on Fire απαλλάχθηκε επίσης από αυτά τα πέντε, αλλά το έκανε όταν ήταν ακόμα στήλες.

Στη συνέχεια, Προσθήκη στήλης, Προσθήκη στήλης ευρετηρίου, Από 0. Αυτό δημιουργεί μια νέα στήλη από 0 έως NN.

Στήλη ευρετηρίου

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

Modulo

Τότε

Μονάδα μέτρησης

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

Αποτέλεσμα

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

Προσθέστε μια στήλη υπό όρους που είτε φέρνει το όνομα ή την τιμή Null και, στη συνέχεια, Συμπληρώστε προς τα κάτω. Περισσότεροι τρόποι για τον υπολογισμό αυτής της στήλης βρίσκονται στο Power Query: Χρησιμοποιώντας το Else If Clauses in Conditional στήλες.

Προσθήκη στήλης υπό όρους

Συμπληρώστε προς τα κάτω για να συμπληρώσετε το όνομα από την πρώτη σειρά έως τις επόμενες πέντε σειρές.

Ευχαριστώ τον MF Wong για το βίντεό του. Βεβαιωθείτε ότι έχετε ενεργοποιήσει το CC για αγγλικούς υπότιτλους.
https://www.youtube.com/watch?v=So1n7sLE_Mg

Το βίντεο του Peter Bartholomew:
https://www.youtube.com/watch?v=gb3OPfF_BNc

Ο Michael Karpfen συνειδητοποίησε επίσης ότι δεν χρειάζεται να διαγράψετε τα σύνολα και να τα προσθέσετε αργότερα. Ο κωδικός Μ του είναι:

let Quelle = Excel.CurrentWorkbook()((Name="UglyData"))(Content), #"Höher gestufte Header" = Table.PromoteHeaders(Quelle, (PromoteAllScalars=true)), #"Geänderter Typ" = Table.TransformColumnTypes(#"Höher gestufte Header",(("Category Description", type text), ("Dept. Total", type number), ("Q1", type number), ("Q2", type number), ("Q3", type number), ("Q4", Int64.Type), ("Employee 1", type number), ("Q1_1", type number), ("Q2_2", type number), ("Q3_3", Int64.Type), ("Q4_4", Int64.Type), ("Employee 2", Int64.Type), ("Q1_5", Int64.Type), ("Q2_6", Int64.Type), ("Q3_7", Int64.Type), ("Q4_8", Int64.Type), ("Employee 3", Int64.Type), ("Q1_9", Int64.Type), ("Q2_10", Int64.Type), ("Q3_11", Int64.Type), ("Q4_12", Int64.Type), ("Employee 4", type number), ("Q1_13", type number), ("Q2_14", type number), ("Q3_15", type number), ("Q4_16", Int64.Type))), #"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Geänderter Typ", ("Category Description"), "Attribut", "Wert"), #"Hinzugefügter Index" = Table.AddIndexColumn(#"Entpivotierte andere Spalten", "Index", 1, 1), #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Hinzugefügter Index", "Benutzerdefiniert", each Number.Mod((Index)-1,5)), #"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Benutzerdefiniert.1", each if (Benutzerdefiniert)=0 then (Attribut) else null), #"Nach unten gefüllt" = Table.FillDown(#"Hinzugefügte benutzerdefinierte Spalte1",("Benutzerdefiniert.1")), #"Neu angeordnete Spalten" = Table.ReorderColumns(#"Nach unten gefüllt",("Benutzerdefiniert.1", "Attribut", "Category Description", "Wert", "Index", "Benutzerdefiniert")), #"Geänderter Typ1" = Table.TransformColumnTypes(#"Neu angeordnete Spalten",(("Benutzerdefiniert", type text))), #"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Geänderter Typ1", "Benutzerdefiniert.2", each if (Benutzerdefiniert) = "0" then "TOTAL" else "Q"&(Benutzerdefiniert)), #"Neu angeordnete Spalten1" = Table.ReorderColumns(#"Hinzugefügte benutzerdefinierte Spalte2",("Attribut", "Category Description", "Benutzerdefiniert.1", "Wert", "Index", "Benutzerdefiniert", "Benutzerdefiniert.2")), #"Entfernte Spalten" = Table.RemoveColumns(#"Neu angeordnete Spalten1",("Attribut", "Index", "Benutzerdefiniert")), #"Pivotierte Spalte" = Table.Pivot(#"Entfernte Spalten", List.Distinct(#"Entfernte Spalten"(Benutzerdefiniert.2)), "Benutzerdefiniert.2", "Wert", List.Sum), #"Neu angeordnete Spalten2" = Table.ReorderColumns(#"Pivotierte Spalte",("Benutzerdefiniert.1", "Category Description", "Q1", "Q2", "Q3", "Q4", "TOTAL")), #"Sortierte Zeilen" = Table.Sort(#"Neu angeordnete Spalten2",(("Benutzerdefiniert.1", Order.Ascending))), #"Umbenannte Spalten" = Table.RenameColumns(#"Sortierte Zeilen",(("Benutzerdefiniert.1", "Employee Name"))) in #"Umbenannte Spalten"

Σημειώστε ότι ο Josh Johnson χρησιμοποίησε επίσης μια στήλη Ευρετήριο, αλλά ως ένα από τα πρώτα βήματα και το χρησιμοποίησε ως είδος σε ένα από τα τελικά βήματα.

Επιστρέψτε στην κύρια σελίδα για την πρόκληση Podcast 2316.

Διαβάστε το επόμενο άρθρο σε αυτήν τη σειρά: Power Query: Εξαγωγή αριστερών 2 χαρακτήρων από μια στήλη.

ενδιαφέροντα άρθρα...