Upotreba funkcija filtriranja umjesto funkcija vremenske serije

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.

Slijedi opis za GUID-37245A7E-00E9-4071-9627-1A5BAED91311-default.jpg
.jpg

Sljedeća slika prikazuje SQL kôd koji se generira za jedan upit u slučaju upotrebe funkcije Filtar.

Slijedi opis za GUID-F1D33998-F8D4-40BF-B630-6EDCEF1DCEFC-default.jpg
.jpg

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.

  1. Izmijenite odzivnik Month i dodajte prezentacijsku varijablu (MonthSelected).

    Slijedi opis za GUID-DEEBC7D1-806C-48E9-965C-6131745A65CE-default.png
    .png

  2. Izradite zasebni odzivnik dashboarda kako bi se dohvatio odgovarajući 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.

    Slijedi opis za GUID-D41AE43F-CD62-498D-B041-9700D586BF77-default.png
    .png

  3. Uredite svojstva dashboarda i pritisnite Filtri i varijable.
  4. Dodajte stazu odzivnika Julian Period.

    Slijedi opis za GUID-E46E926E-F0A3-4934-9D10-F0119B9109DF-default.jpg
    .jpg

  5. U analizi izbrišite globalni filtar u stupcu 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.Slijedi opis za GUID-B0D153C1-7DDF-445F-BF09-7E21EBECB88B-default.jpg
.jpg

Samo početna vrijednost popunit će se logičkim upitom filtriranim na temelju vrijednosti MonthSelected.Slijedi opis za GUID-C21AC2BA-E3B8-43BC-A812-517A074DBFA2-default.jpg
.jpg