Top50 2024

Od datuma do izveštaja

Kada pravimo izveštaje, često je potrebno da poredimo poslovne rezultate sa onima koji su ostvareni u prethodnoj godini ili nekom drugom periodu. Upoznajmo DAX funkcije koje vode do tih rezultata.

PCPress.rs Image
Izvestaj 1

Videli smo da DAX obuhvata grupu funkcija namenjenih računanju u skladu sa zadatim vremenskim kontekstom. Njih najčešće upotrebljavamo kao filtere funkcije CALCULATE. Da bismo ih koristili, u postojeći Model podataka treba dodati promenljivu koja sadrži sve datume koji se pojavljuju u posmatranom vremenskom periodu. Zatim tu tabelu treba povezati pomoću ključa (datumska kolona) s tabelom u kojoj su evidentirane transakcije koje se koriste za izveštavanje. Za praćenje prometa najpre ćemo kreirati meru koja izračunava sumu iznosa:

Promet:=SUMX(Transakcije; Transakcije[KOL] * RELATED(Artikli[P‑CENA]))

Ako je potrebno pratiti promet u – recimo – istom periodu prošle godine, možemo koristiti funkciju SamePeriodLastYear čija je sintaksa: SAMEPERIODLASTYEAR (<datumska kolona>). Upotrebom ove funkcije možemo da kreiramo meru:

Promet_SPLY:=CALCULATE ([Promet]; SAMEPERIODLASTYEAR (‘Calendar'[Date]))

Alternativni načini

Kada je, zajedno s merom Promet, dodamo u PowerPivot, dobijamo izveštaj sa slike 1. U tu svrhu mogli smo da iskoristimo i funkciju ParallelPeriod koja je malo složenija, a omogućava praćenje poslovnih rezultata u periodu „paralelnom“ u odnosu na sadašnje vreme. To može da bude prošlost ili budućnost, a kao argument zadajemo i naziv perioda: mesec, kvartal ili godinu (month, quarter, year). Sintaksa ove funkcije je: PARALLELPERIOD (<datumska kolona>, <broj perioda>, <naziv perioda>). Ako želimo da postignemo isti efekat kao kada smo upotrebili funkciju SamePeriodLastYear, iskoristićemo formulu:

Pročitajte i:  Vektorske mape u Excel izveštajima

PrometPP:=CALCULATE ([Promet]; PARALLELPERIOD (‘Calendar'[Date];
‑ 1; YEAR))

Za praćenje budućih događaja, drugi argument ove funkcije treba da ima prefiks plus, a za prošlost minus. Pošto želimo da vidimo promet za jednu godinu u prošlosti, u formulu upisujemo: datumsku kolonu, broj „‑1“ i oznaku za godinu (YEAR).

Mogli smo da koristimo i funkciju DateAdd čija je sintaksa DATEADD (<datumska kolona>, <broj perioda>, <naziv perioda>). DateAdd radi na sličan način kao ParallelPeriod, a razlika je u tome što ona obuhvata transakcije koje ne počinju nužno od početka obračunskog perioda. To najviše dolazi do izražaja kada hoćemo da pratimo transakcije na nivou datuma. Na osnovu nje možemo da kreiramo meru:

Promet_DA:=CALCULATE ([Promet]; DATEADD(‘Calendar'[Date]; ‑1; YEAR))

PCPress.rs Image
Izvestaj 2

Na slici 2 je prikazan PowerPivot izveštaj u koji ćemo dodati prethodno kreirane mere. Funkcija ParallelPeriod računa za ceo period, a DateAdd, u kontekstu filtera, prikazuje rezultate za sve navedene periode, iako ove funkcije imaju istu sintaksu. U ovom primeru, ona daje iste rezultate kao funkcija SamePeriod­LastYear.

Između dva datuma

Ponekad je potrebno da pratimo promet tačno između dva zadata datuma. Tada ćemo koristiti funkciju DatesBetween čija je sintaksa DATESBETWEEN(<datumska kolona>, <početni datum> <krajnji datum>). Primenom ove funkcije možemo da napravimo ovakvu meru:

Pročitajte i:  Grupisanje redova i kolona u Excel izveštajima

Promet_DB:=CALCULATE ([Promet]; DATESBETWEEN (‘Calendar'[Date]; “1.1.2017”; “1.2.2017”))

PCPress.rs Image
PrometSPLY

Kada je dodamo u Power­Pivot, pored mere Promet, dobijamo izveštaj sa slike 3. Pošto smo trenutno u 2017. godini, u zadatom primeru, imali promet samo u januaru, ova mera vraća isti rezultat kao promet u navedenom mesecu.

PCPress.rs Image
Izvestaj 3

DAX poseduje još jednu prilično sličnu funkciju koja se zove DatesInPeriod. Ona računa promet u određenom broju intervala u odnosu na zadati datum. Njena sintaksa je DATESINPERIOD (<datumska kolona>, <datum>, <broj perioda>, <oznaka perioda>).

Evo jednostavnog primera: ako želimo da izračunamo ukupan promet za tri meseca od 15. oktobra 2016. godine, kreiraćemo meru:

Promet_DIP:=CALCULATE ([Promet]; DATESINPERIOD (‘Calendar'[Date]; “15.10.2016”; +3; MONTH))

DAX ima još mnogo Time Intelligence funkcija, a koju od njih ćete upotrebiti u datom poslu zavisi pre svega od rezultata koji želite da dobijete, ali i od vašeg stila, pa pomalo i od vešeg trenutnog raspoloženja. Izbor i adekvatna primena funkcija mogu da vam pomognu da brzo dođete do željenog rezultata, kao i da vas okolina proglasi magom za Excel.

Pročitajte i:  Kako koristiti funkciju SWITCH u Excelu

Slavko „Sam Le Chef“ Vujnović

(Objavljeno u PC#245)

Facebook komentari:
Računari i Galaksija
Tagovi: , , ,