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:
- Power Query v Excel 365 a Excel 2010/2013/2016/2019/2021
- Power Query v Excel 365 pre Mac
- Power BI Desktop (pre cloud, aj pre PBI RS)
- Power BI cloud / Služba Power BI
- Power BI Report Server
- Brána údajov Power BI / Power Platformy
- Power BI Dataflows / Toky údajov Power BI
- Power BI Datamarts
- Power Automate
- Databáza Dataverse (Power Apps, MS Teams, MS Dynamics, a pod.)
- SQL Server Analysis Services (SSAS Tabular)
- Azure Analysis Services
- SQL Server Integration Services (SSIS) – Power Query Source
- 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
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.
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
Fixnuté vo verzii 2.01
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ň.
Dobrý deň,
Vďaka za pripomienku. Zapracujem to tam do ďalšej verzie.
Zapracované vo verzii 2.06.