Average

計算數個期間之中的帳戶平均值。

傳回值

傳回字元字串,代表要作為 HS.EXP 函數一部分使用的正確表示式。

語法

Average (PointOfView, Periods)

表格 12-3 Average 函數的語法

參數 有效值

PointOfView

Account、Custom1….4、ICP 成員的有效組合,例如「A#CASH.C1#[None].I#[ICP Top]」

如果是流程類型帳戶,函數只會計算定期顯示值的平均值。

Periods

必須為以下值之一:

YTD - 指定迄今年度選項,以計算從目前年度的期間一開始的累計資料平均值。

Periodic - 指定定期選項,以僅計算從目前年度的目前和上一個期間的平均值。如果是第一個期間,這個值就會和來源相同。

[任何正整數] - 指定要計算平均值的期間數目。如果是每月類別中的累計年度平均值,請指定 12

詳細說明

這個函數會計算先前期間指定數量中的帳戶平均值。如果來源是餘額類型帳戶,平均值會以輸入的資料為基礎。如果來源是流程類型帳戶,平均值會以定期的資料為基礎。

平均值會根據 Periods 參數而各自衍生。

  • 如果 Periods 參數是 YTD,則平均值就是目前年度中所有期間到目前期間的總和除以目前期間數。

  • 如果 Periods 參數是 Periodic,則平均值就是目前和上一個先前期間的總和除以二。如果目前期間是年度第一個期間,則平均值會和來源的值相同。

  • 如果 Periods 參數是數字,則平均值就是目前期間加上指定數量期間的各個先前期間的總和,除以指定的數目。

範例:

SALES 帳戶會根據 Average 自訂函數中使用的 Periods 參數,傳回 2014 年一月、二月和三月的這些值。要處理的案例預設檢視設定為 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