财务模型

案例1 - 销售金额计算

需求

sales_cube为某零售系统的销售数据cube,共有Account,Year,Period,Entity四个维度和两个度量。现有电子表格让用户录入货品的单价,折扣率,销售量三个科目,在保存后通过python脚本,计算对应pov的:

  • 实际售价 = 单价 * (1 - 折扣率)

  • 销售金额 = 实际售价 * 销售量

解决方案

  • 配置Python逻辑在电子表格 保存后

  • 针对单个维度的维度成员间计算,可以使用DeepFOS SDK提供的 SysCube

代码

from deepfos.core.cube import SysCube
from deepfos.lib.utils import dict_to_expr


def main(p1, p2):
    cube = SysCube('test')
    # 获取本次计算涉及的数据pov
    fix = dict_to_expr(p2)

    # 使用SysCube提供的成员公式功能计算
    with cube.fix(fix, on_dim='Account') as acc:
        acc['ActualPrice'] = acc['UnitPrice'] * (1 - acc['Discount'])
        acc['TotalSales'] = acc['ActualPrice'] * acc['SalesVolume']

    # 提交计算结果
    cube.submit_calc_result()

效果展示

输入数据如下

../_images/eg_finmodel_case1_enter.png

点击 “保存全部” ,应当看到计算数据显示在电子表格中

../_images/eg_finmodel_case1_rslt.png

案例模板

需求

解决方案

代码

效果展示