Wyszukiwanie w witrynie

Przestań usuwać kolumny w Power Query: Zrób to zamiast tego


Jedną z pierwszych rzeczy, których nauczyłem się o Power Query — i zasadą, którą wciąż rygorystycznie przestrzegam — jest to, aby nie wybierać kolumny i jej nie usuwać. Aby zbudować naprawdę odporny pulpit, musisz zamiast tego powiedzieć edytorowi, co zachować, a nie co usunąć. Oto dlaczego Usuń inne kolumny jest twoim nowym najlepszym przyjacielem.

Większość błędów Power Query to nie błędy w oprogramowaniu — to złe instrukcje

Kiedy oczyszczamy dane w Power Query, naszym pierwszym odruchem jest kliknięcie prawym przyciskiem myszy niepotrzebnych kolumn i wybranie opcji „Usuń kolumny”. Wydaje się to efektywne, ale w rzeczywistości tworzy dwie pułapki, które mogą cię później zaskoczyć.

Załóżmy, że wysyłasz tabelę o dziewięciu kolumnach do Edytora Power Query (poprzez Dane > Z tabeli/zakresu) i usuwasz sześć z nich, klikając prawym przyciskiem myszy nagłówki i wybierając "Usuń kolumny", pozostawiając tylko Produkt, Sprzedane jednostki i Zysk.

Następnego dnia współpracownik dodaje nową kolumnę Notatki do źródłowego arkusza kalkulacyjnego. Ponieważ powiedziałeś Power Query tylko, aby usuwało pierwotne sześć kolumn, ta nowa, obszerna kolumna trafia bezpośrednio do Twojego pulpitu po odświeżeniu, zaśmiecając Twój raport.

Po rozwiązaniu tego problemu odświeżasz swoje zapytanie następnego dnia i napotykasz komunikat o błędzie. Dzieje się tak, ponieważ inny współpracownik zmienił nazwę kolumny Department na „Category” u źródła — kolumny, którą zapytanie miało wyraźnie usunąć. Power Query ściśle przestrzega swoich instrukcji: jeśli nie może znaleźć kolumny, którą miał usunąć, wyświetla błąd i odmawia zakończenia aktualizacji. Twój pulpit pozostaje zablokowany na starych danych, dopóki nie naprawisz tego kroku.

Przechodząc od usuwania kolumn do definiowania, co należy zachować, zapewniasz, że zapytanie będzie szukać tylko niezbędnych danych i ignorować wszystko inne.

Jak prawidłowo zdefiniować swoją „listę dozwolonych” danych

Aby uniknąć tych pułapek, musisz zmienić swoją perspektywę. Zamiast skupiać się na tym, co wyrzucić, powinieneś skoncentrować się na konkretnych polach, które są potrzebne, aby Twój raport działał. W tym przypadku niezbędne kolumny to Produkt, Sprzedane jednostki i Zysk.

W Edytorze Power Query przytrzymaj klawisz Ctrl i kliknij nagłówki „Product”, „Units Sold” i „Profit”. Następnie kliknij prawym przyciskiem myszy którykolwiek z tych trzech zaznaczonych nagłówków i kliknij „Remove Other Columns”.

Jeśli pracujesz z ogromnym zbiorem danych zawierającym wiele kolumn, przewijanie w poziomie podczas trzymania Ctrl jest koszmarem. Zamiast tego, na karcie Narzędzia główne kliknij „Wybierz kolumny” i użyj pojawiającej się listy kontrolnej, aby zaznaczyć nagłówki, które chcesz zachować.

Okienko Zastosowane Kroki po prawej stronie pokazuje teraz nowy krok oznaczony jako Usuń Inne Kolumny, a podstawowy kod M wyraźnie wymienia trzy kolumny, które chcesz zachować:

=Table.SelectColumns(#"Changed Type",{"Product", "Units Sold", "Profit"})

Ta jedna linia kodu zmienia wszystko. Zamiast odejmować kolumny, ta funkcja wyraźnie definiuje schemat twojego zestawu danych. Power Query teraz dokładnie wie, od czego zależy twój raport—nic więcej, nic mniej.

Gdy już wyodrębnisz te kolumny, kliknij górną część podzielonego przycisku „Zamknij i załaduj” w lewym górnym rogu okna Edytora, aby przesłać oczyszczone dane do nowego arkusza.

Chociaż oczyszczony raport wygląda tak samo jak wtedy, gdy używałeś przepływu pracy Usuń kolumny, jest bardziej odporny. Aby to udowodnić, dodaj nową kolumnę do swojej tabeli źródłowej i zmień nagłówek jednej z kolumn, która nie jest częścią twojego raportu. Następnie przejdź do arkusza z udoskonalonym zestawem danych i kliknij „Odśwież” na karcie Zapytanie. Zobaczysz, że nic się nie zmienia: Power Query pomija nową kolumnę i zmieniony nagłówek, koncentrując się tylko na trzech kolumnach, które poleciłeś mu zachować.

Ten przepływ pracy poprawia wydajność i przejrzystość

Oprócz zwiększenia odporności Twojego pulpitu Excel, ten nawyk sprawia, że Twoje skoroszyty Excel działają znacznie szybciej. Używając opcji Usuń inne kolumny tak wcześnie, jak to możliwe w zapytaniu, działasz jak filtr, który powstrzymuje niepotrzebne dane przed przepływem przez resztę zapytania. Staje się to jeszcze ważniejsze, jeśli Twoje zapytanie zasila Model danych lub Tabelę przestawną, gdzie każda niepotrzebna kolumna zwiększa obciążenie pamięci.

Jeśli Twój plik źródłowy w końcu powiększy się z 10 kolumn do 100, standardowy krok Usuwania kolumn pojawiający się później w zapytaniu może zmusić Power Query do przenoszenia wszystkich tych dodatkowych danych przez wcześniejsze przekształcenia, zanim ostatecznie zostaną one usunięte. Jednak użycie opcji Usuń inne kolumny izoluje tylko potrzebne pola od samego początku. Zmniejsza to zużycie pamięci i może zauważalnie poprawić wydajność odświeżania, szczególnie podczas pracy z dużymi tabelami Excela lub zapytaniami, które nie obsługują składania zapytań.

To podejście sprawia również, że Twoja praca dokumentuje się sama. Każdy, kto audytuje Twoje Zastosowane Kroki, może wybrać ten wczesny krok i zobaczyć dokładnie, od których kolumn zależy cały raport. Za sześć miesięcy, gdy wrócisz do pliku, nie będziesz musiał odtwarzać swojej logiki — wymagane kolumny są wyraźnie zadeklarowane w jednym przejrzystym kroku.


Wybierając, co zachować, zamiast co wyrzucić, dodajesz jeden z wielu niezbędnych do poznania przepływów pracy w Power Query do swojego zestawu narzędzi. Nie tylko tworzysz pulpit nawigacyjny, który nie zepsuje się, gdy ktoś zmieni arkusz kalkulacyjny, ale także utrzymujesz swój skoroszyt w lekkiej i efektywnej formie w miarę jego rozwoju.

Powiązane artykuły