多数の期間に渡る勘定科目の平均値を計算します。
戻り値
HS.EXP関数の一部として使用される正しい式を表す文字列が戻されます。
構文
Average (PointOfView, Periods)
表12-3 Average関数の構文
パラメータ | 有効な値 |
---|---|
PointOfView |
A#CASH.C1#[None].I#[ICP Top]など、勘定科目、カスタム1から4、ICPメンバーの有効な組合せ フロー・タイプの勘定科目の場合、この関数で計算されるのは、期間の値の平均のみです。 |
Periods |
次のいずれかの値にする必要があります: YTD - 現在の年におけるある期間の累積データを平均するための年次累計オプションを指定します。 Periodic - 現在の年のみにおける現在の期間と直前の期間を平均するための期間オプションを指定します。最初の期間では、この値はソースの値と同じです。 [任意の整数] - 平均を計算する期間数を指定します。月のカテゴリで年間の平均を計算する場合は、 |
詳細説明
この関数は、過去の指定された期間数に渡り、勘定科目の平均値を計算します。ソースが残高タイプの勘定科目の場合、平均は入力されたデータに基づきます。ソースがフロー・タイプの勘定科目の場合、平均は期間データのみに基づきます。
平均値の導出方法は、Periodsパラメータによって異なります。
PeriodsパラメータがYTDの場合、平均値は現在の年における現在までの全期間の合計を、現在の期間数で割った値です。
Periodsパラメータが期別の場合、平均値は現在と直前の期間の合計を2で割った値です。現在の期間が年の最初の期間である場合、平均値はソースの値と同じです。
Periodsパラメータが数値の場合、平均値は、現在の期間と過去の各期間の指定された期間数の合計を、指定された数で割った値です。
例
SALES勘定科目では、Averageカスタム関数で使用されるPeriodsパラメータに基づいて、2014年1月、2月、3月に次の値が戻されます。処理中のシナリオに設定されたデフォルト・ビューはYTDです。
表12-4 Average関数の例
勘定科目 | Oct2013 | Nov2013 | Dec2013 | Jan2014 | Feb2014 | Mar2014 |
---|---|---|---|---|---|---|
A#Sales |
9,000 |
10,500 |
11,700 |
800 |
1,900 |
3,200 |
Average ("A#Sales", "YTD)" |
N/A |
N/A |
N/A |
800 |
950 |
1,067 |
Average ("A#Sales", "Periodic)" |
N/A |
N/A |
N/A |
800 |
950 |
1,200 |
Average ("A#Sales", "3") |
N/A |
N/A |
N/A |
1,167 |
1,033 |
1,067 |
サンプル・スクリプト
' 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