Wykonamy ponownie usuwanie z danych niepotrzebnych bloków wierszy jak w PQ 11, tylko tym razem zrobimy to prościej – głównie za pomocą kolumn indeksów i sprawdzaniu prostych warunków.
Przeważnie takie bloki zaczynają się lub kończą konkretnym wierszem (zawierającym konkretną unikalną frazę). W tym wpisie rozpatrzymy sytuację, gdzie znamy wiersz kończący zbędne dla nas informacje w danych oraz wiemy, że blok niepotrzebnych informacji ma zawsze 5 wierszy.

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 01

Standardowo pobieramy dane z tabeli Excela do zapytania PowerQuery i kasujemy Zmieniono typ, ponieważ jest nam niepotrzebny w tym przykładzie. Następnie dodajemy kolumnę indeksu (od jakiej wartości zaczynamy liczenie jest drugorzędne).

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 02

Następnie za pomocą kolumny warunkowej (polecenie z karty Dodaj kolumnę) sprawdzamy kiedy pojawia się ostatni wiersz zbędnego bloku, czyli ten, który zawiera tekst – ‘Koniec Niepotrzebnego bloku’. Musimy następująco wypełnić pola w oknie wstawiania kolumny warunkowej:

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 03

Teraz potrzebujemy wypełnić tą kolumnę w górę (polecenie z karty Przekształć).

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 04

Wtedy każda liczba będzie kopiowana w górę, zastępując wartości null, dopóki nie dojdzie do kolejnej liczby. Teraz musimy sprawdzić czy wartość z kolumny Indeks jest większa niż wartość z kolumny Custom (tej przed chwilą wypełnianej w górę) pomniejszona o 5. Możemy to zrobić dodając kolumnę niestandardową (polecenie z karty Dodaj kolumnę). Nazwa kolumny jest nieistotna bo za chwilę ją skasujemy, a formułą prosta 😉

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 05

Teraz wystarczy odfiltrować wiersze z wartościami TRUE.

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 06

A następnie usunąć wszystkie kolumny poza kolumną Nagłówek, bo służyły one tylko temu, żeby odfiltrować dla nas zbędne wiersze – wystarczy kliknąć prawym przyciskiem myszy w nagłówek kolumny Nagłówek.

PQ 12 - Jak usuwać grupy wierszy, który kończy konkretny tekst - kolumny indeksów 07

A później możemy już wczytać zapytanie do Excela.

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP