财务模型 ======== 案例1 - 销售金额计算 -------------------- 需求 ^^^^ sales_cube为某零售系统的销售数据cube,共有Account,Year,Period,Entity四个维度和两个度量。现有电子表格让用户录入货品的单价,折扣率,销售量三个科目,在保存后通过python脚本,计算对应pov的: - 实际售价 = 单价 * (1 - 折扣率) - 销售金额 = 实际售价 * 销售量 解决方案 ^^^^^^^^ - 配置Python逻辑在电子表格 **保存后** - 针对单个维度的维度成员间计算,可以使用DeepFOS SDK提供的 :ref:`SysCube` 代码 ^^^^ .. code-block:: python 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() 效果展示 ^^^^^^^^ 输入数据如下 .. panels:: :container: container pb-1 img-auto-width :column: col-lg-12 p-0 :body: p-0 .. image:: ../images/eg_finmodel_case1_enter.png 点击 **“保存全部”** ,应当看到计算数据显示在电子表格中 .. panels:: :container: container pb-1 img-auto-width :column: col-lg-12 p-0 :body: p-0 .. image:: ../images/eg_finmodel_case1_rslt.png 案例模板 ---------------------- 需求 ^^^^ 解决方案 ^^^^^^^^ 代码 ^^^^ 效果展示 ^^^^^^^^