Ich dachte an zwei Möglichkeiten, dies zu tun, obwohl es wahrscheinlich andere gibt.
HINWEIS - Ich bevorzuge die zweite Methode, da sie die "101" und "102" datengesteuert macht, so dass sie in Zukunft leichter geändert oder hinzugefügt werden können.
A) Durch die Abfrage-Editor (erfordert harte Codierung der "101"/"102" Werte)
Schritt 1: in der Abfrage-Editor mit Ihren Daten starten
Schritt 2: Fügen Sie zwei zusätzliche Spalten für Ihre Suffixe hinzu. Klicken Sie auf die Schaltfläche "Benutzerdefinierte Spalte von Beispielen" und geben Sie dann "234-101" in die erste Zelle ein. Nach dem Abpfeilen zur nächsten Zelle sollte der Rest automatisch gefüllt werden. Wiederholen Sie dies für "-102".
Schritt 3: Unpivot die beiden neuen Spalten, um sie in eine zu bekommen. Klicken Sie bei ausgewählter Spalte "ID" auf das Dropdown-Menü für "Spalten aufheben" und klicken Sie auf "Andere Spalten aufheben".
Schritt 4: Entfernen Sie zusätzliche Spalten. In den resultierenden Daten haben Sie die originale Spalte "ID", zusammen mit zwei neuen; "Attribut" und "Wert". Da die Spalte "Wert" die gewünschten Werte enthält, wählen Sie die Spalten "ID" und "Attribut", klicken Sie mit der rechten Maustaste auf einen ihrer Überschriften und wählen Sie "Spalten entfernen".
Schritt 5: Benennen Sie die Spalte "Wert" auf "ID" und fertig.
Hier ist der resultierende M-Code für alle diese Aktionen.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjI2UYrViVYyMTYF08YwhqkFRNzC1ACiwtzCyEApNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}}),
#"Inserted Merged Column" = Table.AddColumn(#"Changed Type", "Merged", each Text.Combine({Text.From([ID], "en-US"), "-101"}), type text),
#"Inserted Merged Column1" = Table.AddColumn(#"Inserted Merged Column", "Merged.1", each Text.Combine({Text.From([ID], "en-US"), "-102"}), type text),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Inserted Merged Column1", {"ID"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"ID", "Attribute"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Value", "ID"}})
in
#"Renamed Columns"
B) Durch DAX
Schritt 1: mit Ihren Daten in der Datenansicht starten.
Schritt 2: Klicken Sie auf "Enter Data" und die Daten für die Suffixe hinzufügen. (Überspringen Sie diese Option, wenn diese Zahlen woanders bezogen werden)
Schritt 3: Klicken Sie auf „New Table“ und geben Sie die folgende Formel.
NewData = CROSSJOIN(Data, Suffixes)
Schritt 4: Klicken Sie auf "Neue Spalte und geben Sie die folgende Formel
NewID = CONCATENATE(CONCATENATE(NewData[ID], "-"), NewData[Value])
Wenn Sie die neue Spalte namentlich genannt werden will." ID ", müssen Sie zuerst die alte" ID "-Spalte umbenennen, da Sie sie nicht einfach entfernen können, wie es in th getan wurde Die erste Methode.