Calcula el valor promedio de una cuenta en un número de periodos.
Valor de retorno
Devuelve una cadena de caracteres que representa la expresión correcta que utilizar como parte de la función HS.EXP.
Sintaxis
Average (PointOfView, Periods)
Tabla 12-3 Sintaxis de la función Promedio
| Parámetro | Valores válidos |
|---|---|
|
PointOfView |
Combinación válida de cuenta, Custom1….4, miembros de ICP, por ejemplo "A#CASH.C1#[None].I#[ICP Top]" Para las cuentas de tipo de flujo, la función solo calcula el valor periódico promedio. |
|
Periods |
Debe ser uno de los siguientes valores: YTD: especifique la opción de acumulado anual para calcular el promedio de datos acumulados desde el periodo uno en el año en curso. Periodic: especifique la opción de periódico para calcular el promedio del periodo inmediatamente anterior y el actual solo en el año actual. Para el primer periodo, este valor será el mismo que el de origen. [Cualquier número entero positivo]: especifique el número de periodos sobre los que debe calcularse el promedio. Para un promedio móvil del año en una categoría mensual, especifique |
Descripción detallada
Esta función calcula el valor promedio de una cuenta a lo largo de un número específico de periodos anteriores. Si el origen es una cuenta de tipo de balance, el promedio se basa en los datos introducidos. Si el origen es una cuenta de tipo de flujo, el promedio se basa solo en los datos periódicos.
El valor promedio se deriva de distintas maneras en función del parámetro Periods.
Si el parámetro Periods es YTD, el valor promedio es la suma de todos los periodos del año actual hasta el actual dividido por el número de periodo actual.
Si el parámetro Periods es Periodic, el valor promedio es la suma de los periodos inmediatamente anterior y actual dividida por dos. Si el periodo actual es el primer periodo del año, el valor promedio es igual al valor de origen.
Si el parámetro Periods es un número, el valor promedio es la suma de cada periodo precedente y el actual según el número de periodos especificado, dividido entre el número especificado.
Ejemplo
La cuenta SALES devolverá estos valores para enero, febrero y marzo de 2014, dependiendo del parámetro Periods utilizado en la función personalizada Promedio. La vista predeterminada establecida para el escenario que se está procesando es YTD.
Tabla 12-4 Ejemplo de la función Promedio
| Cuenta | Oct2013 | Nov2013 | Dic2013 | Ene2014 | Feb2014 | Mar2014 |
|---|---|---|---|---|---|---|
|
A#Sales |
9000 |
10 500 |
11 700 |
800 |
1900 |
3200 |
|
Promedio ("A#Sales", "YTD)" |
N/A |
N/A |
N/A |
800 |
950 |
1067 |
|
Promedio ("A#Sales", "Periodic)" |
N/A |
N/A |
N/A |
800 |
950 |
1200 |
|
Promedio ("A#Sales", "3") |
N/A |
N/A |
N/A |
1167 |
1033 |
1067 |
Script de ejemplo
' 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