跳转到内容

Allocation Split 步骤

将源行中的值拆分为多个部分,并将每一部分路由到不同的目标,比例由驱动因素数据决定。它比 Allocation Rules 步骤更简单,适用于只需要将值分发出去、而不需要分配维度的情况。

常见模式:取一个总金额,根据驱动因素表中的百分比或权重将其分给多个接收方,并为每个接收方生成一个输出行。

源值$1,000拆分按驱动因素权重40%35%25%目标 A — $400目标 B — $350目标 C — $250
Allocation Split 按驱动因素权重的比例,将一个源值分发给多个目标,每个目标一个输出行。当只需要分割一个值时,它比 Allocation Rules 更简单。

待分摊值表、驱动因素数据表和分摊结果表可以动态或静态选择。

动态表选项允许使用文本和变量指定表。这在使用由变量驱动的工作流时很有用,此时对表或视图的引用与所指定的变量相关。

下面的示例使用 current_month 变量动态指向一个表:

legal_entity/inputs/{current_month}/ledger_values

如需将特定表用作源,请不要选中 Dynamic 框,并使用下拉菜单选择源表。

任何表选择都始终可以使用表资源管理器。单击表选择右侧的“表资源管理器”按钮,将打开表资源管理器窗口。

此表包含要分摊的值,这些值通常是成本或收入值。

驱动因素数据表包含分摊步骤将用来分摊成本的值。

示例:

  • 供应链要将成本分配给客户时,可以使用配送数据,以配送次数或配送重量作为驱动因素。
  • IT 服务台要将其成本分配给其所支持的部门时,驱动因素数据可以是按成本中心统计的工单数量。

驱动因素数据可以同时包含正值和负值。Driver Data Sign Rule 让您决定如何处理冲突的符号。

  • Error on conficting signs:遇到冲突的符号时,分摊步骤会产生错误并停止。
  • Proceed with warning on conflicting signs:分摊步骤会同时使用负值和正值的驱动因素值,但会显示警告。
  • Use only positive driver values:分摊步骤只使用正的驱动因素值,忽略负值。
  • Use only negative driver values:分摊步骤只使用负的驱动因素值,忽略正值。
  • Use absolute values of driver data:分摊步骤使用驱动因素数据的绝对值。

如果选中此框,分摊结果将追加到分摊结果表。 如果未选中此框,则每次运行分摊步骤时都会覆盖分摊结果表。

如果选中此框,则结果表会显示每条已分摊记录的金额,以及实际分摊给每条驱动因素记录的金额。

分摊源映射

分摊源映射用于映射待分摊值表中将在分摊步骤中使用的列。

检查并填充映射器

使用 检查源 菜单按钮可通过更多方式将列从源映射到目标:

  • 填充两个映射表:将源数据表中的所有值传播到目标数据表。此为默认行为。
  • 仅填充源映射表:仅映射源数据表中的所有值。当源列结构发生变化而需要修改现有工作流时,此选项很有用。
  • 仅填充目标映射表:仅将所有值传播到目标数据表。

如果源列和目标列选项仍不够用,还可以通过以下几种方式向目标数据表添加其他列:

  • 全部传播会将所有源列插入目标数据表,无论这些列是否已存在。
  • 传播所选项仅插入所选的源列。
  • 在目标侧右键单击并选择插入行,即可在当前所选行的正上方插入一行。
  • 在目标侧右键单击并选择追加行,即可在目标数据表底部(最右侧)插入一行。

角色

数据映射器中的每一列都必须指定一个角色:

  • Pass Thought - 这些列将显示在分摊结果表中。
  • 待分摊值 - 此列包含要分摊的值。

删除列

要从目标数据表中删除列,请选择所需的列,然后右键单击并选择删除。

更改列顺序

要重新排列目标数据表中的列,请选择所需的列。您可以使用以下任一方式:

  • 批量移动箭头:使用右上角的箭头选择所需的移动选项
  • 上下文菜单:右键单击并选择移到顶部、上移、下移或移到底部。

将结果缩减为仅非重复记录

要仅返回非重复选项,请选择非重复菜单选项。这会为源中的每一列切换显示一组复选框。只需勾选相应列旁边的复选框,即可仅返回非重复结果。

视情况而定,您也可以考虑改用汇总。

非重复处理会保留找到的第一条唯一记录,并丢弃其余记录。如果需要保证多次运行之间的一致性,建议对数据进行排序。

聚合和分组

要聚合结果,请选择汇总菜单选项。这会为目标数据表中的每一列切换显示一组选择框。请为每一列选择合适的汇总方法。

  • 分组依据
  • 求和
  • 最小值
  • 最大值
  • 第一个
  • 最后一个
  • 计数
  • 计数(含空值)
  • 平均值
  • 标准差
  • 样本标准差
  • 总体标准差
  • 方差
  • 样本方差
  • 总体方差
  • 高级非分组依据

有关表达式、清理和常量等高级数据映射器用法,请参阅高级数据映射器用法

Table Data Filters

为了获得最大的灵活性,源数据和目标数据都可以使用数据筛选器。对于较大的数据集,在源端筛选掉部分行尤其有益,这样后续操作只需处理较小的数据集。

选择数据子集

此筛选器类型用于根据指定条件筛选传入的源数据。

对结果数据应用二次筛选器

此筛选器类型用于根据指定条件对转换后的结果数据应用筛选器。 对转换后的结果应用筛选器,可以基于复杂计算、汇总或窗口函数的结果进行排除。

最终数据表切片(限制)

行切片功能可根据范围和起始点限制结果集中的行数。

筛选器语法

筛选器语法使用 Python SQLAlchemy,与其他表达式的语法相同。

有关示例和表达式函数,请参阅表达式部分。

分摊驱动因素数据映射

分摊驱动因素数据映射用于映射驱动因素数据表中将在分摊步骤中使用的列。

检查并填充映射器

使用 检查源 菜单按钮可通过更多方式将列从源映射到目标:

  • 填充两个映射表:将源数据表中的所有值传播到目标数据表。此为默认行为。
  • 仅填充源映射表:仅映射源数据表中的所有值。当源列结构发生变化而需要修改现有工作流时,此选项很有用。
  • 仅填充目标映射表:仅将所有值传播到目标数据表。

如果源列和目标列选项仍不够用,还可以通过以下几种方式向目标数据表添加其他列:

  • 全部传播会将所有源列插入目标数据表,无论这些列是否已存在。
  • 传播所选项仅插入所选的源列。
  • 在目标侧右键单击并选择插入行,即可在当前所选行的正上方插入一行。
  • 在目标侧右键单击并选择追加行,即可在目标数据表底部(最右侧)插入一行。

角色

数据映射器中的每一列都必须指定一个角色:

  • Source Relation - 这些列在待分摊值表中有对应的列。
  • Allocation Target - 这些列将作为分摊步骤的目标,并显示在分摊结果表中。
  • 拆分值 - 此列包含用于分摊待分摊值表中各值的数值。

删除列

要从目标数据表中删除列,请选择所需的列,然后右键单击并选择删除。

更改列顺序

要重新排列目标数据表中的列,请选择所需的列。您可以使用以下任一方式:

  • 批量移动箭头:使用右上角的箭头选择所需的移动选项
  • 上下文菜单:右键单击并选择移到顶部、上移、下移或移到底部。

将结果缩减为仅非重复记录

要仅返回非重复选项,请选择非重复菜单选项。这会为源中的每一列切换显示一组复选框。只需勾选相应列旁边的复选框,即可仅返回非重复结果。

视情况而定,您也可以考虑改用汇总。

非重复处理会保留找到的第一条唯一记录,并丢弃其余记录。如果需要保证多次运行之间的一致性,建议对数据进行排序。

聚合和分组

要聚合结果,请选择汇总菜单选项。这会为目标数据表中的每一列切换显示一组选择框。请为每一列选择合适的汇总方法。

  • 分组依据
  • 求和
  • 最小值
  • 最大值
  • 第一个
  • 最后一个
  • 计数
  • 计数(含空值)
  • 平均值
  • 标准差
  • 样本标准差
  • 总体标准差
  • 方差
  • 样本方差
  • 总体方差
  • 高级非分组依据

有关表达式、清理和常量等高级数据映射器用法,请参阅高级数据映射器用法

Table Data Filters

为了获得最大的灵活性,源数据和目标数据都可以使用数据筛选器。对于较大的数据集,在源端筛选掉部分行尤其有益,这样后续操作只需处理较小的数据集。

选择数据子集

此筛选器类型用于根据指定条件筛选传入的源数据。

对结果数据应用二次筛选器

此筛选器类型用于根据指定条件对转换后的结果数据应用筛选器。 对转换后的结果应用筛选器,可以基于复杂计算、汇总或窗口函数的结果进行排除。

最终数据表切片(限制)

行切片功能可根据范围和起始点限制结果集中的行数。

筛选器语法

筛选器语法使用 Python SQLAlchemy,与其他表达式的语法相同。

有关示例和表达式函数,请参阅表达式部分。