load_dataframe

async AsyncDimension.load_dataframe(dataframe, strategy=Strategy.incr_replace, reorder=False, **langugage_keys)

保存 DataFrame 数据至维度

此方法不同于 add_memberdelete_member 等方法,保存结果将直接反映至系统,不需要再调用save。

参数
  • dataframe (DataFrame) – 包含维度数据的DataFrame

  • strategy (Union[Strategy, str]) – 数据保存策略

  • reorder (bool) – 是否对保存的元素进行重排序,将会损失性能。

  • **langugage_keys – 维度成员描述(多语言)对应的列名

注解

  1. 数据保存策略可选参数如下:

参数

说明

full_replace

完全替换所有维度成员。 此策略将会删除所有已有维度成员, 以dataframe为数据源新建维度成员。

incr_replace

增量替换维度成员。 此策略不会删除已有维度成员。 在保存过程中,如果遇到成员名重复的情况, 会以dataframe数据为准,覆盖已有成员。

keep_old

保留已有维度成员。 此策略在保存过程中,遇到成员名重复的情况, 会保留已有成员。其他与incr_replace相同。

2. 目前描述支持两种语言: zh-cn, en,此方法默认会在dataframe中寻找 名为 'language_zh-cn', 'language_en' 的列,将其数据作为对应 语言的描述。如果想改变这种默认行为,比如希望用’name’列作为中文语言描述, 可以传入关键字参数: language_zh_cn='name'

警告

  • 目前由于技术原因,如果要保存共享维度成员,必须使用full_replace策略。

  • 如果传入的dataframe不含index列,将自动以0填充该列。