【问题标题】:Rename Collection Fields In BluePrism重命名 BluePrism 中的集合字段
【发布时间】:2018-05-11 21:35:05
【问题描述】:

我有一个 excel 工作表,我在其中使用 get Worksheet Range 作为集合。但是,excel 文件没有列名。阅读工作表后,我想更改集合字段名称。 我曾尝试使用重命名集合字段,但这似乎不起作用?

【问题讨论】:

    标签: blueprism rpa


    【解决方案1】:

    如果您在范围顶部留下空白行,BP 将从左到右分配列名称(Column1、Column2 等...)。有了这个,你可以在你的输出集合退出“获取范围作为集合”阶段后执行以下操作:

    1) - 为您希望插入到集合中的每个列名称创建 1 个数据项。
    - 选择适当的数据类型并在每个数据项的值字段中输入所需的列名。

    2) - 插入一个新的空白集合项并将其命名为“字段名称”。
    - 在此集合中,在“字段”选项卡下,为每个列名称添加 1 个字段。
    - 然后将每个字段从上到下命名为 Column1、Column2 等(无空格),并为每个字段选择适当的数据类型。
    - 最后,在 Initial Values 选项卡下,使用 Add Row 按钮输入一个新的黑色行。

    3) - 现在在“获取范围作为集合”阶段之后插入一个 MultiCalc 阶段。
    - 使用添加按钮,创建与您之前在步骤 1 中创建的数据项一样多的行。
    - 在表达式字段中,拖放您之前创建的每个数据项。
    - 在 Store In 字段中,指向您在 step2 中创建的集合以及 BP 给出的列的“原始”名称,例如 FieldNames.Column1、FieldNames.Column2 等...

    4) - 在 MultiCalc 之后插入一个新的操作阶段,并将其命名为“重命名字段”。
    - 作为业务对象,选择“Utility - Collection Manipulation”。
    - 作为操作,选择“重命名集合字段”。
    - 作为主集合,拖放您从“获取范围作为集合”阶段获得的原始输出集合。
    - 作为新标题,拖放您在步骤 2 中创建的“字段名称”集合。
    - 最后在输出选项卡下,创建(或拖入)输出集合并将其命名为“修正集合”。

    如果您使用 MSExcelVBO/WriteCollection 将“修改后的集合”写入 Excel,您将看到您的数据现在具有每个数据项的列名。例如,这是一个没有标题的列表,我希望标题是名称和百分比(请参阅下面的蓝色数据项):
    这是我解释过的过程:

    Get Range As Collection 阶段(输入选项卡):
    Get Range As Collection 阶段(输出选项卡): 字段名称集合(字段): 字段名称集合(初始值):
    MultiCalc 阶段: Rename Collection Fields 阶段(输入): Rename Collection Fields 阶段(输出): 最后是 Write Collection 阶段: 结果:

    【讨论】:

    • 谢谢。所以我跟着你的步骤。但是,我使用重命名字段的最终输出选项卡正在输出一个空集合?另外我不明白为什么要执行步骤 1 到 3。我不能有一个包含名称字段名称设置的集合吗?
    • @E_McAndrew 最后的输出选项卡应该是您的原始集合捕获加上“字段名称”集合中的列名,这些列名已将 BP 给定的通用列名替换为空白行单元格(Column1、Column2、 ETC...)。因此,无论您在流程中对数据执行什么其他操作(例如将集合写回 Excel),都应参考步骤 4 中的最后一个输出集合。
    • @E_McAndrew 如果您只是在“字段名称”集合中输入名称,BP 将期望在传入集合中找到这些名称,并且您说您的数据没有列标题,因此 BP 会给您一个错误,该过程将停止。这当然是假设第一行中的数据并不总是相同的。因此第一行空白建议。与将名称硬编码到阶段相比,创建数据项允许您更轻松地重命名列标题...这也是一种被认为是最佳实践,因为它使将来更容易编辑流程。
    • 当我运行这些步骤时,我的输出集合似乎只是空的。我附上了我在问题中所做的截图。我是不是做错了什么?
    • 嗨,我已经用每个步骤的截图更新了帖子。抱歉,我无法真正看到您的流程中发生了什么。我希望这些能帮助你弄清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多