FinancialCube

class deepfos.element.finmodel.FinancialCube(element_name: str, folder_id: Optional[str] = None, path: Optional[str] = None, entry_object='python', server_name: Optional[str] = None)

财务模型

参数
  • element_name – 元素名

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

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

  • entry_object – 数据来源名模板,支持替换的字段为脚本元素名称或脚本全名,默认为python

注解

例如当前脚本元素名为demo,则如下初始化方式可在保存时,显示数据来源将为 Script for: demo

cube = FinancialCube(
    element_name='test_cube',
    entry_object='Script for: {script_name}'
)

entry_object的自定义命名逻辑实际实现:

通过 .format 将 full_name 替换为 OPTION.general.task_info['script_name'], 将 script_name 替换为 full_name 被’.’ split 后的最后一个名称

本地测试时,可通过增加如下语句为OPTION.general.task_info赋值

from deepfos.options import OPTION

OPTION.general.task_info = {'script_name': 'python.tt', 'task_id': ''}

其中的值可以通过在平台上运行如下得到:

print(OPTION.general.task_info)

提示

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

方法

async_check_exist(ele_name[, ele_type, …])

异步查询元素是否存在

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

查询元素是否存在

copy_calculate(formula, fix_members)

cube copy计算接口

delete(expression[, chunksize, use_mdx, …])

删除数据

delete_with_mdx(expression)

通过MDX脚本删除数据

insert_null(expression[, query_all])

使用insert null方式删除数据

mdx_execution(script[, parameters, …])

执行MDX计算语句

pc_init([process_map, data_block_map, …])

cube权限初始化

pc_update(status[, process_map, …])

cube权限状态更新

pc_upsert(status[, process_map, …])

cube权限状态upsert更新

queries(expressions[, drop_duplicates, …])

查询多个表达式

query(expression[, pov, compact, pivot_dim, …])

根据维度表达式以及pov获取cube数据

save(data[, pov, data_column, need_check, …])

将DataFrame的数据保存至cube。

save_unpivot(data, unpivot_dim[, pov, …])

保存有某个维度所有成员在列上的 DataFrame

wait_for(attr)

异步等待成员变量

属性

account_col

api

同步API对象

async_api

异步API对象

col_dim_map

数据列名 -> 维度名的字典

dim_col_map

维度名 -> 数据列名的字典

dim_elements

财务Cube的维度元素

dimensions

财务Cube的维度信息

element_info

元素信息

element_type

元素类型

fact_table

事实表对应的数据表

meta

财务Cube的元数据信息