Xtract: Die Zeilen einer Tabelle/Liste per Power Query in einer definierten Anzahl (in einer weiteren Spalte angegeben) wiederholen, duplizieren.
Wissensstand: Level 2 ⇒ Solides Basiswissen in PQ, etwas Erfahrung
Das Ziel ist klar beschreibbar: Mittels Power Query sollen Zeilen in einer definierten Anzahl wiederholt werden. In einer weiteren Spalte steht der Faktor für die Multiplikation der Zelle, wie in diesem Beispiel:
Im ersten Schritt werden Sie natürlich aus den Daten eine Intelligente Tabelle erstellen. Und diese importieren Sie dann in den Power Query-Editor. Die Spalte Name soll also in einer neuen Tabelle jeden einzelnen Namen so oft darstellen, wie in der daneben liegenden Spalte Anzahl vorgegeben ist.
Beginnen Sie damit, im Register Spalte hinzufügen eine Benutzerdefinierte Spalte zu erstellen. Bei Neuer Spaltenname können Sie es bei der Vorgabe belassen oder Sie geben dort beispielsweise den Wert Namen ein. Als Benutzerdefinierte Spaltenformel: schreiben Sie nach dem Gleichheitszeichen diese Formel:
= List.Repeat({[Name]},[Anzahl])
Die geschweiften Klammern (AltGr7 und AltGr0) müssen Sie von Hand eingeben, bevor oder nachdem Sie die Feldnamen beispielsweise per Doppelklick aus dem Kasten Verfügbare Spalten: übernommen haben. Dadurch wird die Zelle zu einer ein Element umfassende Liste umgestaltet. Nach einem OK hat Power Query eine neue Spalte erstellt, wo in jeder einzelnen Zelle der Wert List steht. Erweitern Sie die Überschrift durch einen Klick auf den Doppelpfeil und im DropDown wählen Sie Auf neue Zeilen ausweiten. Das Ergebnis stellt sich nun so dar:
Jetzt bleibt es Ihnen überlassen, ob Sie die beiden ersten oder die beiden letzten Spalten löschen. Das Ergebnis ist ‑mit Ausnahme der Überschrift- gleich. Jetzt noch Datei, Schließen & laden in… und positionieren Sie die zu erstellende Tabelle an der gewünschten Stelle.
Egänzung (05.08.2022): Wenn jeder Datensatz (Zeile) mit dem gleichen Wert der Wiederholungs-Anzahl vervielfacht werden soll, dann brauchen Sie keine Extra-Spalte für die Zeilen-Zahl. In dem Fall würde für beispielsweise 3 Zeilen je Datensatz diese Formel reichen:
= List.Repeat({[Name]}, 3)
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 2,50 € freuen …