PQ: Zeilen löschen spezial

Alle Zeilen löschen, die ein bestimmtes Merkmal aufweisen

In einem Forum kam die Frage auf, dass aus einer existierenden Tabelle jene Werte entfernt werden sollen, die im Lager eines definierten Ortes vorhanden sind, also nicht fehlen. Zugegeben, die Fragestellung war etwas anders und wie eine längere Diskussion bewiesen hat auch in keiner Weise eindeutig. Die Mehrheit der Helfer hat sich dann darauf geeinigt, dass die Beschreibung hierüber soweit korrekt ist.

Aber das wäre zu schön, wenn das den Kern der Sache treffen würde. Darum noch eine kleine Erweiterung der Problemstellung: Ist ein Artikel (Artikelnummer) in Lager HH oder in Lager B gelistet (siehe Tabelle), dann soll diese Artikelnummer in dem betroffenen Lager und aus allen weiteren Einträgen/Zeilen -unabhängig vom Ort des Lagers- entfernt werden. – Eine kleine Tabelle war im Forum als Text dargestellt, ich habe sie leicht abgeändert und hier als Excel-Datei zur Verfügung gestellt.

Da die Liste recht übersichtlich ist, sollten Sie mit mir gemeinsam im Excel-Arbeitsblatt Tabelle1 einen kleinen Schreibtischtest machen, um das Ergebnis klar zu definieren und zu verifizieren. Die eigentliche Frage lautet: Ist eine Artikelnummer in Hamburg oder Berlin (siehe Kfz-Kennzeichen) gelistet, dann soll diese Nummer hier und auch  in allen anderen Zeilen gelöscht werden, egal welches Kfz-Kennzeichen in Spalte B vermerkt ist. Da wäre als erstes in Hamburg die Produktnummer 1234. Die gibt es auch in RZ (in Zeile 4) und in HK. Diese beiden Zeilen sollen also auch gelöscht werden. Für Berlin mit der Produktnummer 7890 gilt das Gleiche: Jeweils das Kennzeichen B und KI enthält diese Nummer und die beiden Zeilen müssen entsprechend gelöscht werden. Das Ergebnis sollte also ganz klar sein: Ausschließlich 7639 | RZ soll als Filter-Ergebnis stehen bleiben.

Im Arbeitsblatt Tabelle2 finden Sie nun das von mir bereits mit Power Query erstellte Ergebnis. Ich erarbeite mit Ihnen jetzt die einzelnen Schritte, damit auch sie rasch zum Ziel gelangen. Die Daten der Auflistung in Tabelle1 habe ich Als Wert beginnend in A1 übertragen. Der erste Standard-Schritt wird grundsätzlich sein, aus den auszuwertenden Daten eine Liste/Intelligente Tabelle zu machen. Strg L oder Strg T erledigen das für sie. Ich gebe der Tabelle einen sinnvollen Namen nämlich RawData, es sind ja schließlich auch die Rohdaten. 😉 Danach importiere ich diese Daten nach Power Query. Das stellt sich nun so dar:

Direkt nach dem Import

Direkt nach dem Import

Um nicht unnötigen Daten-Ballast zu erzeugen, wähle ich jetzt Menü Datei | Schließen und laden in… und speichere diese Abfrage nicht als Tabelle sondern als Nur Verbindung erstellen.

Jetzt zu sagen, dass alle Werte 1234 und 7800 in der ersten Spalte Nr. gelöscht bzw. herausgefiltert werden soll wäre ja zu einfach. 🙄 Beim nächsten Durchlauf könnten es ja ganz andere Zahlenwerte sein. – Erstellen Sie von dieser Abfrage erst einmal eine Kopie; das geht beispielsweise über das Menü Start | Verwalten  | Verweis. Sofort wird ein dynamisches Duplikat diese Abfrage erstellt. Ich ändere den Namen der Query auf RawData (gefiltert), um Verwechslungen zu vermeiden. Filtern Sie nun die Daten so, dass nur die beiden Kennzeichen für Hamburg und Berlin sichtbar bleiben:

So werden nur HH - und B - Daten angezeigt

So werden nur HH – und B – Daten angezeigt

Vielleicht wundern Sie sich, dass ich nicht einfach die entsprechenden Häkchen im zuerst erschienenen Dropdown entfernt habe sondern die Auswahl Textfilter nutze. Der Grund ist relativ einfach:  Egal welche Werte nach einer Änderung der Tabelle RawData dazu kommen oder entfernt worden sind, die beiden eben definierten Städte sind ganz klar nominiert.  😎 – Normalerweise hat sich gleich nach dem Erstellen der Kopie links ein Seitenfenster aufgetan, wo beide Abfragen sichtbar sind. Falls nicht, erweitern Sie den schmalen Bereich neben der Tabelle durch einen Klick auf den Text Abfragen oder das Symbol >. Hier klicken Sie auf RawData, um die erste Abfrage zur aktuellen Query zu machen. Menü Start | Kombinieren | Abfragen zusammenführen erweitern und Abfragen als neue Abfrage zusammenführen auswählen. Im oberen der beiden inneren Fenster zeigt sich der 1. Teil der Abfrage RawData; darunter wählen Sie für die Anzeige im unteren der beiden Fenster die Abfrage Rawdata (gefiltert):

Die zweite Abfrage wird verlinkt

Die zweite Abfrage wird verlinkt

Klicken Sie nun im Abfragebereich RawData in eine beliebige Produktnummer (Nr.), gleiches Vorgehen bei RawData (gefiltert). Beide Spalten sind nun grün markiert. Unterhalb der beiden Fenster gibt es noch das Kombinationsfeld Join-Art und hier wählen Sie aus den angezeigten Möglichkeiten:

Hier wird die Art der Verknüpfung festgelegt

Hier wird die Art der Verknüpfung festgelegt

Wählen Sie hier die in der obigen Abbildung markierte Möglichkeit. Es sollen also alle Datensätze, die nur in der oberen (ersten) und nicht in der unteren Abfrage enthalten sind gefiltert, sprich angezeigt werden.

Als Ergebnis wollen Sie ja nur die Nummer und das Kennzeichen des Lagers haben, darum löschen Sie die Spalte RawData (gefiltert). Wenn Sie möchten, können Sie auch den Namen der neu erstellten Abfrage Merge1 ändern, ich belasse es jedoch bei dieser durchaus treffenden Bezeichnung. Jetzt nur noch über das Menü Start | Schließen & laden oder Schließen & laden in… diese Abfrage als kleine Tabelle in einem neuen Blatt oder an definierter Position speichern.

▲ nach oben …

Dieser Beitrag wurde unter Daten zusammenführen, Filtern & Sortieren, Foren-Q&A, Power Query abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.