Contact us

Pošlji
povpraševanje

Zakladnica znanja

  • Predzanje

  • Kategorije

June 2, 2020

Časovne funkcije v jeziku DAX

Avtor: Branka Trifunović

V članku je uporabljen Power BI Desktop verzije 2.76.5678.782 (januar 2020).

Časovne funkcije v jeziku DAX omogočajo, da podatke filtriramo na poljuben datum, obdobje med dvema datumoma, Year-to-date in podobno. Pogoj za delovanje časovnih funkcij je, da imamo koledarsko tabelo. Koledarska tabela vsebuje vse zaporedne datume med začetnim in končnim datumom, znotraj katerih uporabljamo časovne funkcije. Več o koledarski tabeli lahko preberemo v člankih:

Koledarsko tabelo moramo tudi označiti kot datumsko tabelo, kar storimo z izbiro koledarske tabele in Table Tools > Mark as date table. Nato lahko začnemo z uporabo časovnih funkcij.

FIRSTDATE

Vrne prvi oz. najstarejši datum v tabeli v tabeli.

Sintaksa

FIRSTDATE(Dates)

Parameter Opis
Dates Polje v koledarski ali drugi poljubni tabeli, kjer se nahajajo datumi.

Primer

FIRSTDATE_Example = FIRSTDATE(‘Calendar'[Date])

Vrne prvi datum v polju Date v koledarski tabeli Calendar.

LASTDATE

Vrne zadnji (najnovejši) datum v tabeli.

Sintaksa

LASTDATE(Dates)

Parameter Opis
Dates Polje v koledarski ali drugi poljubni tabeli, kjer se nahajajo datumi.

Primer

LASTDATE_Example = LASTDATE(‘Calendar'[Date])

Vrne zadnji datum v polju Date v koledarski tabeli Calendar.

CLOSINGBALANCEMONTH

Vrne vrednost izraza na končni datum trenutno izbranega meseca.

Sintaksa

CLOSINGBALANCEOFMONTH(Expression, Dates, [Filter])

Parameter Opis
Expression Izraz, za katerega se bo izračunala vrednost na zadnji dan trenutno izbranega meseca.
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

BM_Example = CLOSINGBALANCEMONTH([AC], ‘Calendar'[Date])

Vrne vrednost mere AC oz. Actual na zadnji dan v trenutno izbranem mesecu. V koledarski tabeli Calendar in polju Date se nahajajo datumi.

CLOSINGBALANCEQUARTER

Vrne vrednost izraza na končni datum trenutno izbranega kvartala.

Sintaksa

CLOSINGBALANCEOFQUARTER(Expression, Dates, [Filter])

Parameter Opis
Expression Izraz, za katerega se bo izračunala vrednost na zadnji dan trenutno izbranega kvartala.
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

BQ_Example = CLOSINGBALANCEQUARTER([AC], ‘Calendar'[Date])

Zgornji primer vrne vrednost mere AC oz. Actual na zadnji dan v trenutno izbranem kvartalu. V koledarski tabeli Calendar in polju Date se nahajajo datumi.

CLOSINGBALANCEYEAR

Vrne vrednost izraza na končni datum trenutno izbranega leta.

Sintaksa

CLOSINGBALANCEOFYEAR(Expression, Dates, [Filter])

Parameter Opis
Expression Izraz, za katerega se bo izračunala vrednost na zadnji dan trenutno izbranega leta.
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

BY_Example = CLOSINGBALANCEYEAR([AC], ‘Calendar'[Date])

Zgornji primer vrne vrednost mere AC oz. Actual na zadnji dan v trenutno izbranem letu. V koledarski tabeli Calendar in polju Date se nahajajo datumi.

TOTALMTD

Vrne vrednost izraza za trenutno izbrani datumski interval, od začetka leta do konca meseca.

Sintaksa

TOTALMTD(Expression, Dates, [Filter], [YearEndDate])

Parameter Opis
Expression Izraz, za katerega se bo izračunala vrednost od začetka leta do konca izbranega meseca.
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

TOTALMTD_Example = TOTALMTD((SUM(fKnjizbe[Value]),’Calendar'[Date])

Zgornji primer vrne vsoto polja Value v tabeli fKnjizbe od začetka izbranega leta do konca meseca. V koledarski tabeli Calendar in polju Date se nahajajo datumi.

TOTALQTD

Vrne vrednost izraza za trenutno izbrani datumski interval, od začetka leta do konca kvartala.

Sintaksa

TOTALQTD(Expression, Dates, [Filter], [YearEndDate])

Parameter Opis
Expression Izraz, za katerega se bo izračunala vrednost od začetka leta do konca izbranega kvartala.
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

TOTALQTD_Example = TOTALQTD((SUM(fKnjizbe[Value]),’Calendar'[Date])

Zgornji primer vrne vsoto polja Value v tabeli fKnjizbe od začetka izbranega leta do konca kvartala. V koledarski tabeli Calendar in polju Date se nahajajo datumi.

TOTALYTD

Vrne vrednost izraza za trenutno izbrani datumski interval, od začetka leta do konca leta.

Sintaksa

TOTALYTD(Expression, Dates, [Filter], [YearEndDate])

Parameter Opis
Expression Izraz, za katerega se bo izračunala vrednost od začetka do konca izbranega leta.
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

TOTALYTD_Example = TOTALYTD((SUM(fKnjizbe[Value]),’Calendar'[Date])

Zgornji primer vrne vsoto polja Value v tabeli fKnjizbe od začetka do konca izbranega leta. V koledarski tabeli Calendar in polju Date se nahajajo datumi.

DATEADD

Vrne tabelo datumov premaknjenih naprej ali nazaj za dani interval.

Sintaksa

DATEADD(Dates, NumberOfIntervals, Interval)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.
NumberOfIntervals Število intervalov, za katero naj se datumi premaknejo.
Interval Enota intervala: dan (DAY), mesec (MONTH), kvartal (QUARTER) ali leto (YEAR).

Primer

DATEADD_Example = DATEADD(‘Calendar'[Date], 5, DAY)

Zgornji primer premakne trenutno izbrani datum iz koledarske tabele Calendar in polja Date za 5 dni naprej.

DATESBETWEEN

Vrne tabelo datumov znotraj danega začetnega in končnega datuma.

Sintaksa

DATESBETWEEN(Dates, StartDate, EndDate)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.
StartDate Začetni datum.
EndDate Končni datum.

Primer

DATESBETWEEN_Example = DATESBETWEEN(‘Calendar'[Date], DATE(2018, 1, 1), DATE(2018, 1, 12))

Vrne tabelo datumov od 1. 1. 2018 do 12. 1. 2018.

DATESINPERIOD

Vrne tabelo datumov od ki se začnejo z začetnim datumom in tečejo za dano število intervalov.

Sintaksa

DATESINPERIOD(Dates, StartDate, NumberOfIntervals, Interval)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.
StartDate Začretni datum.
NumberOfIntervals Število intervalov.
Interval Enota intervala: dan (DAY), mesec (MONTH), kvartal (QUARTER) ali leto (YEAR).

Primer

DATESINPERIOD_Example = DATESINPERIOD(‘Calendar'[Date], DATE(2018, 1, 1), 10, DAY)

Vrne tabelo desetih dni od 1. 1. 2018.

PARALELPERIOD

Vrne tabelo datumov z paralelnimi datumi kot so trenutno izbrani, premaknjeni za izbrano obdobje naprej ali nazaj.

Sintaksa

PARALLELPERIOD(Dates, NumberOfIntervals, Interval)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.
NumberOfIntervals Dolžina intervala ki pove, za koliko naprej ali nazaj gledamo paralelno obdobje.
Interval Enota intervala, mesec (MONTH), kvartal (QUARTER) ali leto (YEAR).

Primer

PARALLELPERIOD_Example = PARALLELPERIOD(‘Calendar'[Date], 10, MONTH)

Vrne tabelo datumov datumov, ki so paralelni trenutno izbranim datumom, a premaknjeni za 10 mesecev naprej.

DATESMTD

Vrne tabelo datumov od začetka trenutno izbranega meseca do trenutno izbranega datuma.

Sintaksa

DATESMTD(Dates)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

DATESMTD_Example = DATESMTD(‘Calendar'[Date])

Vrne tabelo datumov od začetka trenutno izbranega meseca do trenutno izbranega datuma.

DATESQTD

Vrne tabelo datumov od začetka trenutno izbranega kvartala do trenuto izbranega datuma.

Sintaksa

DATESQTD(Dates)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

DATESQTD_Example = DATESQTD(‘Calendar'[Date])

Vrne tabelo datumov od začetka trenutno izbranega kvartala do trenutno izbranega datuma.

DATESYTD

Vrne tabelo datumov od začetka trenutno izbranega leta do trenutno izbranega datuma.

Sintaksa

DATESYTD(Dates)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

DATESYTD_Example = DATESYTD(‘Calendar'[Date])

Vrne tabelo datumov od začetka trenutno izbranega leta do trenutno izbranega datuma.

ENDOFMONTH

Vrne zadnji dan izbranega meseca.

Sintaksa

ENDOFMONTH(Dates)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

ENDOFMONTH_Example = ENDOFMONTH(‘Calendar'[Date])

Vrne zadnji dan izbranega meseca.

ENDOFQUARTER

Vrne zadnji dan izbranega kvartala.

Sintaksa

ENDOFQUARTER(Dates)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

ENDOFQUARTER_Example = ENDOFQUARTER(‘Calendar'[Date])

Vrne zadnji dan izbranega kvartala.

ENDOFYEAR

Vrne zadnji dan izbranega leta.

Sintaksa

ENDOFYEAR(Dates)

Parameter Opis
Dates Polje v koledarski tabeli, kjer se nahajajo datumi.

Primer

ENDOFYEAR_Example = ENDOFYEAR(‘Calendar'[Date])

Vrne zadnji dan izbranega leta.

 

Kazalo