财务模型¶
案例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()
效果展示¶
输入数据如下
点击 “保存全部” ,应当看到计算数据显示在电子表格中