Berechnet den Durchschnittswert für ein Konto für eine Reihe von Perioden.
Rückgabewert
Gibt eine Zeichenfolge zurück, die den korrekten Ausdruck darstellt, der als Bestandteil der Funktion HS.EXP verwendet werden soll.
Syntax
Average (PointOfView, Periods)
Tabelle 13-3 Syntax der Funktion Average
| Parameter | Gültige Werte |
|---|---|
|
PointOfView |
Gültige Kombination aus den Elementen Account, Custom1….4, ICP, z.B. "A#CASH.C1#[None].I#[ICP Top]" Bei Bewegungskonten berechnet die Funktion nur den Durchschnitt für den periodischen Wert. |
|
Periods |
Muss einer der folgenden Werte sein: YTD - Geben Sie diese Option an, um den Durchschnitt der kumulativen Daten aus der ersten Periode im aktuellen Jahr zu berechnen. Periodic - Geben Sie diese Option an, um den Durchschnitt nur für die aktuelle und vorherige Periode im aktuellen Jahr zu berechnen. Für die erste Periode ist dieser Wert mit der Quelle identisch. [Beliebige positive Ganzzahl] - Geben Sie eine Anzahl Perioden an, über die der Durchschnitt berechnet werden soll. Für einen rollierenden Jahresdurchschnitt in einer monatlichen Kategorie geben Sie |
Detaillierte Beschreibung
Diese Funktion berechnet den Durchschnittswert eines Kontos für eine angegebene Anzahl früherer Perioden. Wenn die Quelle ein Bestandskonto ist, basiert der Durchschnitt auf den eingegebenen Daten. Wenn die Quelle ein Bewegungskonto ist, basiert der Durchschnitt nur auf den periodischen Daten.
Der Durchschnittswert wird anhand des Parameters Periods auf unterschiedliche Art und Weise abgeleitet.
Wenn der Parameter Periods "YTD" ist, ist der Durchschnittswert die Summe aller Perioden im aktuellen Jahr bis zur aktuellen Periode, dividiert durch die aktuelle Periodennummer.
Wenn der Parameter Periods "Periodic" ist, ist der Durchschnittswert die Summe der aktuellen und vorherigen Periode, dividiert durch 2. Wenn die aktuelle Periode die erste Periode des Jahres ist, ist der Durchschnittswert mit der Quelle identisch.
Wenn der Parameter Periods eine Zahl ist, ist der Durchschnittswert die Summe der aktuellen und jeder vorausgehenden Periode für die angegebene Anzahl Perioden, dividiert durch die angegebene Anzahl.
Beispiel
Das Konto SALES gibt je nach dem in der benutzerdefinierten Funktion Average verwendeten Parameter Periods diese Werte für Januar, Februar und März 2014 zurück. Die Standardansicht, die für das verarbeitete Szenario festgelegt wird, ist "YTD".
Tabelle 13-4 Beispiel für die Funktion Average
| Konto | Oct2013 | Nov2013 | Dec2013 | Jan2014 | Feb2014 | Mar2014 |
|---|---|---|---|---|---|---|
|
A#Sales |
9.000 |
10.500 |
11.700 |
800 |
1.900 |
3.200 |
|
Average ("A#Sales", "YTD)" |
N/V |
N/V |
N/V |
800 |
950 |
1.067 |
|
Average ("A#Sales", "Periodic)" |
N/V |
N/V |
N/V |
800 |
950 |
1.200 |
|
Average ("A#Sales", "3") |
N/V |
N/V |
N/V |
1.167 |
1.033 |
1.067 |
Beispielskript
' 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