Mitunter ist es erforderlich, einen objektbezogenen Index (fortlaufende Nummerierung) zu erstellen. Wenn jeder auszuwertende Begriff einmalig ist, also nur ein einziges Mal in der Liste vorkommt, reicht ja ein ganz „normaler“ Index vollkommen aus. Wenn aber die Suchbegriffe in der Liste mehrfach vorkommen und diese dann in der Reihenfolge ihres Erscheinens eine fortlaufende und lückenlose Nummerierung bekommen sollen, ist etwas mehr Aufwand erforderlich. 😉
Für diese Übung laden Sie das (etwas betagte aber gut geeignete) File mit den Abgeordneten des 18. Deutschen Bundestages hier aus unserem Blog herunter. Die zu dem Zeitpunkt „aktiven“ Abgeordneten sollen in der derzeitigen Reihenfolge (alphabetisch nach Namen) eine fortlaufende Nummer (Index) bekommen. Da ja fast jeder Name eindeutig ist, wird als Kriterium die Fraktionszugehörigkeit genommen.
Importieren Sie die Daten erst einmal auf gewohntem Wege in den Power Query-Editor. Im Hinblick darauf, dass hier nur die zu dem Zeitpunkt dem Bundestag angehörigen Abgeordneten ausgewertet werden sollen, entfernen Sie gleich zu Beginn die nicht mehr im Bundestag vertretenen Abgeordneten; diese sind an dem angefügten Asterisk (*) in der Spalte Fraktion erkennbar. Sie wissen, dass das recht elegant über den Filter (Textfilter) und das Argument Endet nicht mit… zu erreichen ist. Nun umfasst die Liste/Abfrage statt 642 nur noch die korrekte Anzahl von 631 Zeilen.
Um zu gewährleisten, dass nach dem Abschluss des gesamten Vorgangs die Reihenfolge immer noch bzw. wieder die gleiche ist wie derzeit, fügen Sie eine neue Spalte, eine Indexspalte hinzu. Markieren Sie nun Fraktion, Rechtsklick und Gruppieren nach… Als Neuer Spaltenname tragen Sie Data ein, bei Vorgang wählen Sie Alle Zeilen. Bestätigen Sie mit OK. Dass die Anzeige (ie Tabelle) auf vier Zeilen geschrumpft ist liegt daran, dass es genau vier Fraktionen gibt.
Fügen Sie nun wiederum eine neue Benutzerdefinierte Spalte hinzu, belassen Sie es gerne beim vorgegebenen Spaltennamen und fügen bei Benutzerdefinierte Spaltenformel exakt diese Formel ein:
Table.AddIndexColumn([Data], "Index+", 1, 1)
was zur Folge hat, dass eine dritte Spalte generiert worden ist, wo in jeder einzelnen Zeile das Wort Table vermerkt ist. Mit anderen Worten: Für jede der Fraktionen ist eine eigene Tabelle erstellt worden. Da hierin alle Werte der ursprünglichen Tabelle enthalten sind, ein Rechtsklick auf Benutzerdefiniert und Andere Spalten entfernen. Erweitern Sie nun diese einzig verbliebene Spalte durch einen Klick auf den Doppelpfeil , entfernen Sie das Häkchen bei Ursprünglichen Spaltennamen… und bestätigen Sie mit OK.
Sie werden rasch erkennen, dass von der ursprünglichen Reihenfolge so gut wie gar nichts mehr erhalten ist. Um das zu „heilen“, sortieren Sie Index aufsteigend und löschen Sie die Spalte Index, denn sie hat ihren Dienst getan. Wenn Sie nun die Spalte Index+ zu einem aussagekräftigen Namen (beispielsweise fortlaufende Nummer) umbenennen, ist das gewünschte Ziel erreicht.