Blog JSystems - uwalniamy wiedzę!

Szukaj

Power Query w Excelu, Power BI i Fabric

Nagłówki kolumn to Column1, Column2 - jak ustawić prawdziwe nagłówki w Power Query

W skrócie

  • W Power Query kolumny nazywają się Column1, Column2, a prawdziwe nagłówki stoją w pierwszym wierszu danych albo niżej, pod tytułem raportu i pustą linią.
  • Źródło bez struktury, na przykład plik CSV, nie dostarcza nazw kolumn, więc Power Query nadaje nazwy domyślne. Krok Zmieniono typ zapisany z tymi nazwami przestaje działać po promowaniu nagłówków.
  • Usuń wiersze nad nagłówkami, kliknij Użyj pierwszego wiersza jako nagłówków, a krok typu odwołujący się do Column1 usuń i ustaw typy ponownie poleceniem Wykryj typ danych.

Na ten problem trafiasz przy imporcie eksportu z systemu: w Power Query kolumny nazywają się Column1, Column2, a nagłówki widać jako zwykły wiersz danych, często pod tytułem raportu i pustą linią. Pokazujemy, jak przenieść właściwy wiersz do nagłówków, dlaczego zaraz potem może pojawić się błąd o kolumnie „Column1” i jak go usunąć. Przykład pochodzi z miesięcznych plików sprzedaży fikcyjnej sieci Nordvella z naszego kursu.

Jak to wygląda w praktyce

W podglądzie nagłówki kolumn to Column1, Column2 i kolejne, a nazwy kolumn, takie jak Data, Nr paragonu czy Sklep, stoją w siatce jako wiersz danych. W eksporcie z kursu nad nimi są jeszcze dwa wiersze tytułu i jedna pusta linia.

Druga odsłona problemu pojawia się po naprawie. Gdy przy łączeniu plików z folderu promujesz nagłówki w zapytaniu przykładowym, zapytanie główne pokazuje żółty pasek z komunikatem:

Expression.Error: Nie można znaleźć kolumny „Column1” w tabeli.
Szczegóły:
    Column1

Angielski oryginał brzmi Expression.Error: The column 'Column1' of the table wasn't found. Pasek formuły pokazuje wtedy krok Zmieniono typ z listą typów dla kolumn Column1, Column2 i dalszych.

Błąd Power Query Expression.Error: Nie można znaleźć kolumny Column1 w tabeli w kroku Zmieniono typ zapytania Sprzedaz_miesieczna
Expression.Error: Nie można znaleźć kolumny „Column1” w tabeli. Pasek formuły pokazuje automatyczny krok Zmieniono typ z nazwami Column1, Column2, których po promowaniu nagłówków już nie ma.

Dlaczego tak się dzieje

Plik tekstowy nie ma osobnego miejsca na nazwy kolumn, więc Power Query nazywa kolumny domyślnie. Sprawdziliśmy to w polskim Excelu: plik CSV z tytułem raportu, pustą linią i wierszem nagłówków wczytany funkcją Csv.Document miał kolumny Column1 i Column2. Po pominięciu dwóch pierwszych wierszy i promowaniu nagłówków kolumny nazywały się Data i Sklep.

Table.PromoteHeaders(Table.Skip(Źródło, 2))
// nazwy kolumn: Data, Sklep

Power Query próbuje wykrywać nagłówki sam (w ustawieniach zapytań ta opcja nosi nazwę Wykrywaj nagłówki i typy kolumn dla źródeł bez struktury), ale promowanie zawsze dotyczy pierwszego wiersza. Gdy plik zaczyna się od tytułu raportu, w pierwszym wierszu nie ma nazw kolumn.

Błąd z „Column1” ma inne źródło. Przy łączeniu plików z folderu zapytanie główne dostaje krok Zmieniono typ z nazwami kolumn z chwili łączenia, czyli Column1, Column2. Po promowaniu nagłówków w zapytaniu przykładowym te nazwy znikają, a krok dalej ich szuka.

Jak to rozwiązać krok po kroku

  1. Ustal, w którym wierszu stoją nagłówki. Jeśli nad nimi są tytuł i puste linie, na karcie Strona główna rozwiń Usuń wiersze, wybierz Usuwanie pierwszych wierszy i wpisz ich liczbę. W kursie to 3: dwa wiersze tytułu i jeden pusty. Przy łączeniu plików z folderu rób to w zapytaniu Przekształć przykładowy plik, wtedy krok obejmie wszystkie pliki.
  2. Kliknij Użyj pierwszego wiersza jako nagłówków na karcie Strona główna (to samo polecenie jest na karcie Przekształć). Na liście Zastosowane kroki pojawi się krok Nagłówki o podwyższonym poziomie, czyli funkcja Table.PromoteHeaders.
  3. Power Query od razu dodaje po promowaniu automatyczny krok Zmieniono typ. W zapytaniu przykładowym usuń go krzyżykiem przy nazwie kroku, bo typy ustawisz raz, na połączonej tabeli.
  4. Przejdź do zapytania głównego, w kursie Sprzedaz_miesieczna. Jeśli widzisz żółty pasek z kolumną „Column1”, kliknij ostatni krok Zmieniono typ i sprawdź pasek formuły. Gdy wymienia Column1, Column2, usuń ten krok krzyżykiem.
  5. Ustaw typy na nowo: kliknij nagłówek pierwszej kolumny, naciśnij Ctrl+A i na karcie Przekształć kliknij Wykryj typ danych. Nowy krok typu zapisze już prawdziwe nazwy kolumn.
  6. Jeśli po promowaniu któraś kolumna dalej nazywa się na przykład Column3, sprawdź, co było w tej komórce pierwszego wiersza. W naszym teście pusta komórka zostawiła nazwę Column2, a komórka z datą nazwę Column3, bo według opisu funkcji Table.PromoteHeaders domyślnie w nagłówki zamieniane są tylko tekst i liczby. Nadaj nazwę dwuklikiem w nagłówku albo dopisz w formule kroku opcję [PromoteAllScalars = true], po której data stała się nagłówkiem „01.01.2026”.

Jak sprawdzić, że zadziałało

Po naprawie nagłówki kolumn mają właściwe nazwy, w siatce nie ma już wiersza z nazwami ani tytułu raportu, a zapytanie główne pokazuje dane bez żółtego paska. Otwórz filtr pierwszej kolumny i przejrzyj listę wartości: nie powinno na niej być słowa Data ani tytułu raportu. Jeśli dwie kolumny miały ten sam nagłówek, Power Query nada drugiej nazwę z przyrostkiem, w naszym teście „Sklep_1”, więc sprawdź też, czy nie trzeba jej zmienić.

Żeby problem nie wrócił, kroki usuwania wierszy i promowania nagłówków trzymaj w zapytaniu przykładowym, a typy ustawiaj jednym krokiem na końcu zapytania głównego. Gdy eksport zmieni liczbę wierszy tytułu, poprawisz jedną liczbę w kroku Usuwanie pierwszych wierszy.

Wróć do listy: 88 najczęstszych pytań i problemów związanych z Power Query

Baner szkolenia Microsoft Excel - Power Query w JSystems z edytorem Power Query na ekranie laptopa

Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Dlaczego Power Query nazywa kolumny Column1, Column2?
Bo źródło nie dostarczyło nazw kolumn albo nagłówki nie stoją w pierwszym wierszu. Tak jest na przykład w pliku CSV, który zaczyna się od tytułu raportu i pustej linii. Usuń wiersze nad nagłówkami i kliknij Użyj pierwszego wiersza jako nagłówków.
Skąd błąd Nie można znaleźć kolumny Column1 po ustawieniu nagłówków?
Wcześniejszy krok, najczęściej automatyczny Zmieniono typ, odwołuje się do starych nazw Column1, Column2, których po promowaniu nagłówków już nie ma. Usuń ten krok krzyżykiem na liście Zastosowane kroki i ustaw typy ponownie, na przykład poleceniem Wykryj typ danych na karcie Przekształć.
Dlaczego po promowaniu jedna kolumna nadal nazywa się Column3?
W pierwszym wierszu tej kolumny była pusta komórka albo wartość innego typu niż tekst i liczba, na przykład data. Funkcja Table.PromoteHeaders domyślnie zamienia w nagłówki tylko tekst i liczby. Nadaj nazwę ręcznie dwuklikiem w nagłówku albo dodaj w kodzie opcję PromoteAllScalars ustawioną na true.
Jak cofnąć promowanie nagłówków?
Usuń krok Nagłówki o podwyższonym poziomie albo użyj polecenia Użyj nagłówków jako pierwszego rzędu spod strzałki obok przycisku Użyj pierwszego wiersza jako nagłówków. Druga droga przydaje się, gdy nagłówek zajmuje dwa wiersze i chcesz je najpierw połączyć w jeden.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...