Czasami zachodzi potrzeba obliczenia poziomu w hierarchii. Może to dotyczyć zarówno struktury organizacyjnej (np. liczby przełożonych), jak i struktury projektu, gdzie należy określić, w ilu zadaniach nadrzędnych zawiera się analizowane zadanie.

Obliczanie poziomu w hierarchii pracowników przy pomocy Power Query

W tym artykule rozważymy strukturę organizacji (Rysunek 1), która zawiera osoby z różnych działów i na różnych stanowiskach. Wyznaczymy poziom w hierarchii pracownika z pomocą Power Query i stworzonej przez nas funkcji rekurencyjnej (funkcji, która będzie uruchamiać samą siebie).

Ręczne podejście

Jeśli musielibyśmy obliczyć ręcznie poziomy w hierarchii, nasze podejście dla przykładowej Joanny Maj (Manager IT, Id=6) wyglądałoby mniej więcej tak:

  1. Odnalezienie wiersza z analizowanym pracownikiem.
  2. Sprawdzenie ID przełożonego dla Joanny => 3.
  3. Zwiększenie poziomu hierarchii o 1.
  4. Odnalezienie wiersza z przełożonym (Rafał Pawłowski).
  5. Sprawdzenie ID przełożonego dla Rafała => 1.
  6. Zwiększenie poziomu hierarchii o 1.
  7. Odnalezienie wiersza z przełożonym (Adam Nowicki).
  8. Sprawdzenie ID przełożonego dla Adama => pusta komórka (nie ma przełożonego).
  9. Zakończenie procesu => zakładając, że Prezes jest na 1 poziomie hierarchii, to w trakcie ręcznej analizy zwiększyliśmy poziom hierarchii dwukrotnie. Oznacza to, że Joanna Maj jest na trzecim poziomie hierarchii w firmie.

Możemy zaobserwować, że przy podejściu ręcznym mamy powtarzające się czynności:

  1. Szukanie wiersza pracownika/przełożonego.
  2. Sprawdzanie ID przełożonego.
  3. Zwiększanie poziomu hierarchii.

Jest to pętla czynności, które musimy systematycznie powtarzać. Z doświadczeń programistów wiemy, że każda pętla musi mieć warunek wyjścia, żeby nie wykonywać się w nieskończoność. W naszym przykładzie jest nim odnalezienie pracownika, dla którego kolumna ID przełożonego jest pusta (w Power Query znajduje się w niej wartość null).

Załadowanie danych do Power Query

Po przeprowadzeniu analizy czynności możemy przejść do pobrania danych do Power Query i napisania funkcji z kodem M, który przekształca opis, na konkretne funkcje/przekształcenia.

Żeby załadować dane z tabeli Excela do Edytora Power Query, zaznaczamy w niej pojedynczą komórkę, a następnie na karcie Dane klikamy w polecenie „Z tabeli/zakresu” (Rysunek 2).

Jego kliknięcie spowoduje załadowanie tabeli do Power Query. W większości sytuacji do zapytania zostanie dodany automatycznie krok wykrywający typy danych, ale nie jest istotny dla uzyskania poprawnego wyniku, więc nawet jeśli krok się nie doda, możemy przejść do dalszych przekształceń.

W pierwszej kolejności warto pamiętać zmienić domyślną nazwę zapytania (StrukturaFirmy – nazwa tabeli, z której zostały pobrane dane) na bardziej odpowiadającą oczekiwanemu wynikowi, np.: Hierarchia.

W kolejnym kroku rozpoczynamy tworzenie funkcji niestandardowej w języku M. Ten proces zaczynamy od dodania pustego zapytania, czyli na karcie Narzędzia główne edytora Power Query rozwijamy polecenie „Nowe źródło”, przechodzimy do elementu „Inne źródła” i wybieramy opcję „Puste zapytanie” (Rysunek 3).

Pozostałe 62% artykułu dostępne jest dla zalogowanych użytkowników serwisu.

Jeśli posiadasz aktywną prenumeratę przejdź do LOGOWANIA. Jeśli nie jesteś jeszcze naszym Czytelnikiem wybierz najkorzystniejszy WARIANT PRENUMERATY.

Zaloguj Zamów prenumeratę Kup dostęp do artykułu

Możesz zobaczyć ten artykuł, jak i wiele innych w naszym portalu Controlling 24. Wystarczy, że klikniesz tutaj.

Ulubione Drukuj

Zobacz również

Tekst otwarty Tylko on-line nr 11-12/2026

Mobilna drukarka fiskalna czy kasa przenośna: co się bardziej opłaca?

Mobilna drukarka fiskalna czy kasa przenośna: co się bardziej opłaca?

Mobilne urządzenia fiskalne występują w dwóch odmianach: jako samodzielna kasa przenośna oraz jako mobilna drukarka fiskalna, która współpracuje z aplikacją na smartfonie lub laptopie. Różnią się autonomią, funkcjami i kosztami. Artykuł pomaga ocenić, które rozwiązanie lepiej odpowiada na potrzeby Twojej firmy.

Czytaj więcej

Rabat, który zabija marżę. W jaki sposób controlling powinien ograniczać samowolę handlowców w negocjacjach cenowych?

Rabat, który zabija marżę. W jaki sposób controlling powinien ograniczać samowolę handlowców w negocjacjach cenowych?

Erozja marży rzadko wygląda jak jedna duża decyzja – znacznie częściej to suma dziesiątek małych ustępstw cenowych, z których każde z osobna wydaje się uzasadnione, a razem potrafią pochłonąć kilka punktów procentowych rentowności rocznie, zanim ktokolwiek to zauważy w raporcie miesięcznym. Rola controllingu polega tu nie na zakazywaniu rabatów, lecz na uczynieniu ich kosztu widocznym w momencie podejmowania decyzji, a nie dopiero w zamkniętym wyniku kwartału. W wielu firmach pierwszym sygnałem, że rabaty wymykają się spod kontroli nie jest wcale spadek przychodu. Wręcz przeciwnie – przychód często rośnie, bo niższa cena ułatwia domykanie transakcji. Sygnałem jest rosnąca rozbieżność między dynamiką obrotu a dynamiką zysku brutto: sprzedaż świętuje rekordowy miesiąc, a marża w tym samym okresie stoi w miejscu albo spada. To właśnie w tym momencie rola controllingu przestaje być czysto sprawozdawcza, a zaczyna być zapobiegawcza.

Czytaj więcej

Polecamy

Przejdź do

Partnerzy

Reklama

Polityka cookies

Dalsze aktywne korzystanie z Serwisu (przeglądanie treści, zamknięcie komunikatu, kliknięcie w odnośniki na stronie) bez zmian ustawień prywatności, wyrażasz zgodę na przetwarzanie danych osobowych przez EXPLANATOR oraz partnerów w celu realizacji usług, zgodnie z Polityką prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.

Usługa Cel użycia Włączone
Pliki cookies niezbędne do funkcjonowania strony Nie możesz wyłączyć tych plików cookies, ponieważ są one niezbędne by strona działała prawidłowo. W ramach tych plików cookies zapisywane są również zdefiniowane przez Ciebie ustawienia cookies. TAK
Pliki cookies analityczne Pliki cookies umożliwiające zbieranie informacji o sposobie korzystania przez użytkownika ze strony internetowej w celu optymalizacji jej funkcjonowania, oraz dostosowania do oczekiwań użytkownika. Informacje zebrane przez te pliki nie identyfikują żadnego konkretnego użytkownika.
Pliki cookies marketingowe Pliki cookies umożliwiające wyświetlanie użytkownikowi treści marketingowych dostosowanych do jego preferencji, oraz kierowanie do niego powiadomień o ofertach marketingowych odpowiadających jego zainteresowaniom, obejmujących informacje dotyczące produktów i usług administratora strony i podmiotów trzecich. Jeśli zdecydujesz się usunąć lub wyłączyć te pliki cookie, reklamy nadal będą wyświetlane, ale mogą one nie być odpowiednie dla Ciebie.