Calcola il valore medio per un conto in alcuni periodi.
Valore restituito
Restituisce una stringa di caratteri che rappresenta l'espressione corretta da utilizzare come parte della funzione HS.EXP.
Sintassi
Average (PointOfView, Periods)
Tabella 12-3 Sintassi della funzione Average
Parametro | Valori validi |
---|---|
PointOfView |
Combinazione valida di Conto, Custom1...4, membri ICP, ad esempio, "A#CASH.C1#[None].I#[ICP Top]" Per conti di tipo flusso, la funzione calcola solo la media del valore periodico. |
Periodi |
Deve essere uno di questi valori: Progressivo anno - Specificare l'opzione progressivo anno per calcolare la media dei dati cumulativi dal periodo uno nell'anno corrente. Periodico - Specificare l'opzione periodico per calcolare la media del periodo corrente e del periodo immediatamente precedente solo nell'anno corrente. Per il primo periodo, questo valore sarà uguale all'origine. [Qualsiasi numero positivo intero] - Specificare un numero di periodi per i quali deve essere calcolata la media. Per una media annuale mobile in una categoria mensile, specificare |
Descrizione dettagliata
Questa funzione calcola il valore medio di un conto in un numero specificato di periodi precedenti. Se l'origine è un conto di tipo saldo, la media viene basata sui dati immessi. Se l'origine è un conto di tipo flusso, la media viene basata solo sui dati periodici.
Il valore Media viene derivato in modo diverso in base al parametro Periodi.
Se il parametro Periodi è Progressivo anno, il valore medio è la somma di tutti i periodi dell'anno corrente fino al periodo corrente divisa per il numero di periodo corrente.
Se il parametro Periodi è Periodico, il valore medio è la somma del periodo corrente e del periodo immediatamente precedente divisa per due. Se il periodo corrente è il primo periodo dell'anno, il valore medio è lo stesso valore dell'origine.
Se il parametro Periodi è un numero, il valore medio è la somma del periodo corrente e di ogni periodo precedente per il numero specificato di periodi, divisa per il numero specificato.
Esempio
Il conto VENDITE restituirà tali valori per gennaio, febbraio e marzo 2014 in base al parametro Periodi utilizzato nella funzione custom Average. La vista predefinita impostata per lo scenario in fase di elaborazione è Progressivo anno.
Tabella 12-4 Esempio di funzione Average
Conto | Oct2013 | Nov2013 | Dec2013 | Jan2014 | Feb2014 | Mar2014 |
---|---|---|---|---|---|---|
A#Sales |
9,000 |
10,500 |
11,700 |
800 |
1,900 |
3,200 |
Average ("A#Sales", "YTD)" |
N/D |
N/D |
N/D |
800 |
950 |
1,067 |
Average ("A#Sales", "Periodic)" |
N/D |
N/D |
N/D |
800 |
950 |
1,200 |
Average ("A#Sales", "3") |
N/D |
N/D |
N/D |
1,167 |
1,033 |
1,067 |
Script campione
' sample statement written in the calling routine
Sub Calculate()
Hs.Exp "A#AVG_SALES = "& Average("A#Sales", "12")
End Sub
' programming of the AVERAGE function
FUNCTION Average(strPOV,strPERIOD)
DIM nPERIOD DIM strCUM DIM i
strPOV = UCASE(strPOV) strPERIOD = UCASE(strPERIOD)
IF strPERIOD = "PERIODIC" THEN
IF HS.PERIOD.ISFIRST = TRUE THEN
nPERIOD = 1
ELSE
nPERIOD = 2
END IF
ELSEIF strPERIOD = "YTD" THEN
nPERIOD = HS.PERIOD.NUMBER()
ELSEIF CINT(strPERIOD) > 0 THEN
nPERIOD = CINT(strPERIOD)
ELSE
EXIT FUNCTION
END IF
FOR i = 0 TO nPERIOD-1
IF i = 0 THEN
strCUM = strPOV &".W#PERIODIC"
ELSE
strCUM = strCUM &"+" & strPOV &".W#PERIODIC.P#CUR-" &i
END IF
NEXT
Average = "" (("" & strCUM &"")/""& nPERIOD &"")""
END FUNCTION