Calcule la valeur moyenne d'un compte sur plusieurs périodes.
Valeur renvoyée
Renvoie une chaîne de caractères représentant l'expression correcte à utiliser dans le cadre de la fonction HS.EXP.
Syntaxe
Average (PointOfView, Periods)
Tableau 12-3 Syntaxe de la fonction Average
Paramètre | Valeurs valides |
---|---|
PointOfView |
Combinaison valide des membres Account, Custom1….4, ICP, par exemple, "A#CASH.C1#[None].I#[ICP Top]" Pour les comptes de type Flux, la fonction calcule la moyenne uniquement pour la valeur périodique. |
Periods |
Doit avoir l'une des valeurs suivantes : YTD : spécifiez l'option de cumul annuel pour calculer la moyenne des données cumulées à partir de la période une dans l'année en cours. Periodic : spécifiez l'option périodique pour calculer la moyenne de la période en cours et de la période immédiatement précédente dans l'année en cours uniquement. Pour la première période, cette valeur sera identique à la source. [N'importe quel nombre entier positif] : spécifiez un nombre de périodes sur lesquelles calculer la moyenne. Pour la moyenne d'un exercice glissant dans une catégorie mensuelle, indiquez |
Description détaillée
Cette fonction calcule la valeur moyenne d'un compte sur un nombre spécifié de périodes précédentes. Si la source est un compte de type Solde, le calcul de la moyenne repose sur les données saisies. Si la source est un compte de type Flux, le calcul de la moyenne repose sur les données périodiques uniquement.
La valeur moyenne est dérivée différemment en fonction du paramètre Periods.
Si le paramètre Periods est YTD, la valeur moyenne est la somme de toutes les périodes de l'année en cours jusqu'à la période actuelle, divisée par le nombre actuel de périodes.
Si le paramètre Periods est Periodic, la valeur moyenne est la somme de la période en cours et de la période immédiatement précédente, divisée par 2. Si la période en cours est la première période de l'année, la valeur moyenne est identique à la source.
Si le paramètre Periods est un nombre, la valeur moyenne est la somme de la période en cours et de chaque période précédente pour le nombre spécifié de périodes, divisée par le nombre indiqué.
Exemple
Le compte SALES renvoie les valeurs suivantes pour janvier, février et mars 2014 en fonction du paramètre Periods utilisé dans la fonction personnalisée Average. La vue par défaut définie pour le scénario en cours de traitement est YTD.
Tableau 12-4 Exemple de fonction Average
Compte | Oct2013 | Nov2013 | Dec2013 | Jan2014 | Feb2014 | Mar2014 |
---|---|---|---|---|---|---|
A#Sales |
9 000 |
10 500 |
11 700 |
800 |
1 900 |
3 200 |
Average ("A#Sales", "YTD") |
Sans objet |
Sans objet |
Sans objet |
800 |
950 |
1 067 |
Average ("A#Sales", "Periodic") |
Sans objet |
Sans objet |
Sans objet |
800 |
950 |
1 200 |
Average ("A#Sales", "3") |
Sans objet |
Sans objet |
Sans objet |
1 167 |
1 033 |
1 067 |
Exemple de script
' 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