Kaip DAX supranta laiką: Time Intelligence paprastai

Time Intelligence — Power BI | analytics.bi
Time Intelligence funkcijos leidžia Power BI ataskaitose analizuoti laiką: skaičiuoti rezultatą nuo metų pradžios, lyginti su praėjusiais metais ar vertinti paskutinius kelis mėnesius.

Laiko analizė yra viena dažniausių Power BI ataskaitų temų. Beveik kiekvienoje analizėje norime žinoti, kaip sekėsi šį mėnesį, kaip rezultatas atrodo nuo metų pradžios arba kaip šis laikotarpis palyginamas su praėjusiais metais.

Tokiems klausimams spręsti DAX turi specialias Time Intelligence funkcijas. Jos leidžia dirbti su laikotarpiais daug patogiau nei rankiniu būdu filtruojant datas.

Jei dar tik pradedi mokytis DAX, pirmiausia verta perskaityti: įvadą į DAX ir pagrindinius Power BI skaičiavimo principus .

Kas yra Time Intelligence?

Time Intelligence – tai DAX funkcijų grupė, skirta laiko analizei. Jos leidžia skaičiuoti rezultatus pagal laikotarpius: nuo metų pradžios, per praėjusį laikotarpį, per paskutinius kelis mėnesius ir panašiai.

Pavyzdžiui, su Time Intelligence galima atsakyti į klausimus:

  • kokie pardavimai nuo metų pradžios?
  • kiek pardavėme tuo pačiu laikotarpiu pernai?
  • kaip atrodo paskutinių 3 mėnesių rezultatas?
  • ar šis mėnuo geresnis nei praėjęs?
Power BI Time Intelligence laiko analizės srautas

Kodėl būtina Date table?

Time Intelligence funkcijos veikia tik tada, kai modelyje yra teisingai sukurta kalendoriaus lentelė – Date table.

Tokia lentelė turi turėti:

  • vieną datų stulpelį be tarpų datų sekoje;
  • unikalias datas;
  • ryšį su faktine duomenų lentele;
  • teisingai nustatytą datos tipą;
  • pažymėjimą kaip Date Table Power BI modelyje.

Jei Date table netvarkinga arba nesusieta su faktine lentele, Time Intelligence formulės gali grąžinti neteisingus rezultatus arba neveikti taip, kaip tikiesi.

Time Intelligence funkcijos nėra tiesiog „datos formulės”. Jos priklauso nuo modelio struktūros, ryšių ir filtro konteksto.

Periodų sumavimas: YTD, MTD, QTD

Vienos dažniausių Time Intelligence funkcijų yra tos, kurios sumuoja rezultatą nuo laikotarpio pradžios iki pasirinktos datos.

  • DATESYTD – skaičiuoja nuo metų pradžios;
  • DATESMTD – skaičiuoja nuo mėnesio pradžios;
  • DATESQTD – skaičiuoja nuo ketvirčio pradžios.

Pavyzdžiui, pardavimų nuo metų pradžios formulė gali atrodyti taip:

Pardavimai YTD :=
CALCULATE(
    SUM(Pardavimai[Suma]),
    DATESYTD(Kalendorius[Data])
)

Šiuo atveju CALCULATE pakeičia filtrų kontekstą taip, kad skaičiavimas apimtų visas datas nuo metų pradžios iki pasirinktos datos.

Jei nori geriau suprasti, kodėl tai veikia būtent taip, verta skaityti: kaip DAX mato duomenis: Row vs Filter context .

Power BI DAX DATESYTD funkcijos logika

Palyginimai su ankstesniais laikotarpiais

Kita dažna Time Intelligence užduotis – palyginti dabartinį laikotarpį su ankstesniu.

Tam dažnai naudojamos šios funkcijos:

  • SAMEPERIODLASTYEAR – grąžina tą patį laikotarpį praėjusiais metais;
  • DATEADD – leidžia paslinkti datas nurodytu intervalu;
  • PARALLELPERIOD – grąžina panašų laikotarpį ankstesniame arba vėlesniame periode.

Pavyzdžiui, pardavimų pernai formulė:

Pardavimai pernai :=
CALCULATE(
    SUM(Pardavimai[Suma]),
    SAMEPERIODLASTYEAR(Kalendorius[Data])
)

Tokia formulė leidžia lyginti šių metų rezultatus su praėjusių metų rezultatais tame pačiame laikotarpyje.

Judantys laikotarpiai

Kartais norime žiūrėti ne į kalendorinius metus ar mėnesius, o į judantį laikotarpį, pavyzdžiui, paskutinius 3 mėnesius.

Tam dažnai naudojama funkcija DATESINPERIOD.

Pardavimai 3 mėn. :=
CALCULATE(
    SUM(Pardavimai[Suma]),
    DATESINPERIOD(
        Kalendorius[Data],
        MAX(Kalendorius[Data]),
        -3,
        MONTH
    )
)

Ši formulė apskaičiuoja pardavimus per paskutinius 3 mėnesius nuo pasirinktos datos.

Kadangi tokie skaičiavimai priklauso nuo filtrų konteksto, kartais prireikia geriau suprasti, kaip DAX valdo filtrus. Plačiau apie tai: ALL, REMOVEFILTERS ir KEEPFILTERS funkcijų logika .

Dažniausios klaidos

Time Intelligence formulės dažnai neveikia ne dėl pačios formulės, o dėl modelio struktūros.

  • modelyje nėra Date table;
  • Date table nėra pažymėta kaip Date Table;
  • datos saugomos kaip tekstas;
  • kalendoriaus lentelėje trūksta datų;
  • nėra ryšio tarp Date table ir faktinės lentelės;
  • naudojamas netinkamas datos stulpelis formulėje.
Jei Time Intelligence formulė grąžina netikėtą rezultatą, pirmiausia tikrink Date table, ryšius ir datos stulpelio tipą.

Kur tai naudoti praktiškai?

Time Intelligence dažniausiai naudojama KPI kortelėse, trendų grafikuose, mėnesiniuose palyginimuose ir vadovų ataskaitose.

Pavyzdžiui, galima skaičiuoti:

  • pardavimus nuo metų pradžios;
  • pokytį lyginant su praėjusiais metais;
  • paskutinių 3 mėnesių vidurkį;
  • einamojo mėnesio rezultatą;
  • procentinį augimą per laiką.

Jei kuri KPI rodiklius Power BI ataskaitoje, tau pravers ir šis straipsnis: kaip kurti ir skaičiuoti KPI rodiklius su DAX .

Ką skaityti toliau

Išvada

Time Intelligence funkcijos leidžia Power BI ataskaitose atlikti laiko analizę: skaičiuoti YTD, lyginti su praėjusiais metais, analizuoti judančius laikotarpius ir matyti tendencijas.

Tačiau svarbiausia suprasti, kad šios funkcijos veikia tik tada, kai modelyje yra tvarkinga Date table, teisingi ryšiai ir datos saugomos tinkamu formatu.

Kai ši bazė sutvarkyta, Time Intelligence tampa vienu galingiausių DAX įrankių Power BI analizėje.

Nemokama atmintinė

Power Query atmintinė: automatizuok ataskaitą

Pagrindiniai žingsniai, 5 dažnos klaidos ir kada verta automatizuoti ataskaitą.

  • PDF · 2 psl., praktiška
  • Be spam'o — tik nauda
Blank Form (#5)
Be spam'o. Atsisakyti gali bet kada.

Panašūs straipsniai