Dimension

class deepfos.element.dimension.Dimension(element_name: str, folder_id: str = None, path: str = None, strict: bool = False, server_name: str = None)

维度元素

提供维度成员的读取、新增、删除、修改及保存能力,支持以表达式批量查询成员。

参数
  • element_name – 元素名

  • folder_id – 元素所在的文件夹id

  • path – 元素所在的文件夹绝对路径

  • strict – 是否开启严格校验模式。开启后会校验所有成员是否存在于系统维度中,会额外发起网络请求,性能略有损失,默认关闭。

  • admonition (.) – : 快速开始

  • code-block (.) – : pythonfrom deepfos.element.dimension import Dimension, DimMemberdim = Dimension(‘org’)# 读取所有成员members = dim.members# 增加成员并保存dim.add_member(DimMember(name=’A01’, parent_name=’A’))dim.save()# 按表达式查询mbrs = dim.query(‘Base(#root,0)’, fields=[‘ud1’])mbr = mbrs[0]ud1 = mbr.ud1name = mbr.name

  • note (.) – :- add_memberdelete_memberupdate_member 等写操作只在内存中修改,必须调用 save() 才会提交到系统。- strict=True 开启后写操作会验证父成员是否存在,适合生产环境的数据完整性场景。

提示

如果不提供folder_id和path,将会使用元素名和元素类型进行全局搜索。 如果找到 唯一匹配 的元素,那么一切正常,否则将会报错。

方法

add_member(*members[, silent])

增加维度成员

async_check_exist(ele_name[, ele_type, …])

异步查询元素是否存在

check_exist(ele_name[, ele_type, folder, …])

查询元素是否存在

delete_member(*members[, silent])

删除维度成员

delete_shared_memeber(member[, parent_name, …])

删除共享维度成员

load_dataframe(dataframe[, strategy, reorder])

保存 DataFrame 数据至维度

query(expression[, fields, as_model, role, …])

查询成员

reorder_members(memo, complete)

成员重排序

save([reorder])

保存维度

sync_data()

等效于调用DeepModel创建的维度的数据同步

to_deepmodel_object(object_name[, …])

维度成员导入至已有DeepModel对象

update(member_name, **attrs)

更新维度成员

update_parent(member_name, origin_parent, …)

修改系统已有维度成员的父级成员

update_parent_batch(dataframe)

批量修改系统已有维度成员的父级成员

wait_for(attr)

异步等待成员变量

属性

api

同步 API 对象

async_api

异步 API 对象

element_info

元素信息

element_type

元素类型

is_v1_0_api

当前维度实例是否连接到 1.0 版本接口

members

当前维度的所有成员

meta

当前维度的元信息

table_closure

维度层级关系表

table_dimension

维度数据表