Average

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 12.

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