Spread

此函數會依據設定檔帳戶中定義的設定檔 (例如收入設定檔、4-4-5 等),將來源帳戶的單一時間週期值 (例如 P#[Year]) 配置給目標帳戶的所有期間。

傳回值

無傳回值。

語法

Spread(Destination,Source,Factor,FactorN,FactorD,Temp,Per)

表格 12-24 Spread 函數的語法

參數 有效值

Destination

有效的目標 POV,是 Account、ICP 和 Custom 1-4 成員的有效組合。

Source

有效的來源 POV,是維度成員的有效組合。來源 POV 必須包括單一期間,例如 P#[Year]。單一期間金額是要分攤的金額。

Factor

有效的來源 POV。Factor 是用來儲存配置係數的帳戶。

FactorN

有效的來源 POV。FactorN 是用來作為分攤配置基礎的分子係數。

FactorD

有效的來源 POV。FactorD 是用來作為分攤配置基礎的分母係數。

Temp

有效的目標帳戶。Temp 是暫時儲存來源值的帳戶。

Per

期間字串,會定義時間範圍中第一個期間的名稱,例如「一月」。Temp 值會儲存在第一個期間內,而需要此參數才能在計算中參照這個值。

詳細說明

這個函數會依據設定檔 POV 中定義的設定檔 (例如收入設定檔、4-4-5 等),將來源 POV 的單一時間週期值 (例如 P#[Year]) 配置給目標 POV 的所有期間。

以時間為基礎的配置特別適合預算編列應用程式,在該類應用程式中,會先針對總計年度輸入金額,然後依據適合的設定檔跨期間進行配置。

來源 POV 必須包括單一期間。期間通常會是 P#[Year],但也可能是任何單一週期,例如 P#January。

來源 POV 中的值會依照暫時帳戶中的計算來儲存。這是必要的,因為來源和目標帳戶通常是相同的帳戶。在這種情況下,P#[Year] 中的值會隨著一個期間繼續到下一個期間的計算而變更。因此,您必須先儲存這個值,才能夠針對所有期間加以參照。

建議在呼叫常式中設定變數,並將其傳遞至 Spread 函數,這些變數會定義 Destination、Source、Profile、Temp 和 Period1 參數。建議將呼叫常式中的變數名稱設定為與 Spread 函數相同。

範例

Telephone 帳戶中的 Year 值會使用 4-4-5 季度比率,配置到期間中。

從 SPREAD 函數傳回的結果如下:

HS.EXP "A#TempTelephone.C1#[None] = A#Telephone.C1#[None].P#[Year]" (Where Period.Number = 1)
HS.EXP "A#Telephone.C1#[None] = A#TempTelephone P#January * E.Globals.A#Profile445.C1#[None].P#Cur / E.Globals.A#Profile445.C1#[None].P#[Year] 

範例指令碼

這個指令碼包含下列資訊:

  • 在呼叫常式中寫入的範例陳述式。

  • 在呼叫常式中設定並傳遞至 Spread 函數的變數。

  • 呼叫常式中的變數名稱,設定為與 Spread 函數相同。

    Sub Calculate()
    Dim Destination
    Dim Source
    Dim Factor
    Dim FactorN
    Dim FactorD
    Dim Temp
    Dim Per  
    Source = "A#Telephone.C1#[None].P#[Year]"
    Destination = "A#Telephone.C1#[None]"
    Factor = "A#Factor.C1#[None]"
    FactorN = "E#Globals.A#Profile445.C1#[None].P#CUR"
    FactorD = "E#Globals.A#Profile445.C1#[None].P#[Year]"
    Temp = "A#TempTelephone.C1#[None]"
    Per = "January"
    Call Spread(Destination,Source,Factor,
    FactorN,FactorD,Temp,Per)    
    End Sub
    ' Beginning of the Spread function 
    Sub Spread(Destination,Source,Factor,FactorN,FactorD,Temp,Per)
    If HS.Period.Number = 1 Then 
    HS.Exp Temp & " = " & Source
    End If
    HS.Clear Factor
    HS.EXP Factor & " = " & FactorN & " / " & FactorD    
    HS.Clear Destination
    HS.EXP Destination & " = " & Temp & ".P#" & Per & " * " & Factor 
    End Sub