SysCube

class deepfos.core.SysCube(cube_name, folder_id=None, path=None, fetch_dim=True, extra_dim_attrs=None, data_col='data', use_dim_element=False, **options)

系统财务Cube

包含成员公式,自动汇总功能。

参数
  • cube_name (str) – 财务模型名称

  • folder_id (Optional[str]) – 元素所在的文件夹id

  • path (Optional[str]) – 元素所在的文件夹绝对路径

  • fetch_dim (bool) – 是否提前获取完整维度树

  • extra_dim_attrs (Optional[Dict[str, List[str]]]) – 维度需要额外查询的属性

  • data_col (str) – 数据列列名

  • use_dim_element (bool) – 是否使用维度元素,在仅使用fix功能时,开启此选项会大幅提高性能

注解

SysCube 需要在 python 中解析维度表达式以实现它的一些算法。 因此在实例化时,会尝试获取所有维度的成员信息。 为了减少网络及内存开销,默认在查询维度时,只会查询 name, parent_name, aggweight 三个属性。这种情况下, 如果你在 fix 表达式中使用了 ud 作为维度的筛选条件, 例如 fix 中包含:

Entity{AndFilter(Base(#root,0),Attr(ud1,"WL"))}

将导致报错。为了解决上述问题,引入 extra_dim_attrs 用于指定维度需要额外查询的属性。 传入如下参数即可:

extra_dim_attrs = {
    "Entity": ["ud1"]
}

方法

fix([general_fix, on_dim])

执行成员公式

ichildren(fix, dimensions[, submit, …])

维度自动汇总

idescendant(fix, dimensions[, submit, …])

递归汇总维度

load_expr(cube_expr)

读取维度表达式

make_condition(condition)

创建筛选条件,用于成员公式

reset_dimensions()

清空维度选择的成员

set_options(**kwargs)

修改cube设置

submit_calc_result()

提交计算结果

to_expr()

当前的维度锁定状态转化为表达式

属性

dim_state

可隐藏变量

option_stack

当前维度表达式下的维度状态

pov

Point of View

cube_name

cube名

data_col

cube数据列

dimensions

维度名->维度对象

calc_set

计算结果集