Ta tema objašnjava razliku između funkcija vremenske serije i funkcija filtriranja te objašnjava kako implementirati funkcije filtriranja. Te se informacije primjenjuju na radne knjige i klasične dashboarde.
Funkcije vremenske serije ili funkcije filtriranja
Funkcije vremenske serije Ago
i Todate
nude jednostavan način za izradu metrike za izračune year-ago, year-to-date,
itd. Radi se o metodi koja dobro funkcionira za izvješća poslovnih korisnika; međutim, te funkcije generiraju složene upite koji značajno utječu na izvedbu. Osim toga, svaki put kad jednu od tih funkcija upotrijebite u izvješću, generirat će se dodatan podupit koji upotrebljava još više resursa u bazi podataka.
Na klasičnim dashboardima umjesto funkcijama vremenske serije iste rezultate obično možete postići upotrebom osnovne metrike s funkcijom Filter
za filtriranje odgovarajućeg vremenskog razdoblja. Ta metoda mogla bi biti previše složena za izvješća poslovnih korisnika, ali dobro funkcionira u dashboardima koje je prethodno definirao IT tim. Upotrebom te metode, generirani fizički SQL kôd mnogo je jednostavniji i učinkovitiji te ne zahtijeva dodatne podupite. Zahvaljujući tome SQL izvodit će se brže i zauzimat će manje resursa baze podataka, čime će smanjiti ukupno zauzeće CPU-a od strane baze podataka i broj ulazno-izlaznih poziva.
Sljedeća slika prikazuje primjer fizičkog upita koji se generira u slučaju upotrebe osnovne metrike i metrike prije
mjesec dana u istom izvješću. Generiraju se dva upita.
Sljedeća slika prikazuje SQL kôd koji se generira za jedan upit u slučaju upotrebe funkcije Filtar
.
Implementacija funkcija filtriranja u dashboardu s odzivnicima
U većini implementacija, dashboard već uključuje odzivnik, tako da korisnici mogu odabrati mjesec koji traže. Prvi je korak identificirati vremenska razdoblja potrebna za filtriranje temeljem korisničkog odabira.
U ovom primjeru pretpostavljamo kako dimenzija kalendara uključuje stupac Julian Period Number
jer time olakšava izračune. To je izvedivo i bez vrijednosti Julian Period Number
, ali zahtijevalo bi mnogo složenije formule za izračunavanje odabranog vremenskog razdoblja.
Month
i dodajte prezentacijsku varijablu (MonthSelected
).
Julian Period Number
i stavite ga u drugu varijablu (PeriodNumberSelected
). Taj drugi odzivnik neće se prikazati krajnjem korisniku, već će se sakriti na dashboardu, a vrijednost će se izračunati automatski temeljem varijable MonthSelected
.
Julian Period
.
Month
i prema potrebi upotrijebite funkcije za filtriranje formula stupaca temeljem vrijednosti Julian Period Number
. Evo nekoliko primjera:
Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})
Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)
Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)
Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})
Implementacija funkcija filtriranja u radnoj knjizi s parametrima
Isti princip možete primijeniti na radnu knjigu. Odzivnici i prezentacijske varijable mijenjaju se parametrima i filtrom dashboarda.
Stvorite tri parametra: MonthSelected, PeriodNumberSelected i YearSelected. Na podlozi u filtru dashboarda prikazat će se samo parametar MonthSelected.
Moguće vrijednosti parametra MonthSelected definiraju se temeljem logičkog SQL upita uz odabir svih mjeseci.
Za parametre PeriodNumberSelected i YearSelected neće se popunjavati moguće vrijednosti.
.jpg
Samo početna vrijednost popunit će se logičkim upitom filtriranim na temelju vrijednosti MonthSelected.
.jpg