query

FinancialCube.query(expression, pov=None, compact=True, pivot_dim=None, validate_expr=True, verify_access=False, include_ignored=False, normalize_view=False)

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

参数
  • expression (str) – 维度表达式

  • pov (Union[str, Dict[str, str], None]) – Point Of View,维度表达式或者KV键值对格式,仅取一个维度成员。

  • compact (bool) – 是否将pov与查询数据分开输出以减少数据量

  • pivot_dim (Optional[str]) – 需要pivot的维度,将该维度的成员pivot到列上

  • validate_expr (bool) – 是否需要python校验/修改表达式,开启可能会导致额外的接口请求

  • verify_access (bool) – 是否带权限查询

  • include_ignored (bool) – 包含多版本实体维时,是否在结果中包含无效数据(即i列为1的数据)

  • normalize_view (bool) – 是否把大小写View统一成”View”

示例

expr = 'Year{2021;2022}->Entiy{Base(TotalEntity,0)}'
cube = FinancialCube('example')
data, pov = cube.query(expr)
data = cube.query(expr, compact=False)

注意最后2行的区别!

重要

如果开启 validate_expr ,入参中的维度表达式(expression) 将能够同时支持维度名和维度在事实表的数据列列名。 但由于方法内部依赖的财务模型HTTP接口只支持数据列名,所以目前返回的 DataFrame 的列名将与数据列列名保持一致。

返回类型

Union[DataFrame, Tuple[DataFrame, Dict[str, str]]]

返回

如果 compact=True (默认),返回 (DataFrame, dict) 格式的二元组,其中 DataFrame 为查询的主数据, dict 部分是pov

如果指定 compact=False ,则会将pov部分的数据复制到主数据中, 只返回一个 DataFrame