Bruke filterfunksjoner i stedet for tidsseriefunksjoner

Dette emnet forklarer forskjellen mellom tidsseriefunksjoner og filterfunksjoner samt hvordan du implementerer filterfunksjoner. Disse opplysningene gjelder for både arbeidsbøker og klassiske instrumentpaneler.

Tidsseriefunksjoner kontra Filterfunksjoner

Tidsseriefunksjonene Ago og Todate gir en enkel måte å opprette målinger på for å beregne year-ago, year-to-date, og så videre. Denne metoden fungerer godt for forretningsbrukerrapporter, men disse funksjonene genererer komplekse spørringer som har betydelig innvirkning på ytelsen. Hver gang en av disse funksjonene brukes i en rapport, genereres det i tillegg en ekstra delspørring som bruker enda flere ressurser i databasen.

I stedet for å bruke tidsseriefunksjoner kan du som regel oppnå det samme resultatet på klassiske instrumentpaneler ved å bruke basismålinger med funksjonen Filter for å filtrere på den aktuelle tidsperioden. Denne metoden er kanskje for kompleks for forretningsbrukerrapporter, men den fungerer godt på instrumentpaneler IT-teamet har definert på forhånd. Ved hjelp av denne metoden er den genererte fysiske SQL-koden mye enklere og mer effektiv, og det er ikke nødvendig med noen ekstra delspørring. Det betyr at SQL-spørringen kjører raskere og bruker færre ressurser i databasen, noe som reduserer den totale prosessorbruken og inndata/utdata-kall.

Figuren nedenfor viser et eksempel på en fysisk spørring som genereres når du bruker både basismålingen og målingen Month Ago i samme rapport. To spørringer genereres.

Beskrivelse av GUID-37245A7E-00E9-4071-9627-1A5BAED91311-default.jpg følger
.jpg

Figuren nedenfor viser SQL-koden som genereres for én spørring når du i stedet bruker funksjonen Filter.

Beskrivelse av GUID-F1D33998-F8D4-40BF-B630-6EDCEF1DCEFC-default.jpg følger
.jpg

Implementere filterfunksjoner på et instrumentpanel med ledetekster

I de fleste implementeringer inneholder instrumentpanelet allerede en ledetekst, slik at brukerne kan velge måneden de er interessert i. Det første trinnet er å identifisere tidsperiodene du må filtrere på, basert på brukervalgene.

I dette eksemplet inneholder kalenderdimensjonen kolonnen Julian Period Number, fordi det gjør beregningen enklere. Dette er også mulig uten Julian Period Number, men det forutsetter langt mer komplekse formler for å beregne den valgte tidsperioden.

  1. Endre ledeteksten Month for å legge til presentasjonsvariabelen (MonthSelected).

    Beskrivelse av GUID-DEEBC7D1-806C-48E9-965C-6131745A65CE-default.png følger
    .png

  2. Opprett en separat ledetekst for instrumentpanel for å hente den tilsvarende variabelen Julian Period Number og plassere den i en annen variabel (PeriodNumberSelected). Denne andre ledeteksten vises ikke for sluttbrukeren. I stedet er den skjult på instrumentpanelet, og verdien beregnes automatisk basert på variabelen MonthSelected.

    Beskrivelse av GUID-D41AE43F-CD62-498D-B041-9700D586BF77-default.png følger
    .png

  3. Rediger egenskapene for instrumentpanelet, og klikk på Filtre og variabler.
  4. Legg til banen til ledeteksten Julian Period.

    Beskrivelse av GUID-E46E926E-F0A3-4934-9D10-F0119B9109DF-default.jpg følger
    .jpg

  5. Slett det globale filteret i kolonnen Month i analysen, og bruk filterfunksjonene for kolonneformler basert på Julian Period Number etter behov. Her er noen eksempler:

    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})

Implementere filterfunksjoner i en arbeidsbok med parametre

Du kan bruke det samme prinsippet i en arbeidsbok. Ledetekster og presentasjonsvariabler erstattes av et instrumentpanelfilter og parametre.

Opprett tre parametre: MonthSelected, PeriodNumberSelected og YearSelected. Bare parameteren MonthSelected vises på lerretet i et instrumentpanelfilter.

Mulige verdier for parameteren MonthSelected defineres basert på en logisk SQL-spørring som velger alle månedene.

De mulige verdiene fylles ikke ut for parametrene PeriodNumberSelected og YearSelected.Beskrivelse av GUID-B0D153C1-7DDF-445F-BF09-7E21EBECB88B-default.jpg følger
.jpg

Bare den første verdien fylles ut med en logisk spørring som filtreres basert på verdien for MonthSelected.Beskrivelse av GUID-C21AC2BA-E3B8-43BC-A812-517A074DBFA2-default.jpg følger
.jpg