Avanserte periodeformler

I Report Designer har du mulighet til å bruke forhåndsdefinerte periodefunksjoner i rapportbyggingen. I tilfeller hvor disse funksjonene ikke er tilstrekkelige, kan du ta i bruk avanserte periodeformler for å bestemme år, periode(r) eller dag(er) i rapporten. Denne veiledningen forklarer hvordan du kan bruke slike formler i Report Designer.

Avanserte periodeformler

Når du jobber med avanserte periodeformler, må du ofte forholde deg til to variabler i hver formel.

Eksempel:

'{PeriodCalc.GetPeriod(Parameter).AddYears(X).WholeYear}'

Parameter er den periodeparameteren som er skapt i rapporten, og X er den variabelen som bestemmer antall år, måneder/perioder og dager som formelen skal legge til eller trekke fra. (I noen tilfeller vil det være en tredje variabel, vist med Y i eksempelet med rullerende intervall lenger bak i dokumentet.)

Figur 1 viser hvor du finner parameteren til perioden.

  1. Klikk grupperingen for å komme inn i ekspansjonen.
  2. Gjør et oppslag ved å klikke forstørrelsesglasset.
  3. Inne i oppslagsvinduet kan du se hva parameteren heter (markert blått). Alt du må gjøre da, er å kopiere teksten innenfor ’ og lime den inn i stedet for teksten Parameter i formlene som er beskrevet i dette dokumentet.

MERK: I noen tilfeller vil det være en tredje variabel, representert ved Y i eksemplet med et rullende intervall lenger ned i dette dokumentet.

Periodeformler basert på en måneds-id (f.eks. Periode=202201 for januar 2022)

Oversikten nedenfor viser ulike periodeformler der du kan erstatte (Parameter) med (Regnskapsperioder)^1^ og erstatte variabelen X med det antall år/måneder du ønsker legge til eller trekke fra. Formelelementet Extend bestemmer hvor mange måneder som skal legges til i et intervall.

Period function Period formula
Whole year in year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X).WholeYear}'
First period in year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X).YearStart}'
Last period in year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X).YearEnd}'
Q1 of year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X).YearStart.Extend(2)}'
Q2-Q4 in year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X).YearStart.SetIndex(X).Extend(2)}'
Remaining periods in year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X).Add(1)}:{PeriodCalc.GetPeriod(Parameter).AddYears(X).YearEnd}'
This period year X '{PeriodCalc.GetPeriod(Parameter).AddYears(X)}'
Current month '{PeriodCalc.CurrentPeriod}'
Rolling from X to Y '{PeriodCalc.GetPeriod(Parameter).Add(X).Extend(Y)}'

^1^Begrepet som brukes varierer mellom ERP-systemer. Se etter periodeparameteren, for eksempel perioder, posteringsperioder, regnskapsperioder osv. i Oppsettsredigering. (Se figur 1 ovenfor for hvor du kan finne disse.)

Eksempel på formel for rullende fra X til Y

Du vil vise 2 års rullende bakover. Da må du først trekke fra 1 mnd og utvide (Extend) med 23 mnd.

Her vil X få verdien -1 og Y får verdien -23.

Formelen vil slik ut:

'{PeriodCalc.GetPeriod(Regnskapsperioder).Add(-1).Extend(-23)}'

Periodeformler basert på dato-id (formatet dd.mm.yyyy - f.eks. 01.01.2022)

Listen nedenfor viser ulike periodeformler hvor du kan erstatte variabelen DateParameter^2^ med et antall år/måneder/dager du ønsker å legge til eller trekke ifra. Du finner parameteren på samme måte som i eksempelet over. Den eneste forskjellen er at du har en periodedimensjon basert på dagnivå, f.eks. bilagsdato.

0 1
Datoparameter Periodeformel
År '{DateParameter.AddYears(X).SqlDate}'
Måned '{DateParameter.AddMonths(X).SqlDate}'
Dager '{DateParameter.AddDays(X).SqlDate}'
Dag Y, i år X '{DateParameter.AddYears(X).AddDays(Y).SqlDate}'

'{#tw-target-text .tw-data-text .tw-text-large .tw-ta data-placeholder="Translation" dir="ltr"}' MERK: Når periodeformelen er basert på en dato, i motsetning til en periode (måned), må du inkludere ’ før og etter formelen:

'{DateParameter.AddYears(X).SqlDate}'

^2^Begrepet som brukes varierer mellom ERP-systemer. Se etter datoparametere som forfallsdato, transaksjonsdato osv.

Eksempel på formel for dag Y i år X

Du ønsker i dette eksemplet å finne gårsdagen i fjor. Dette kan du gjøre ved å erstatte med -1 Y med -1. Formelen vil da trekke fra 1 år minus 1 dag for den datoen du setter når du kjører rapporten.

‘{DateParameter.AddYears(-1).AddDays(-1).SqlDate}’

Eksempel på formel med forfallsdato

I dette eksemplet ønsker du å vise fakturaer som forfaller i løpet av de neste 30 dagene, basert på en datoparameter, @DueDate. Du kan gjøre dette ved å bruke denne formelen:

‘{@DueDate.AddDays(30).SqlDate}’

Oversikt over innebygde periodefunksjoner i Report Designer

Name Display Name Expression
ALL2Yago All Year 2 Years Ago '{PeriodCalc.GetPeriod([]).AddYears(-2).WholeYear}'
ALL2Yfor All Year 2 Years Forward '{PeriodCalc.GetPeriod([]).AddYears(2).WholeYear}'
All3YAgo All Year 3 Years Ago '{PeriodCalc.GetPeriod([]).AddYears(-3).WholeYear}'
All3YFor All Year 3 Years Forward '{PeriodCalc.GetPeriod([]).AddYears(3).WholeYear}'
AllTimeTD All Time to Date '{PeriodCalc.GetPeriod([0])}:{PeriodCalc.GetPeriod([])}'
FPLY First Period Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).YearStart}'
FPNY First Period Next Year '{PeriodCalc.GetPeriod([]).AddYears(1).YearStart}'
FPTY First Period This Year '{PeriodCalc.GetPeriod([]).YearStart}'
LPLY Last Period Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).YearEnd}'
LPNY Last Period Next Year '{PeriodCalc.GetPeriod([]).AddYears(1).YearEnd}'
LPTY Last Period This Year '{PeriodCalc.GetPeriod([]).YearEnd}'
LY Last Year (all) '{PeriodCalc.GetPeriod([]).AddYears(-1).WholeYear}'
LYTD Last year to date '{PeriodCalc.LastYearToDate([])}'
NY Next Year (all) '{PeriodCalc.GetPeriod([]).AddYears(1).WholeYear}'
Q1LY Q1 Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).YearStart.Extend(2)}'
Q1TY Q1 This Year '{PeriodCalc.GetPeriod([]).YearStart.Extend(2)}'
Q2LY Q2 Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).SetIndex(4).Extend(2)}'
Q2TY Q2 This Year '{PeriodCalc.GetPeriod([]).SetIndex(4).Extend(2)}'
Q3LY Q3 Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).SetIndex(7).Extend(2)}'
Q3TY Q3 This Year '{PeriodCalc.GetPeriod([]).SetIndex(7).Extend(2)}'
Q4LY Q4 Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).SetIndex(10)}': '{PeriodCalc.GetPeriod([]).AddYears(-1).YearEnd}'
Q4TY Q4 This Year '{PeriodCalc.GetPeriod([]).SetIndex(10)}:{PeriodCalc.GetPeriod([]).YearEnd}'
RB12M 12 Month Rolling (-1 -> -12) '{PeriodCalc.GetPeriod([]).Add(-1).Extend(-11)}'
RBC12M 12Month Rolling Current (0 > -12) '{PeriodCalc.GetPeriod([]).Add(0).Extend(-11)}'
RF12M 12 Months Rolling (+1 -> +12) '{PeriodCalc.GetPeriod([]).Add(1).Extend(11)}'
RF3M1 3 Months Rolling (+1 -> +3) '{PeriodCalc.GetPeriod([]).Add(1).Extend(2)}'
RF3M2 3 Months Rolling (+4 -> +6) '{PeriodCalc.GetPeriod([]).Add(4).Extend(2)}'
RF3M3 3 Months Rolling (+7 -> +9) '{PeriodCalc.GetPeriod([]).Add(7).Extend(2)}'
RF3M4 3 Months Rolling (+10 -> +12) '{PeriodCalc.GetPeriod([]).Add(10).Extend(2)}'
RFC12M 12 Months Rolling Current (0 > 12) '{PeriodCalc.GetPeriod([]).Add(0).Extend(11)}'
RPLY Remaining Periods Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1).Add(1)}': '{PeriodCalc.GetPeriod([]).AddYears(-1).YearEnd}'
RPTY Remaining Periods This Year '{PeriodCalc.GetPeriod([]).Add(1)}:{PeriodCalc.GetPeriod([]).YearEnd}'
TPLY This Period Last Year '{PeriodCalc.GetPeriod([]).AddYears(-1)}'
TPNY This Period Next Year '{PeriodCalc.GetPeriod([]).AddYears(1)}'
TPTY This Period This Year '{PeriodCalc.GetPeriod([])}'
TYALL This Year (all) '{PeriodCalc.GetPeriod([]).WholeYear}'
YTD Year to Date '{PeriodCalc.FiscYearToDate([])}'

Ekstra periodesyntaks

Følgende syntaks kan brukes i periodefilteret. DateParameter = navn på periodeparameter

Expression Syntax Example
AddDays(n) 1 '{DateParameter.AddDays(30).SqlDate}' 2. '{DateParameter.YearEnd.AddDays(1).SqlDate}:2020-12-31 AddMonths(n)
AddYears(n) '{DateParameter.AddYears(-1).SqlDate}'
WeekStart '{PeriodCalc.Now.WeekStart.SqlDate}:{PeriodCalc.Now.SqlDate}'
MonthEnd '{DateParameter.MonthEnd.SqlDate}'
MonthStart '{DateParameter.MonthStart.SqlDate}'
YearEnd '{DateParameter.YearEnd.SqlDate}'
YearStart '{DateParameter.YearStart.SqlDate}'

Funksjonene kan kombineres:

'{DateParameter.YearEnd.AddDays(1).SqlDate}:2022-12-31'

Sist endret 16.08.2024