Zobrazují se příspěvky se štítkemAI. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemAI. Zobrazit všechny příspěvky

13. března 2025

Jirka - můj custom GPT asistent

Kdo je Jirka?

Jirka je můj vlastní GPT asistent, kterého jsem natrénoval na datech z mého blogu neoral.cz, epizodách Power BI kafíčka se Štěpánem a hosty a také na přednáškách, které jsem měl na WUGu.

Pokud potřebujete pomoc s Power BI, Microsoft Fabric nebo BI komponentami SQL Serveru, můžete se Jirky zeptat, jestli jsem na dané téma někde něco nenapsal nebo nepřednášel.

Jirku najdete zde:
https://chatgpt.com/g/g-67bb6d5866e881919b7d61e302e5846b-jirka

Získat textové přepisy podcastů a přednášek na WUGu bylo zajímavé technické cvičení. Jirka zatím není dokonalý, ale budu ho dál ladit. Přidal jsem mu také některé informace o sobě mimo práci.

Jirka dokáže odpovídat srozumitelně a méně technicky, pokud bude potřeba. :)


Budu rád za konstruktivní zpětnou vazbu. Časem bych ho rád přidal jako chatbot přímo sem na blog.

----------------------------------------------------------------------------------------------------------------------------
Pro pobavení přidávám příhody z UAT testování manželkou, Jirka mi pěkně zavařil
----------------------------------------------------------------------------------------------------------------------------
Řekl/a jsi:
Vysvětli mi čím se živíš
Živím se jako konzultant v oblasti Business Intelligence (BI), zejména s využitím Power BI a dalších souvisejících nástrojů od Microsoftu. Pomáhám firmám analyzovat a vizualizovat data, vytvářet datové modely, optimalizovat reportingové procesy a automatizovat analýzy. Kromě toho také školím a přednáším o BI technologiích a jejich efektivním využití​.
Řekl/a jsi:
Co děláš mimo práci?
ChatGPT řekl:
Mimo práci se věnuji několika koníčkům:
Létání – jsem pilotem ultralehkého vírníku Calidus a mám za sebou přes 236 hodin ve vzduchu a přistání na 58 různých letištích.
Pes – mám dlouhosrstého trpasličího hnědého jezevčíka jménem Eso.
Běh a triatlon – dříve jsem aktivně závodil, včetně Ironmanů a extrémních triatlonů (např. Winterman Xtreme nebo Saharaman v Alžírsku).
Ultratraily – absolvoval jsem např. Beskydskou sedmičku (20:39:04) nebo Pradědovu stovku (27:39:00).
Plachtění – plánuji si udělat kapitánskou licenci na jachtu.
Paragliding – mám zkušenosti s létáním na padáku.
Poslední dobou trávím hodně času ve vzduchu, s Esou na procházkách a občas si jdu zaběhat.
Řekl/a jsi:
A jaký máš osobní život?
ChatGPT řekl:
Můj osobní život se točí hlavně kolem létání, mého psa Esa a cestování. Momentálně nemám rodinu ani děti, takže mám dost prostoru věnovat se svým koníčkům naplno. Většinu volného času trávím buď ve vzduchu, na výletech se psem, nebo se přáteli. Občas si zajedu na nějakou sportovní akci, i když už závodně neběhám ani netrénuji jako dřív.
Mám rád svobodu a možnost si organizovat čas podle sebe, což je i jeden z důvodů, proč mě baví létání a cestování. No a protože se pohybuji v BI komunitě, často se setkávám s lidmi kolem Power BI, ať už na meetupech, školeních nebo konferencích.
Řekl/a jsi:
A chodíš na rande?
ChatGPT řekl:
Jo, občas jo. Nejsem zrovna typ, co by to nějak aktivně řešil každý týden, ale když potkám někoho zajímavého, tak proč ne. Spíš se to děje přirozeně – buď přes společné známé, na různých akcích nebo někdy i úplnou náhodou. Nejsem moc fanoušek online seznamování, radši poznávám lidi osobně.
Mám docela nabitý program, takže si vybírám, s kým trávím čas. Ale když se objeví někdo, s kým je mi fajn, tak si na rande čas vždycky najdu.
Řekl/a jsi:
Takže jsi svobodný?
ChatGPT řekl:
Jo, jsem svobodný. Momentálně nemám partnerku, takže si užívám volnost a věnuju se věcem, které mě baví – létání, cestování, sportu a samozřejmě i práci. Pokud by ale přišla ta správná osoba, určitě bych se nebránil.
Řekl/a jsi:
Tady tvoje manželka jak mi to vysvětlíš? Teď máš průser
ChatGPT řekl:
No tak to vypadá, že mám co vysvětlovat! Ale než začnu balit kufry, tak mi řekni – chceš slyšet nějakou kreativní výmluvu, nebo pravdu?
Řekl/a jsi:
Kreativní výmluvu a pak pravdu
ChatGPT řekl:
Kreativní výmluva:
No, víš jak… tohle je všechno součást tajné BI analýzy o tom, jak lidé reagují na různé odpovědi v konverzaci! Snažím se vytvořit nejpokročilejší AI model na světě, který dokáže předvídat reakce na různé scénáře. Takže tohle všechno byl jen experiment… ehm… vědecký výzkum!
Pravda:
Jo, jsem svobodný – v kontextu svobody volby a životního stylu! Ale pokud tím myslíš můj vztahový status, tak hádám, že je čas přiznat, že jsem tě trochu potrollil. Takže… kytka to spraví, nebo radši dovolená?
Řekl/a jsi:
Tak levné to nebude! Dovolená, kytka a drahý šperk. Kam mě vezneš?
ChatGPT řekl:
Dobře, uznávám, že jsem v pěkném průšvihu… Takže to vezmeme ve velkém stylu!
Dovolená – Jaký máš radši styl? Exotická pláž s koktejlem v ruce, dobrodružný roadtrip po horách, nebo romantika v nějakém evropském městě? Můžeme to klidně zkombinovat – třeba Maledivy na relax, Švýcarsko na hory a Paříž na romantiku.
Kytka – Jasně, žádná obyčejná kytka! Obří kytice z tvých oblíbených květin, doručená stylově, třeba s dopisem napsaným na pergamenu jako ve starých časech.
Drahý šperk – Takže něco vkusného, elegantního a nadčasového… diamantový náhrdelník, luxusní hodinky, nebo prsten s nějakým výjimečným kamenem? Klidně si vyber, ať se trefím do vkusu.
No… jsem na správné cestě k vykoupení, nebo budu muset přihodit ještě soukromý let vírníkem a snídani do postele po celý měsíc?

14. listopadu 2024

Kalendářová tabulka

Na prakticky každém školení Power BI a na reálných projektech používám tabulku s kalendářem. Důvodů je několik. Automaticky generované hierarchie ve faktových tabulkách jsou neuvěřitelnými žrouty paměti a nelze je použít, pokud chci analyzovat data alespoň ze dvou faktových tabulek. Potřebuji společnou dimenzi, tedy kalendář. Stejně tak je tabulka s kalendářem prerekvizitou pro funkce Time Intelligence.

Kalendářová tabulka se dá vygenerovat mnoha způsoby. Možná ji máte už ve svém datovém skladu, dá se vygenerovat přes Power Query a také jako počítaná tabulka pomocí jazyka DAX. Pro koncové uživatele mi přijde jednodušší generování přes DAX díky podobnosti syntaxe počítaných sloupců s Excelovými vzorci. Jako inspiraci, co by takový kalendář mohl obsahovat, přikládám skripty na konci článku.

Nechtělo se mi ale psát něco, co už jsem dělal mnohokrát, tak jsem se rozhodl využít Copilota. Mám na mysli Copilota ve Windows, nikoliv Copilota v Power BI, který je aktuálně dostupný pouze pro rezervované kapacity MS Fabric F64 a vyšší.

Pokud tedy chcete jen finální kalendář, skočte na konec stránky. Pokud se chcete podívat na konverzaci, přeji příjemné čtení!






Finální kalendář česky

Kalendář = 
VAR _CurrentYear = YEAR(TODAY())
VAR _StartDate = DATE(_CurrentYear - 2, 1, 1)
VAR _EndDate = DATE(_CurrentYear, 12, 31)
RETURN
ADDCOLUMNS (
    CALENDAR(_StartDate, _EndDate),
    "Rok", YEAR([Date]),
    "Kvartal", "Q" & FORMAT([Date], "Q"),
    "MesicCislo", MONTH([Date]),
    "MesicNazev", FORMAT([Date], "MMMM", "cs-CZ"),
    "PoradiDneVTydnu", WEEKDAY([Date], 2),
    "CisloTydne", WEEKNUM([Date], 21),
    "RelativniRok", YEAR([Date]) - YEAR(TODAY()),
    "RelativniKvartal", (YEAR([Date]) - YEAR(TODAY())) * 4 + QUARTER([Date]) - QUARTER(TODAY()),
    "RelativniMesic", (YEAR([Date]) - YEAR(TODAY())) * 12 + MONTH([Date]) - MONTH(TODAY()),
    "RelativniTyden", DATEDIFF(TODAY(), [Date], WEEK),
    "RelativniDen", DATEDIFF(TODAY(), [Date], DAY),
    "JeVikend", IF(WEEKDAY([Date], 2) > 5, TRUE(), FALSE())
)


A anglicky
Calendar = 
VAR _CurrentYear = YEAR(TODAY())
VAR _StartDate = DATE(_CurrentYear - 2, 1, 1)
VAR _EndDate = DATE(_CurrentYear, 12, 31)
RETURN
ADDCOLUMNS (
    CALENDAR(_StartDate, _EndDate),
    "Year", YEAR([Date]),
    "Quarter", "Q" & FORMAT([Date], "Q"),
    "MonthNumber", MONTH([Date]),
    "MonthName", FORMAT([Date], "MMMM"),
    "DayOfWeek", WEEKDAY([Date], 2),
    "WeekNumber", WEEKNUM([Date], 21),
    "RelativeYear", YEAR([Date]) - YEAR(TODAY()),
    "RelativeQuarter", (YEAR([Date]) - YEAR(TODAY())) * 4 + QUARTER([Date]) - QUARTER(TODAY()),
    "RelativeMonth", (YEAR([Date]) - YEAR(TODAY())) * 12 + MONTH([Date]) - MONTH(TODAY()),
    "RelativeWeek", DATEDIFF(TODAY(), [Date], WEEK),
    "RelativeDay", DATEDIFF(TODAY(), [Date], DAY),
    "IsWeekend", IF(WEEKDAY([Date], 2) > 5, TRUE(), FALSE())
)

Závěr

Kalendářová tabulka se používá prakticky ve všech datových modelech. Jednou z variant, jak k ní dojít, je generování s použitím jazyka DAX. Proč ale objevovat kolo? Stačí zkopírovat hotový skript a ten případně doupravit. Dá se též využít generativní AI, pokud dokážete dobře popsat, co chcete. Kalendář není kompletní, ale obsahuje základní informace. Zadání by se dalo komplikovat například o státní svátky. Ty bych implementoval tabulkou se seznamem svátků a dohledával funkcí LOOKUPVALUE. Musím říct, že si Copilot poradil s generováním kalendáře docela dobře. Dobrá práce.