
Pracując na danych od wielu lat, wiem dobrze, jak często największe problemy nie wynikają z samej analizy, ale z przygotowania danych. Ilekroć łączę pliki, importuję dane z różnych źródeł albo tworzę proces ETL w Power Query, to jedna rzecz powtarza się regularnie: bałagan w nazwach kolumn.
W jednym pliku kolumna nazywa się Product Name, w drugim product_name, w trzecim productname, a w czwartym ktoś jeszcze dorzuci polskie znaki albo przypadkowe wielkie litery. Dla nas to wizualnie to samo. Ale dla Power Query? To już trzy–cztery różne kolumny, które potrafią zrobić sporo zamieszania.
Na szczęście istnieje bardzo prosty sposób, żeby całkowicie zautomatyzować porządkowanie nazw kolumn. I co najlepsze — da się to zrobić jedną linijką kodu w języku M. Tą linijką kodu możesz posługiwać się w każdej analizie, w każdym projekcie i przy każdym imporcie danych.
W tym artykule pokażę Ci krok po kroku, jak to zrobić. W lekkiej, praktycznej formie, z przykładami, które możesz od razu wykorzystać u siebie.
Dlaczego warto automatyzować zmiany nazw kolumn?
Zanim przejdziemy do kodu, pozwól, iż krótko uzasadnię, dlaczego w ogóle warto to robić. W pracy analityka danych najwięcej czasu zjadają rzeczy powtarzalne. A nazwy kolumn potrafią naprawdę sporo napsuć.
Najczęstsze problemy to:
- różne wersje tych samych nazw kolumn w wielu plikach,
- niepotrzebne znaki specjalne, podkreślenia, myślniki,
- wielkie litery tam, gdzie nie powinno ich być,
- brak spójności w języku (angielskie vs. polskie nazwy),
- automatyczne generowanie nazw przez systemy źródłowe.
Jeśli każdą z nich poprawiasz manualnie, to prędzej czy później zaczynasz tracić czas na rzeczy, które powinny dziać się automatycznie. A skoro Power Query ma do swojej dyspozycji bardzo elastyczny język M, to aż się prosi, aby go wykorzystać.
Powtarzalność to najlepszy powód, by użyć automatyzacji
W mojej pracy staram się ustawiać procesy tak, żeby działały same. o ile znajdę coś, co wykonuję drugi raz, to prawie zawsze jest to znak, iż warto to zautomatyzować.
Nazwy kolumn są właśnie takim przypadkiem. jeżeli pracujesz z:
- miesięcznymi plikami Excel,
- eksportami z systemów ERP,
- API, które zwracają różne schematy,
- danymi z wielu oddziałów/zespołów,
to gwarantuję — nazwy kolumn będą sprawiać kłopoty.

Wejdź na wyższy poziom z Power Query!
Nauczysz się gwałtownie czyścić, łączyć i automatyzować dane w Excelu dzięki Power Query. Od prostych transformacji po zaawansowane operacje jak Merge, Append czy Pivot — zobaczysz, jak uporządkować choćby najbardziej chaotyczne pliki i zamienić je w gotowy model danych. To praktyczny kurs, który da Ci kontrolę nad raportami i oszczędzi dziesiątki godzin żmudnej pracy.
Power Query + język M = szybka automatyzacja
Power Query jest fantastyczne, bo pozwala nam kombinować w trybie graficznym. Klikasz, zaznaczasz, wybierasz — i masz. Ale to tylko połowa mocy. Druga połowa to język M, który działa pod spodem każdego kroku.
I właśnie jego użyjemy, żeby wprowadzić automatyczną transformację nazw kolumn.
Tym, czego potrzebujemy, jest funkcja:
Table.TransformColumnNames()To jest baza, fundament i główny silnik całej operacji. Dzięki niej możesz wykonać dowolną transformację na każdej nazwie kolumny – jedna po drugiej, bez żadnego manualnego klikania.
Zacznijmy od małego kroku: przekształcanie nazw na małe litery
Najpierw załadujmy dane. Po wejściu do Power Query możesz dodać niestandardowy krok kodu wchodząc w pasek formuł i klikając mały przycisk fx.
Power Query automatycznie uzupełni formułę, tak aby zaczynała się od poprzedniego kroku, na przykład:
= #"Poprzedni krok"Teraz dopisujemy transformację:
= Table.TransformColumnNames(#"Poprzedni krok", Text.Lower)I gotowe. Wszystkie nazwy w tabeli zamieniają się na małe litery.
Usuwanie lub zamiana znaków specjalnych
Czasami nazwy kolumn mają:
- podkreślenia,
- myślniki,
- spacje,
- znaki specjalne.
Załóżmy, iż chcesz zamienić podkreślenie _ na spację.
Możesz dopisać:
= Table.TransformColumnNames(#"Poprzedni krok", each Text.Replace(_, "_", " "))To świetna metoda, jeżeli wiesz dokładnie, jaki znak chcesz zastąpić. I co najważniejsze – dotyczy to wszystkich kolumn jednocześnie.
Łączenie wielu transformacji w jedną linijkę
Najlepsza część zaczyna się dopiero tutaj. Możesz połączyć wszystkie swoje transformacje w jeden elegancki ciąg funkcji, które wykonują się po kolei.
Na przykład:
- najpierw zamieniam wszystko na małe litery,
- potem usuwam podkreślenia,
- na końcu stosuję Text.Proper, aby nazwy wyglądały ładnie (pierwsza litera każdej nazwy z dużej).
Kod może wyglądać tak:
= Table.TransformColumnNames( #"Poprzedni krok", each Text.Proper( Text.Replace( Text.Lower(_), "_", " " ) ) )Wynik:
Kolumna product_name zamieni się na Product Name
Kolumna SALES_TOTAL → Sales Total
Kolumna customer-id (po odpowiedniej wymianie znaków) → Customer Id
I to wszystko jedną funkcją.
Zrozumienie funkcji krok po kroku
Dla jasności, rozbijmy to:
- Text.Lower(_) – bierze bieżącą nazwę kolumny i zmienia na małe litery,
- Text.Replace(..., "_", " ") – zamienia _ na spację,
- Text.Proper(...) – sprawia, iż każde słowo zaczyna się wielką literą.
A funkcja Table.TransformColumnNames wykonuje to dla każdej kolumny w tabeli.
Tworzenie własnych standardów nazewnictwa
Ta jedna linijka może stać się Twoim standardem pracy.
Ja sam mam kilka wariantów, których używam w zależności od potrzeby.
Przykład 1: nazwy „snake_case”
= Table.TransformColumnNames(#"Poprzedni krok", each Text.Replace(Text.Lower(_), " ", "_"))Przykład 2: nazwy „CamelCase”
= Table.TransformColumnNames(#"Poprzedni krok", each Text.Combine(List.Transform(Text.Split(Text.Proper(_)," "), each Text.Start(_,1) & Text.Range(_,1)), ""))Przykład 3: bez znaków specjalnych, tylko litery i cyfry
= Table.TransformColumnNames(#"Poprzedni krok", each Text.Select(_, {"a".."z","A".."Z","0".."9"," "}))Możesz te reguły dopasować pod konkretną organizację — to idealny sposób na budowanie wewnętrznych standardów i ułatwienie współpracy w zespole.
Dodawanie funkcji z poziomu Power Query
Wszystkie te transformacje wstawisz manualnie, ale możesz też:
- kliknąć fx,
- wkleić swoją funkcję,
- ustawić ją jako krok powtarzalny w każdym nowym zapytaniu,
- albo dodać ją do własnego szablonu.
Jeśli tworzysz Power Query w ramach KajoDataSpace, raportów miesięcznych, kursów albo projektów dla klientów — ten krok staje się bezcenny.
Automatyzacja dzięki AI
W filmie pokazywałem też, iż kod M można gwałtownie wygenerować, korzystając z narzędzi AI. Wystarczy napisać:
„Stwórz funkcję M, która wyczyści nazwy kolumn: małe litery, zamiana znaków specjalnych, format Proper.”
I gotowe.
Ale warto zrozumieć podstawę, bo potem budujesz własne transformacje bardzo świadomie.
Dlaczego to podejście jest tak ważne w pracy analityka?
Automatyzacja nazw kolumn to niewielki element procesu ETL, ale ma ogromny wpływ na:
- spójność danych,
- jakość analizy,
- łatwość interpretacji,
- szybkość wdrażania nowych plików,
- niezawodność raportów.
Najwięcej błędów w Power Query lub Power BI pojawia się właśnie wtedy, gdy:
- model zmieni strukturę,
- kolumny są inaczej nazwane,
- ktoś z zespołu wprowadzi zmianę, o której nie wiesz.
Jeśli masz uniwersalną transformację, która „standaryzuje wszystko na wejściu”, to te problemy po prostu znikają.
Kiedy taki krok jest najbardziej przydatny?
Z moich doświadczeń:
- Przy łączeniu danych z wielu miesięcy.
- Przy tworzeniu raportów automatycznych (szczególnie w Power BI).
- Przy imporcie danych z wielu systemów.
- W projektach, gdzie pracuje kilka osób i każdy tworzy własne nazwy.
- W procesach, które mają działać bez nadzoru.
To jeden z tych kroków, które robisz raz, zapisujesz i używasz przez resztę kariery.
Pełny kod gotowy do użycia
Wersja pokazana w filmie wygląda tak:
= Table.TransformColumnNames( #"Poprzedni krok", each Text.Proper( Text.Replace( Text.Lower(_), "_", " " ) ) )Wklejasz. Działa. I masz spójne nazwy kolumn w całym projekcie.
Zapisz się do
newslettera
🎁 i zgarnij darmowe bonusy:
Poradnik Początkującego Analityka
Video - jak szukać pracy w IT
Regularne dawki darmowej wiedzy, bez spamu
Dzięki! To nie koniec...
...pamiętaj, by teraz wejść na maila i potwierdzić subskrybcję 🙂 Jeżeli nic nie doszło, to sprawdź skrzynkę ze spamem.* * * Gdy potwierdzisz newsletter, dostaniesz ostateczne potwierdzenie i obiecane prezenty w kolejnym mailu 🙂
Podsumowanie
Ten prosty trik w Power Query może zaoszczędzić Ci dziesiątki godzin pracy w skali roku. Jedna linijka kodu M pozwala:
- oczyścić nazwy kolumn,
- usunąć znaki specjalne,
- poprawić formatowanie,
- zapewnić spójność między plikami,
- zmniejszyć liczbę błędów w raporcie.
W mojej pracy to jeden z absolutnie podstawowych kroków, które stosuję wszędzie — w analizach, kursach, projektach dla firm i w KajoDataSpace. Zachęcam Cię do zapisania tej funkcji i wrzucania jej na samą górę swoich zapytań w Power Query.
A jeżeli ten artykuł Ci pomógł — podziel się nim w mediach społecznościowych. Dzięki temu więcej osób będzie mogło robić swoje analizy szybciej i czyściej.
Inne interesujące artykuły:
- Scalanie zapytań (Merge Queries) w Power Query – kompletny przewodnik na praktycznych przykładach
- Kolumny z przykładów w Power Query: jak tworzyć logikę bez pisania formuł
- Filtry i slicery w Power BI – kompletny przewodnik dla początkujących
- Dashboard sprzedażowy w Tableau – kompletny proces tworzenia krok po kroku
- Funkcja CALCULATE w Power BI – najważniejsza funkcja w DAX, którą musi znać każdy analityk
Autorem artykułu jest Kajo Rudziński – analytical data architect, uznany ekspert w analizie danych, twórca KajoData oraz społeczności dla analityków KajoDataSpace.
To tyle w tym temacie. Analizujcie w pokoju!
Podobał Ci się ten artykuł 🙂?
Podziel się nim w Social Mediach 📱
>>> udostępnij go na LinkedIn i pokaż, iż codziennie uczysz się czegoś nowego
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości
Wolisz oglądać 📺 niż czytać – nie ma problemu
>>> Obserwuj i oglądaj KajoData na YouTube








