Ultimátna časová tabuľka v Power Query

Pri časových analýzach v Power BI, PowerPivote a SSAS Tabulare potrebujete vždy časovú tabuľku v dátovom modeli. O to viac, ak používate funkcie Time Intelligence. Vtedy musí časová tabuľka spĺňať viacero kritérií. A aj preto tu máme ultimátnu časovú tabuľku, aktuálne vo verzii 2.06, aby ste ju mohli rýchlo a ľahko použiť vo svojich reportoch.

Ultimátna časová tabuľka vyzerá takto – náhľad prvých zopár riadkov a stĺpcov:

Skript pre ultimátnu časovú tabuľku je kompatibilný s Power Query v týchto produktoch:

  1. Power Query v Excel 365 a Excel 2010/2013/2016/2019/2021
  2. Power Query v Excel 365 pre Mac
  3. Power BI Desktop (pre cloud, aj pre PBI RS)
  4. Power BI cloud / Služba Power BI
  5. Power BI Report Server
  6. Brána údajov Power BI / Power Platformy
  7. Power BI Dataflows / Toky údajov Power BI
  8. Power BI Datamarts
  9. Power Automate
  10. Databáza Dataverse (Power Apps, MS Teams, MS Dynamics, a pod.)
  11. SQL Server Analysis Services (SSAS Tabular)
  12. Azure Analysis Services
  13. SQL Server Integration Services (SSIS) – Power Query Source
  14. Azure Data Factory (ADF)

Náhľad skriptu:

// ultimátna časová tabuľka, v2.06
// stiahnuté z webu www.powerpivot.sk
let
    pociatocnyRok = 2020,
    koncovyRok = 2024,  // zadajte Date.Year(DateTime.FixedLocalNow()) pre aktuálny rok
    jazyk = "sk-SK",    // slovenčina = sk-SK, čeština = cs-CZ, angličtina = en-US, ...
    nazvyStlpcovBezDiakritiky = false,   // zadajte true, ak chcete mať názvy stĺpcov bez diakritiky (ľahšie sa tak píšu vzorce)
    fiskalnyRokZaciatokMesiac = 3,
    fiskalnyRokPredpona = "FY",
    polrokPredpona = "H",
    kvartalPredpona = "Q",
    mesiacPredpona = "M",
    tyzdenPredpona = "W",
    prvyDenVTyzdni = Day.Monday,

    pociatocnyDatum = #date(pociatocnyRok, 1, 1),
    koncovyDatum = #date(koncovyRok, 12, 31), 
    trvanie = Duration.Days(Duration.From(koncovyDatum - pociatocnyDatum)) + 1,
    ........ koniec náhľadu skriptu

Odkaz na stiahnutie

Celý skript v jeho aktuálnej verzii si môžete stiahnuť na tomto odkaze.

Návod na použitie skriptu nájdete v tomto článku.

Novinky vo verzii 2.06: (23.2.2024)

  • pridaný parameter pre zadanie prvého dňa v týždni, pre správny výpočet týždňových polí,
  • pridané 2 stĺpce s dekádou mesiaca,
  • pridané indikačné stĺpce, či je daný dátum v aktuálnom týždni, ISO týždni, mesiaci, štvrťroku, polroku, roku, ISO roku,
  • zjednodušený krok premenovania stĺpcov do zvoleného jazyka.

Novinky vo verzii 2.05: (28.5.2023)

  • pridaná medzipamäť pre výsledok zo skriptu.

Novinky vo verzii 2.04: (5.2.2023)

  • pridané stĺpce s poradovým číslom polroku, štvrťroku a mesiaca,
  • pridaný stĺpec s indikáciou aktuálneho dátumu,
  • premenované stĺpce s poradovým číslom týždňa a ISO týždňa,
  • pridaná kontrola použitia iba povolených jazykov,
  • opravené formátovanie prelomu fiškálnych rokov v krátkom formáte pre roky 2000-2009,
  • vylepšené chybové hlásenia.

Novinky vo verzii 2.03: (13.1.2023)

  • pridaný preklad pre nemeckú a rakúsku nemčinu,
  • skrátený a optimalizovaný skript.

Novinky vo verzii 2.02: (8.1.2023)

  • možnosť vybrať si cez parameter skriptu, či chcete názvy stĺpcov s diakritikou alebo bez diakritiky,
  • pridané reportingové verzie fiškálnych období,
  • pridaný výpočet plánovacieho roku podľa normy ISO 8601,
  • pridané reportingové verzie týždňov v roku + ISO verzie,
  • pridaná konfigurácia predpon časových období pre reportingové verzie stĺpcov,
  • pridané sekvenčné číslo týždňa od začiatku histórie (využiteľné pre reporting po týždňoch na prelome rokov, napr. pre filter “za posledných X týždňov”) + ISO verzia,
  • mierne preusporiadaný a vyčistený skript.

Novinky vo verzii 2.01: (15.10.2021)

  • fix pre staršie verzie Power Query pre Excel,
  • fixnuté preklepy v českom preklade názvov stĺpcov,
  • mierne preusporiadaný skript.

Novinky vo verzii 2.00: (13.10.2021)

  • podpora viacerých jazykov (slovenčina, čeština, angličtina),
  • podpora pre fiškálne roky,
  • podpora UNIX timestampov,
  • pridané číslovanie týždňov podľa normy ISO 8601 (u nás nazvané ako “plánovací týždeň”, resp. “týždeň v plánovacom kalendári”),
  • pridaný indikátor víkendu,
  • pridané ID dátumu a index dátumu,
  • pridané kombinované stĺpce s rokom (Rok-Štvrťrok, Rok-Mesiac a pod.),
  • vyčistený a uprataný skript.

5 komentárov k “Ultimátna časová tabuľka v Power Query

  • 15. októbra 2021 at 8:52
    Permalink

    Novy script vyhadzuje chybu. Stary fungoval v poriadku.

    Expression.Error: Do funkcie, ktorá očakáva hodnoty v počte aspoň 2 až 4, sa odovzdal počet argumentov: 5.
    Podrobnosti:
    Pattern=
    Arguments=List

    Odpovedať
    • 15. októbra 2021 at 21:03
      Permalink

      Fixnuté vo verzii 2.01

      Odpovedať
  • 8. decembra 2023 at 11:10
    Permalink

    Možno by bolo užitočné do scriptu zakomponovať premennú pre deň, ktorým sa začína týždeň (nedeľa/pondelok/príp.iný deň).
    Podľa ISO8601 by to mal byť pondelok, v súčasnom stave script používa nedeľu (resp.nepoužíva voliteľný parameter začiatku týždňa v prísl. príkaze) pre kalendárny aj ISO týždeň.

    Odpovedať
    • 17. decembra 2023 at 16:47
      Permalink

      Dobrý deň,
      Vďaka za pripomienku. Zapracujem to tam do ďalšej verzie.

      Odpovedať
    • 23. februára 2024 at 14:28
      Permalink

      Zapracované vo verzii 2.06.

      Odpovedať

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *