Σημείωση
Αυτό είναι ένα από μια σειρά άρθρων που περιγράφουν λεπτομερώς τις λύσεις που αποστέλλονται για την πρόκληση Podcast 2316.
Ενώ η διεπαφή Power Query είναι πολύ ισχυρή, όσοι μπορούν να υπερβούν τη διεπαφή έχουν σούπερ δυνάμεις. Ο Frank Tonsen έστειλε αυτήν τη λύση. Ας πάρουμε το σημείο όπου τα δεδομένα μοιάζουν με αυτό:

Στη συνέχεια, ο Frank κωδικοποιεί έναν πίνακα. Split, καθορίζοντας ότι κάθε 5 εγγραφές πρέπει να είναι ένας νέος πίνακας.

Από εκεί, Table.FromList και άλλα. Σε αυτό το σημείο, μπορείτε να κάνετε κλικ σε οποιοδήποτε κελί πίνακα και να δείτε τα δεδομένα σε αυτόν τον πίνακα. Εδώ είναι το δεύτερο κελί πίνακα.

Εδώ είναι ο κωδικός του Φρανκ:
let Source = Excel.CurrentWorkbook()((Name="UglyData"))(Content), RemovedTotals = Table.RemoveColumns(Source,("Column2", "Column3", "Column4", "Column5", "Column6")), TransposedTable = Table.Transpose(RemovedTotals), PromotedHeaders = Table.PromoteHeaders(TransposedTable, (PromoteAllScalars=true)), SplittedTable = Table.Split(PromotedHeaders,5), TableFromList = Table.FromList(SplittedTable, Splitter.SplitByNothing(), null, null, ExtraValues.Error), AddedColumn1 = Table.AddColumn(TableFromList, "Column2", each Table.PromoteHeaders(Table.Transpose(Table.DemoteHeaders((Column1))))), AddedColumn2 = Table.AddColumn(AddedColumn1, "Column3", each Table.AddColumn((Column2), "Employee", (x) => Table.ColumnNames((Column2))(1))), AddedColumn3 = Table.AddColumn(AddedColumn2, "Column4", each Table.RenameColumns((Column3), (Table.ColumnNames((Column3))(1), "Total"))), Combined = Table.Combine(AddedColumn3(Column4)), ReorderedColumns = Table.ReorderColumns(Combined,("Category Description", "Employee", "Q1", "Q2", "Q3", "Q4", "Total")), ChangedType = Table.TransformColumnTypes(ReorderedColumns,(("Category Description", type text), ("Employee", type text), ("Q1", type number), ("Q2", type number), ("Q3", type number), ("Q4", type number), ("Total", type number))) in ChangedType
Καλά από το YouTube μοιράστηκε επίσης ένα βίντεο με μια προσαρμοσμένη λύση M για να προσδιορίσει δυναμικά όλες τις στήλες που ξεκινούν με "Υπάλληλος". Αν και αυτό δεν θα λειτουργούσε στην πραγματική ζωή όταν οι υπάλληλοι ονομάζονται Andy, Betty, Charlie, είναι ένα υπέροχο βίντεο: https://www.youtube.com/watch?v=xamU5QLNiew.
Επιστρέψτε στην κύρια σελίδα για την πρόκληση Podcast 2316.
Διαβάστε το επόμενο άρθρο σε αυτήν τη σειρά: Power Query: The World of Bill Szysz.