Przejdź do treści

Power Query – tworzenie kalendarza z dowolnego zakresu dat

W tym odcinku zobaczysz jak stworzyć prosty kalendarz z dowolnym wyborem daty początkowej i końcowej. Bezproblemowo wyodrębnisz z daty: numer dnia tygodnia, nazwę dnia, numer miesiąca, kwartał roku oraz rok.

Na poniższym obrazku w zielonej tabelce został stworzony docelowy kalendarz na podstawie zakresu dat, który jest wskazany w niebieskiej tabeli.

Wczytywanie tabeli z datami do edytora Power Query

Stwórz w Excelu tabelkę z datami, które będzie zawierać datę początkową i końcową. Następnie wczytaj ją do edytora Power Query.

  1. Zaznacz tabelę z datami
    • Przejdź do zakładki „Dane”
    • Opcja „Z tabeli”
      • zaznacz „Moja tabela ma nagłówki”
      • kliknij „Ok”

Zmiana typu danych

Teraz zmienimy typ danych w kolumnach [data początkowa] i [data końcowa] na liczbę całkowitą. Każda data w Power Query ma swój unikatowy numer seryjny. Przykładowo nr 44562 oznacza datę 01.01.2022. Aby stworzyć zakres dat dla wyznaczonego przedziału, będziemy tą liczbę zwiększać o jeden, aż do momentu uzyskania liczby 44926, która oznacza naszą datę końcową.

  1. Zaznacz kolumny: [data początkowa] i [data końcowa]
    • Kliknij PPM na dowolną zaznaczoną kolumnę
    • Wybierz opcję „Zmień typ”
      • „Liczba całkowita”

Tworzenie listy dat ze wskazanego zakresu

Przekształciliśmy nasze daty do formatu liczbowego. Teraz możemy stworzyć listę dat podając datę początkową i końcową w odpowiednim formacie. W ten sposób zostaną wygenerowane wszystkie oczekiwane daty.

  1. Dodaj kolumnę niestandardową
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz polecenie „Kolumna niestandardowa”
  • pojawi się okno z ustawieniami kolumny niestandardowej
  • W polu nazwa nowej kolumny wpisz: „Data”
  • W pasku formuły wpisz:
{[data początkowa]..[data końcowa]}

Powyższa funkcja stworzy listę dat z podanego zakresu w formacie danych typy List. W tym formacie każda data przechowywane jest w osobnej komórce. W następnym etapie w łatwy sposób wyodrębnimy je do nowych wierszy.

Powstała nowa kolumna [data], w której wygenerowane daty są w formacie typu List. Na dole ekranu widać je w formacie seryjnym

Rozwijanie wygenerowanych dat do nowych wierszy

Teraz te docelowe daty wyodrębnimy do nowych wierszy.

  1. Kliknij w ikonę strzałek obok kolumny [Data]
    • Wybierz opcję „Rozwiń do nowych wierszy”

Zmiana typu danych

Przekonwertujemy seryjny numer na datę w formacie: dd-mm-rrrr

  1. Zaznacz kolumny: [data początkowa], [data końcowa], [data]
    • Kliknij PPM w dowolną zaznaczoną kolumnę
    • Wybierz opcję: „Zmień typ”
      • „Data”

Wyodrębnianie roku

  1. Zaznacz kolumnę [data]
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz opcję „Data”
    • Następnie „Rok”
      • „Rok”

Wyodrębnianie kwartału

  1. Zaznacz kolumnę [Data]
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz opcję „Data”
    • Następnie „Kwartał”
      • „Kwartał Roku”

Wyodrębnianie numeru miesiąca

  1. Zaznacz kolumnę [Data]
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz opcję „Data”
    • Następnie „Miesiąc”
      • „Miesiąc”

Wyodrębnianie numeru dnia miesiąca

  1. Zaznacz kolumnę [Data]
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz opcję „Data”
    • Następnie „Dzień”
      • „Nazwa dnia”

Wyodrębnianie nazwy dnia

  1. Zaznacz kolumnę [Data]
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz opcję „Data”
    • Następnie „Dzień”
      • „Nazwa dnia”

Wyodrębnianie numeru dnia tygodnia

  1. Zaznacz kolumnę [Data]
    • Przejdź do zakładki „Dodaj kolumnę”
    • Wybierz opcję „Data”
    • Następnie „Dzień”
      • „Dzień tygodnia”

Zmiana numeracji dni tygodnia

W obecnej numeracji dni tygodnia, poniedziałek zaczyna się od 0. Zmienimy numerację w taki sposób, aby ten dzień zaczynał się od 1.

  1. Na liście zastosowane kroki kliknij w krok „Wstawiono dzień tygodnia”
    • W pasku formuły zmodyfikuj tą części formuły:
Date.DayOfWeek([data]), Int64.Type

na

Date.DayOfWeek([data]) +1, Int64.Type

za kolumną [data] została wpisana wartość +1, która zwiększy każdy numer dnia tygodnia o 1.

Stworzyliśmy nasz kalendarz. Finalnie wygląda tak:

Załadowanie zapytania do nowego arkusza

Załadujemy kalendarz do nowego arkusza w Excelu.

  1. Przejdź do zakładki „Narzędzia Główne”
    • Wybierz opcję „Zamknij i załaduj”

Kalendarz został załadowany do nowego arkusza