Seuraavassa kuvataan aikasarjafunktioiden ja suodatinfunktioiden välistä eroa ja opastetaan suodatinfunktioiden käyttöön. Nämä tiedot koskevat sekä työkirjoja että perinteisiä koontinäyttöjä.
Aikasarjafunktiot vs. suodatinfunktiot
Aikasarjafunktioilla Ago
ja Todate
voidaan helposti luoda mittarit arvojen year-ago, year-to-date
jne. laskemiseen. Tämä menetelmä toimii hyvin yrityskäyttäjäraporteille. Nämä funktiot laativat kuitenkin monimutkaisia kyselyjä, joilla on merkittävä vaikutus suorituskykyyn. Aina kun jotain näistä toiminnoista käytetään raportissa, luodaan lisäksi myös alikysely, joka edellyttää vielä enemmän tietokantaresursseja.
Perinteisissä koontinäytöissä sama tulos saadaan tavallisesti aikaa käyttämällä aikasarjatoimintojen sijaan perusmittareita Suodatin
-toiminnon kanssa, jolla voidaan suodattaa asianmukainen aikajakso. Tämä menetelmä voi olla yrityskäyttäjäraporteille liian monimutkainen, mutta se toimii hyvin IT-tiimin esimäärittämissä koontinäytöissä. Tämän menetelmän avulla luotu fyysinen SQL-koodi on paljon yksinkertaisempi ja tehokkaampi eikä edellytä ylimääräistä alikyselyä. Näin SQL-kyselystä tulee nopeampi ja se käyttää vähemmän tietokantaresursseja, jolloin keskusyksikön kuormitus ja I/O-kutsujen määrä vähenevät.
Seuraavassa kuvassa on esimerkki fyysisestä kyselystä, joka luodaan, kun sekä perusmittaria että kuukauden Ago
-mittaria käytetään samassa raportissa. Luodaan kaksi kyselyä.
Seuraavassa kuvassa on esimerkki kyselyn SQL-koodista, joka luodaan, kun tämän sijaan käytetäänkin Filter
-funktiota.
Suodatinfunktioiden käyttöönotto kehotteita sisältävässä koontinäytössä
Useimmissa käyttöönotoissa koontinäytössä on jo kehote, jonka avulla käyttäjät voivat valita etsimänsä kuukauden. Ensimmäiseksi on määritettävä aikajaksot, jotka on tarkoitus suodattaa käyttäjän valinnan perusteella.
Tässä esimerkissä kalenteridimensio sisältää sarakkeen Julian Period Number
, koska se tekee laskennasta helpompaa. Tämä on mahdollista myös ilman Julian Period Number
-saraketta, mutta valitun aikajakson laskenta edellyttää paljon monimutkaisempia kaavoja.
Month
-kehotetta, jolloin voit lisätä esitysmuuttujan (MonthSelected
).
Julian Period Number
-arvon ja asettaa sen toiseen muuttujaan (PeriodNumberSelected
). Tätä toista kehotetta ei näy loppukäyttäjälle, vaan se on piilotettu koontinäytössä ja sen arvo lasketaan automaattisesti muuttujan MonthSelected
perusteella.
Julian Period
-kehotteen polku.
Month
-sarakkeen yleissuodatin ja käytä sarakekaavojen asianmukaisia, Julian Period Number
-arvoon perustuvia suodatinfunktioita. Tässä on joitakin esimerkkejä:
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})
Suodatinfunktioiden käyttöönotto parametreja sisältävässä työkirjassa
Samaa periaatetta voidaan soveltaa myös työkirjassa. Kehotteet ja esityksen muuttujat korvataan koontinäyttösuodattimella ja parametreilla.
Luo kolme parametria: MonthSelected, PeriodNumberSelected ja YearSelected. Vain parametri MonthSelected näkyy koontinäyttösuodattimen pohjassa.
Parametrin MonthSelected mahdolliset arvot määritetään kaikki kuukaudet valitsevan loogisen SQL-kyselyn perusteella.
Mahdollisia arvoja ei täytetä parametreille PeriodNumberSelected ja YearSelected.
.jpg kuvaus
Vain alkuarvo täytetään loogisella kyselyllä, joka suodatetaan arvon MonthSelected perusteella.
.jpg kuvaus