计算每月资产变动
您可以使用 @PRIOR 函数基于上个月的值计算值。
例如,假定数据库包含按月存储的资产数据值。您可以通过从当月的值中减去上个月的值来计算连续月份(资产变动)的资产值之间的差值。
假设这三个成员管理数据库的资产值:
-
每月资产值的资产
-
Asset_MVNT 表示资产移动值
-
年初资产值的期初余额
对于 Jan,通过从 Jan 值减去 Opening_Balance 值来计算 Asset_MVNT 值。
您将在 Asset_MVNT 成员上添加此公式:
IF(@ISMBR(Jan)) Asset_MVNT = Assets - Opening_Balance;
ELSE Asset_MVNT = Assets - @PRIOR(Assets);
ENDIF;下表显示了 Essbase 计算连续月份中资产值之间的差异时的结果:
表 18-3 结果:计算每月资产变动的计算脚本示例
| 资产 -> 时间 | 期初余额 | Jan | Feb | 三月 |
|---|---|---|---|---|
|
资产 |
1200 |
1400 |
1300 |
1800 |
|
资产 _MVNT |
200 |
-100 |
500 |
Essbase 周期为数月,执行以下计算:
-
IF 语句和 @ISMBR 函数检查“年份”维上的当前成员是否为“一月”。需要进行此检查,因为不能通过减去上个月的值来计算“一月”的 Asset_MVNT 值。
-
如果 Year 维上的当前成员是 Jan,则 Essbase 将从 Jan -> Assets 值中减去 Opening_Balance,并将结果放置在 Jan -> Asset_MVNT 中。
-
如果 Year 维上的当前成员不是 Jan,则 @PRIOR 函数将获取上个月资产的值。Essbase 将上个月的资产从当月资产中减去。将结果放置在当月的 Asset_MVNT 值中。