背景
在使用数据管理套件来协调报告流程时,我们经常会遇到复杂的工作流程场景。例如,应用程序可能需要执行以下操作:
- 同一个工作流程多次重复,每次使用不同的输入
- 多种不同的工作流程
- 多个并行工作流程,每个工作流程都有特定的输入
- 源系统集成工作流需要特定参数,例如日期、文件名或规则名称
为了高效地自动化和管理这些复杂的工作流程要求, 控制 表的概念被证明是非常有价值的。控制表作为集中式管理工具,允许预先定义每个工作流程执行的输入。通过利用控制表,用户可以指定每个工作流程的运行参数和条件,从而实现无缝、自动化的流程,该流程可以运行所有必要的工作流程,并输入适当的信息,而无需在每个步骤进行人工干预。
通过创建和使用控制表,用户可以:
- 定义每次执行时将传递给链的输入值。
- 定义标志,以确定链是否应执行某些操作
- 在执行链或运行规则时,将查询参数、规则名称或日期筛选器等值传递到系统工作流中。
- 执行部分前滚操作
- 管理 Workiva 中工件的 ID
- 记录工作流的执行状态
本文将指导用户完成创建简单控制表的过程。此表格允许用户使用各种输入集运行相同的工作流程。
先决条件
步骤 1:设置控制表
- 在 Workiva 平台内创建电子表格
- 将所有权权限分配给与 OAuth2 授权关联的用户。
- 将电子表格和工作表重命名为
- 控制电子表格
- 控制表
步骤 2:设置控制表的标题(键)
为 Chain 工作流将处理的每个值建立标头。在这个例子中,设置了以下标头:
- Active_Flag: 用于确定是否应处理此行
- 文件名: 要处理的文件的名称
- Table_ID: 文件将要导入的 Wdata 表的 ID
步骤 3:为控制表中的标题赋值
- 在这个例子中,每个键/值对都定义了三个值。因此,每读取一行数据,就会输入以下数据:
true, file_x.csv, df2a1988929e4358858306956685e162
true, file_y.csv, df2a1988929e4358858306956685e162
true, file_z.csv, df2a1988929e4358858306956685e162
步骤 4:创建链以检索控制表数据
为了从电子表格中检索控制表数据,必须创建一个链来读取电子表格。
- 导航至“链”模块并创建一个新链
- 导航至“链”设置并为您的新链命名 获取控制表数据
- 添加两个链式 变量:
- cv-电子表格ID
- 简历表名称
- 将控制表中的相应 SpreadsheetID 和 SheetName 值填充到每个变量中。
步骤 5:获取工作表数据
要使用控制表中的数据,必须使用 获取工作表数据 命令。该命令读取电子表格中某个工作表的内容,并生成一个 .csv输出。
- 将 Workiva 获取工作表数据 命令拖放到画布的“开始”区域。
- 配置命令
- 重命名 获取控制表数据
- 使用链变量 cv-SpreadsheetID 作为电子表格 ID 字段
- 使用链变量 cv-SheetName 作为工作表 ID/名称字段
- 输入 A1: 表示该区域
- 将值样式和修订保留为 计算和 -1
- 点击“保存”
步骤 6:将工作表数据转换为 JSON
成功检索到 .csv 格式的控制表数据后,下一步是将其转换为 JSON 格式。此转换确保标题和列值正确重新格式化为 JSON 键值 结构。这种格式对于后续步骤至关重要。
- 将 CSV 转 JSON 命令拖到画布上。
- 将 “获取控制表数据 ”命令链接到 “ CSV 转 JSON ”命令
- 编辑 CSV 转 JSON 命令
- 在 “输入文件 ”字段中,使用 “获取控制表数据 ”下拉列表中的 “数据 ”输出。
- 将分隔符字段保留为逗号 (,)。
- 点击“保存”
步骤 7:遍历 JSON 数据
现在控制表数据已采用 JSON 格式,可以使用 命令组遍历控制表中的每一行数据 。
- 将 命令组 添加到画布
- 将 CSV 转 JSON 命令连接到命令组的 In 部分
- 编辑命令组并将其命名为 JSON 迭代器
- 单击“基本信息”选项卡右侧的迭代符号。
- 启用迭代器
- 保留 选择修饰符类型 为 列表
- 对于 “迭代次数 ”部分,请从 “ CSV 转 JSON ”命令的下拉列表中选择 “ <> JSON 文件 ”输出。
- 点击“保存”
步骤 8:预览每次数据迭代
现在,该链能够遍历控制表的每一行,可以使用 Handlebars 命令来预览信息的输出。
注:本文中 Handlebars 命令仅用作占位符,用于查看值,但也可以使用其他命令来处理这些值。
- 将 渲染文本模板 命令拖放到画布上。
- 将命令组的 组开始 链接到 渲染文本模板 命令
- 编辑命令并将其命名为 预览控制表数据
- 在“模板”字段中,输入以下内容:
文件名 活动标志表 ID
- 为了从控制表中导出值,必须对每个 JSON 迭代应用变量转换。
- 在 文件名旁边,从侧边栏中选择 JSON 文件迭代 ,该侧边栏位于 组迭代器下拉菜单下方。
-
- 单击 JSON 文件迭代,选择“从 JSON 获取值”。
- 在“值”字段中,输入控制表中的标题 File_Name
- 注:一个好的做法是将控制表中的标题直接复制到值字段中
- 按回车键并接受
-
- 对控制表中的 Active_Flag 和 Table_ID 标题重复上述步骤
- 完成后,模板字段应如下所示:
- 保存命令
步骤 9:运行链并预览
现在链表和控制表已经设置好了,重要的是要确保 Handlebar 输出的每次迭代都包含控制表中每一行的数据。
- 点击 发布 ,然后点击 执行 链
- 运行链条
- 链式操作成功运行后,单击 “预览控制表数据 ”命令,然后导航到 “日志 ”选项卡。
- 在“开始渲染文本”下方,应该可以看到第一次迭代的输出。
- 切换到“日志”选项卡上方的“值 2”选项,即可查看第二次迭代的结果。
- 最后,切换到值 3,查看第三次迭代的结果。
- 每次迭代应如下所示:
值 1:
值 2:
值 3:
利用激活标志
下一步是使用已构建的同一链,加入利用 活动标志 的值的 条件 逻辑。
- 编辑链表,删除 JSON 迭代器 和 预览控制表数据之间的链接。
- 添加一个 条件 命令,并将 命令组的组 起始点连接到新命令。
- 将 条件 命令链接到 预览控制表数据 命令
- 编辑条件命令
- 命令名称 活动标志?
- 点击 + 规则 按钮
- 在值字段中,从 组迭代器的下拉列表中单击 <> JSON 文件迭代
- 添加一个变量转换,并使用控制表中的 Active_Flag 标题作为值
- 点击“接受”
- 将条件从“为空”更改为“=”。
- 在表达式字段中输入单词“true”。
- 点击保存
现在,每当链运行时,只有当该迭代中的 Active_Flag值等于 true时 ,才会执行 Preview Control Sheet Data 命令。
- 由于其中两次迭代的 Active_Flag 设置为“FALSE”,因此 预览控制表数据 命令仅在第三次迭代中执行。
- 如果控制表中“活动标志?”条件命令之后的命令的迭代值为“FALSE”,则该命令将被跳过。
其他应用案例
控制表提供了一种高效的方式来集中、管理和自动化工作流程执行中使用的值。它可以应用于多种场景,包括:
- 用于管理源系统、Workiva 和 Wdata 元素 ID 的中央枢纽
- 利用标志位来筛选并决定是否执行特定流程。
- 指定用于从源系统执行报表的 URL 端点
- 为特定文件定义日期和命名规则
- 确定 SFTP 请求要检索指定文件的文件目录