EXPORT 命令
将数据从 Analytics 导出为指定的文件格式,或将数据导出到 Diligent One 中的结果应用程序或机器人应用程序。
说明
必须安装 32 位 Microsoft Access 数据库引擎,才能使用 EXPORT 命令来处理旧版 Excel 文件 (*.xls) 和 Microsoft Access 文件 (*.mdb)。要了解更多信息,请参考排除可选的 Microsoft Access 数据库引擎。
语法
EXPORT {<FIELDS> 域名称 <AS 导出名称> <...n>|<FIELDS> ALL <EXCLUDE 域名称 <...n>>} <UNICODE> 导出类型 <SCHEMA> <PASSWORD num> TO {文件名|aclgrc_id|highbond_api_url} <OVERWRITE> <IF 测试> <WHILE 测试> <{FIRST 范围|NEXT 范围}> <APPEND> <KEEPTITLE> <SEPARATOR 字符> <QUALIFIER 字符> <WORKSHEET 工作表名称> <DISPLAYNAME>
参数
名称 | 描述 | |||||||
---|---|---|---|---|---|---|---|---|
FIELDS 域名称 AS 导出名称 <...n> | FIELDS ALL |
要导出的域。
|
|||||||
EXCLUDE 域名称 可选 |
仅当使用 FIELDS ALL 导出时有效。 要从该命令中排除的一个或多个域。EXCLUDE 让您可以通过排除指定的域,来调整 ALL 关键字。 如果要添加源自一个或多个相关表的字段,则 EXCLUDE 必须紧跟在 FIELDS ALL 之后,或 ALL 关键字最后一次出现的位置之后。例如: FIELDS ALL EXCLUDE 域 1 域 2 FIELDS ALL 关联表名称.ALL EXCLUDE 域 1 域 2 |
|||||||
UNICODE 可选 |
仅在 Unicode 版的 Analytics 中可用。仅适用于文本文件、分隔文本文件、XML 文件和 Windows 剪贴板输出。( ASCII , DELIMITED , XML , CLIPBOARD ) 导出应用了 Unicode UTF-16 LE 字符编码的Analytics 数据。
有关详细信息,请参见Diligent Unicode 产品。 |
|||||||
导出类型 |
输出文件格式或目标。 指定以下选项之一:
|
|||||||
架构 可选 |
仅适用于 XML 文件输出。( XML ) 在导出的 XML 文件中包括 XML 架构。XML 架构包含描述 XML 文件结构(包括域的数据类型)的元数据。 在导出文件后,您可以根据该架构验证文件。 |
|||||||
可选 |
仅适用于 Diligent One 应用程序。( ACLGRC , HBDATA ) 要使用的密码定义。 您不使用 PASSWORD 数字 提示用户提供或者指定实际密码。密码定义是指先前使用 PASSWORD 命令、SET PASSWORD 命令或 PASSWORD 分析标记提供或设置的密码。 数字是密码定义的编号。例如,如果之前已在脚本中或在调度分析脚本时提供或设置了两个密码,则 PASSWORD 2 指定使用密码 #2。 有关提供或设置密码的详细信息,请参见: 必须将 PASSWORD 数字放在 TO 之前紧邻位置或命令语法字符串的末尾。 所需的密码值是 HighBond 访问令牌。有关详细信息,请参见创建密码定义并指定密码值。 可能需要也可能不需要 PASSWORD 数值,具体取决于脚本运行的环境。
|
|||||||
TO 文件名称 |
如果将数据导出到文件,请指定文件名称。 如果需要,您可以包括绝对或相对文件路径,但 Windows 文件夹必须已经存在。必须将文件名值指定为带引号的字符串。 说明 要导出到逗号分隔值文件 (*.csv),您必须将 .csv 文件扩展名指定为文件名的一部分。例如:vendors.csv |
|||||||
TO aclgrc_id |
如果将数据导出到 Diligent One 结果应用程序,目标会在结果应用程序中。( ACLGRC ) aclgrc_id 值必须包含结果控制测试 ID 编号;如果您导出到北美(美国)以外的数据中心,则必须包含数据中心代码。aclgrc_id 值必须用引号围起来。 控制测试 ID 号和数据中心代码必须使用 @ 符号加以分隔。例如,TO "99@eu"。 如果您不知道控制测试 ID 号码,请使用 Analytics 用户界面开始导出至结果应用程序。一旦您已经识别了控制测试 ID 号,请取消导出。有关详细信息,请参阅将异常数据导出到 Diligent One 中的结果应用程序。 数据中心代码会指定要将数据导出到哪个地区的 Diligent One 服务器:
您只能使用为贵组织的 Diligent One 实例授权的数据中心代码。北美(美国)数据中心是默认的,因此指定 @us 是可选操作。 |
|||||||
TO highbond_api_url |
如果将数据导出到 Diligent One 机器人应用程序,目标会在机器人应用程序中。( HBDATA ) 说明 无法导出到 ACL 机器人。必须导出到 HighBond 机器人或工作流机器人。 highbond_api_url 值是目标机器人的 HighBond API 请求 URL。以下示例将 *.csv.gz 文件导出到符合下述情况的目标:
TO "https://apis-us.highbond.com/v1/orgs/1000236/robots/52053/working_files?env=development" 使用 env 查询字符串参数,指定将文件导出到机器人中的开发模式或生产模式:
|
|||||||
OVERWRITE 可选 |
仅适用于 Diligent One 应用程序。( ACLGRC , HBDATA )
与目标控制测试(表)相关的任何解释都会动态更新以反映所导入的数据,无论您是覆盖还是附加。 |
|||||||
IF 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。 说明 在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。 |
|||||||
WHILE 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。该命令被一直执行到条件的计算结果为假或者到达表的末尾为止。 说明 如果您将 WHILE 与 FIRST 或 NEXT 结合使用,请在达到一个限制时立即记下处理步骤。 |
|||||||
FIRST 范围 | NEXT 范围 可选 |
要处理的记录数:
请使用范围指定要处理的记录数。 如果您省略 FIRST 和 NEXT,则会默认处理所有记录。 |
|||||||
APPEND 可选 |
仅适用于文本文件和分隔文本文件。( ASCII , DELIMITED ) 将命令输出附加到现有文件的末尾,而不是覆盖现有文件。 说明 您必须确保命令输出的结构和现有文件完全相同:
Analytics 将输出附加到现有文件,而无论其结构如何。如果输出的结构和现有文件不匹配,则可能生成混乱的、不完整的或不准确的数据。 |
|||||||
KEEPTITLE 可选 |
仅适用于文本文件、分隔文本文件和逗号分隔值文件。( ASCII , DELIMITED ) 请在导出数据中包括 Analytics 域名称。如果被省略,则没有域名称会出现在输出文件中。 |
|||||||
SEPARATOR 字符 可选 |
仅适用于分隔文本文件和逗号分隔值文件。( DELIMITED ) 要用作域之间的分隔符的字符。您必须将该字符指定为带引号的字符串。 默认情况下,Analytics 使用逗号。如果您要导出至逗号分隔值文件,请勿指定除逗号以外的任何字符。 |
|||||||
QUALIFIER 字符 可选 |
仅适用于分隔文本文件和逗号分隔值文件。( DELIMITED ) 要用作文本限定符以便环绕和标识域值的字符。您必须将该字符指定为带引号的字符串。 默认情况下,Analytics 使用双引号。 |
|||||||
WORKSHEET 工作表名称 可选 |
仅适用于 Microsoft Excel *.xlsx 文件。( XLSX ) 在新的或现有 Excel 文件中创建的 Excel 工作表的名称。指定字符数不得超过 31 个。 默认情况下,Analytics 使用您要导出的 Analytics 表的名称作为工作表名称。超过 31 个字符的名称将被截断。 工作表名称只能包含字母数字字符或下划线字符 ( _ )。该名称不能包含特殊字符、空格或以数字开头。将值放在引号内是可选的。 有关在导出时覆盖 Excel 工作簿和工作表的详细信息,请参见WORKSHEET 参数和覆盖。 |
|||||||
DISPLAYNAME 可选 |
仅适用于 Diligent One 结果应用程序。( ACLGRC ) 将域名称导出为域名称,将显示名称导出为显示名称,因此,显示名称出现在结果应用程序中的列标题中,而不会影响实际域名称。 可以将 DISPLAYNAME 与 AS 组合使用。有关详细信息,请参见在导出到 Diligent One 结果应用程序时,DISPLAYNAME 参数如何与 AS 交互?。 |
示例
Excel 示例
将数据导出到 Excel .xlsx 文件
您将特定域从 Vendor 表导出到 Excel *.xlsx 文件:
OPEN Vendor
EXPORT FIELDS Vendor_No Vendor_Name Vendor_City XLSX TO "VendorExport"
将数据导出到 Excel .xlsx 文件并指定工作表名称
您将特定域从 Vendor 表导出到 Excel *.xlsx 文件中名为 Vendors_US 的工作表:
OPEN Vendor
EXPORT FIELDS Vendor_No Vendor_Name Vendor_City XLSX TO "VendorExport" WORKSHEET Vendors_US
分隔文件示例
将所有域导出到一个分隔文件
您将 Vendor 表中的所有域导出至一个分隔文件:
OPEN Vendor
EXPORT FIELDS ALL DELIMITED TO "VendorExport"
将域子集导出到一个分隔文件
在将表中域的子集导出到外部文件时,有两个选项:
- 指定要导出的各个域
- 指定 FIELDS ALL 并指定要从导出范围中排除的域
提示
使用任何一种最省力的方法。
下面的示例参照 Vendor 表,它包含八个域:
- 供应商编号
- 供应商名称
- 供应商街道
- 供应商城市
- 供应商州
- 供应商 ZIP
- 上次活动日期
- 审核日期
指定要导出的域
您将 Vendor 表中的两个域导出至一个分隔文件:
OPEN Vendor
EXPORT FIELDS Vendor_No Vendor_Name DELIMITED TO "Vendors" KEEPTITLE SEPARATOR "|" QUALIFIER '"'
指定 FIELDS ALL 并指定要排除的域
您将 Vendor 表中的所有域(上次活动日期域和审核日期域除外)导出至一个分隔文件:
OPEN Vendor
EXPORT FIELDS ALL EXCLUDE Vendor_Last_Active Vendor_Review_Date DELIMITED TO "Vendor_addresses" KEEPTITLE SEPARATOR "|" QUALIFIER '"'
使用 GROUP 将数据导出至多个分隔文件
您将特定域从 Vendor 表导出至两个分隔文件:
- 一个文件包含从 "A" 到 "M" 的供应商名称
- 一个文件包含从 "N" 到 "Z" 的供应商名称
使用 GROUP 命令,您用 IF 条件测试每个记录的供应商名称:
GROUP
EXPORT FIELDS Vendor_No Vendor_Name DELIMITED TO "AtoM" IF BETWEEN(UPPER(VENDOR_NAME), "A", "M")
EXPORT FIELDS Vendor_No Vendor_Name DELIMITED TO "NtoZ" IF BETWEEN(UPPER(VENDOR_NAME), "N", "Z")
END
逗号分隔值 (CSV) 文件示例
将所有域导出至逗号分隔值文件
您将 Vendor 表中的所有域导出至一个逗号分隔值文件:
OPEN Vendor
EXPORT FIELDS ALL DELIMITED TO "VendorExport.csv"
结果应用程序示例
将数据导出到 Diligent One 中的结果应用程序
指定要导出的域
您将特定域从 AR_Exceptions 表导出到 Diligent One 结果应用程序。您覆盖目标控制测试(表)中的现有数据:
OPEN AR_Exceptions
EXPORT FIELDS No Due Date Ref Amount Type ACLGRC TO "10926@us" OVERWRITE
创建在机器人中运行命令所需的密码定义
使用 PASSWORD 分析标记和 EXPORT 命令中匹配的 PASSWORD 参数,创建由两部分组成的密码定义。
//PASSWORD 1 分析标记在机器人任务中创建密码输入参数。EXPORT 命令中匹配的 PASSWORD 1 参数,会引用任务中存储和加密的密码值。所需密码是有效的 HighBond 访问令牌。有关详细信息,请参见创建密码定义并指定密码值。
COMMENT
//ANALYTIC 将数据导出到结果应用程序
//PASSWORD 1 HighBond 访问令牌:
//RESULT LOG
END
OPEN AR_Exceptions
EXPORT FIELDS No Due Date Ref Amount Type ACLGRC PASSWORD 1 TO "10926@us" OVERWRITE
机器人应用程序示例
将数据导出到 Diligent One 中的机器人应用程序
指定要导出的域
您将 Trans_May 表中的特定域导出到 Diligent One 机器人应用程序中的一个压缩 CSV 文件 (*.csv.gz)。在开发模式中,如果机器人应用程序 52053 中已存在同名文件,则将覆盖该文件:
OPEN Trans_May
EXPORT FIELDS CARDNUM AS 'CARDNUM' CODES AS 'CODES' DATE AS 'DATE' CUSTNO AS 'CUSTNO' DESCRIPTION AS 'DESCRIPTION' AMOUNT AS 'AMOUNT' HBDATA TO "https://apis-us.highbond.com/v1/orgs/1000236/robots/52053/working_files?env=development" OVERWRITE
创建在机器人中运行命令所需的密码定义
使用 PASSWORD 分析标记和 EXPORT 命令中匹配的 PASSWORD 参数,创建由两部分组成的密码定义。
//PASSWORD 1 分析标记在机器人任务中创建密码输入参数。EXPORT 命令中匹配的 PASSWORD 1 参数,会引用任务中存储和加密的密码值。所需密码是有效的 HighBond 访问令牌。有关详细信息,请参见创建密码定义并指定密码值。
COMMENT
//ANALYTIC 将 Analytics 数据导出到机器人
//PASSWORD 1 HighBond 访问令牌:
//RESULT LOG
END
OPEN Trans_May
EXPORT FIELDS CARDNUM AS 'CARDNUM' CODES AS 'CODES' DATE AS 'DATE' CUSTNO AS 'CUSTNO' DESCRIPTION AS 'DESCRIPTION' AMOUNT AS 'AMOUNT' HBDATA PASSWORD 1 TO "https://apis-us.highbond.com/v1/orgs/1000236/robots/52053/working_files?env=development" OVERWRITE
导出所有域
您将 Trans_May 表中的所有域导出到 Diligent One 机器人应用程序中的一个压缩 CSV 文件 (*.csv.gz):
OPEN Trans_May
EXPORT FIELDS ALL HBDATA PASSWORD 3 TO "https://apis-us.highbond.com/v1/orgs/1000236/robots/52053/working_files?env=development" OVERWRITE
指定 FIELDS ALL 并指定要排除的域
您将 Vendor 表中的所有域(上次活动日期域和审核日期域除外)导出到 Diligent One 机器人应用程序中的一个压缩 CSV 文件 (*.csv.gz):
OPEN Vendor
EXPORT FIELDS ALL EXCLUDE Vendor_Last_Active Vendor_Review_Date HBDATA PASSWORD 3 TO "https://apis-us.highbond.com/v1/orgs/1000236/robots/52053/working_files?env=development" OVERWRITE
备注
将 EXPORT 与 GROUP 命令结合使用
对于大多数导出格式,您可使用 GROUP 命令将数据同时导出到多个文件。
当向 Microsoft Excel 和 Microsoft Access 导出数据时,一次仅可创建一个文件。
导出至 Excel
在将数据导出到 Excel 文件时,适用下列限制。
限制 | 详情 |
---|---|
记录数 |
超过这些最大数量的 Analytics 表可成功导出,但过剩的记录将被忽略而不是被导出。 |
域长度 |
|
域名称的长度 |
|
工作表名称长度 |
若使用 Analytics 表名称作为工作表名称,如果工作表名称超过 31 个字符,则在导出到 Excel 时,该名称会被截断。 |
WORKSHEET 参数和覆盖
下面解释了在从 Analytics 表导出到 Excel 文件时使用或不使用 WORKSHEET 参数的结果:
匹配 |
描述 |
使用 WORKSHEET 参数 | 不使用 WORKSHEET 参数 |
---|---|---|---|
没有匹配的 Excel 文件名 |
|
使用具有指定名称的工作表创建一个新的 Excel 文件 | 使用与导出的 Analytics 表同名的工作表创建一个新的 Excel 文件 |
匹配的 Excel 文件名 没有匹配的工作表名称 |
|
一个具有指定名称的工作表被添加到现有 Excel 文件 | 现有 Excel 文件被一个新的 Excel 文件覆盖,其工作表与导出的 Analytics 表同名 |
匹配的 Excel 文件名和工作表名称 |
|
如果现有工作表最初是从 Analytics 创建的,则具有指定名称的工作表会覆盖该工作表。 如果现有工作表最初是直接在 Excel 中创建的,则会出现错误消息并且导出操作被取消。 |
现有 Excel 文件被一个新的 Excel 文件覆盖,其工作表与导出的 Analytics 表同名 |
导出到 Diligent One 结果应用程序
下表包含有关导出到结果应用程序中的控制测试的附加信息。
条目 |
详情 |
---|---|
必需的权限 |
要将结果导出到结果应用程序中的控制测试,需要特定的 Diligent One 角色分配或管理权限:
有关更多信息,请参阅结果应用程序权限。 |
导出限制 |
导出控制测试时,以下限制适用:
您可以多次导出到相同的控制测试,但是您不能超出总体限制。 |
附加域 (未指定 OVERWRITE) |
无论它们在 Analytics 表中的顺序如何,如果导出的域具有匹配的物理域名称,则都会被附加到控制测试中的现有域。 在 Analytics 中,物理字段名称是表格布局中的名称。与任何已有域名称不匹配的导出域会作为附加列被添加到“结果”中的表。 Analytics 中和结果应用程序中的域的显示名称不会被考虑。但是,如果您使用可选的 AS 导出名称参数,并且您不使用 DISPLAYNAME,则导出名称值被用作物理域名称。 在将数据附加到调查问卷域时,结果应用程序中的列的显示名称仍然是在调查问卷配置中指定的名称。 如果目标控制测试指定了一个主键字段,则附加的工作方式会不同。有关详细信息,请参见将异常数据导出到 Diligent One 中的结果应用程序。 说明 如果您在结果应用程序和 Analytics 之间双向传输数据,并且数据最终在结果应用程序中未对齐,您很可能拥有不匹配的域名称。 有关详细信息,请参见导入和导出结果应用程序数据时的域名称注意事项。 |
密码要求 |
请参阅创建密码定义并指定密码值。 |
在导出到 Diligent One 结果应用程序时,DISPLAYNAME 参数如何与 AS 交互?
下表显示了在将域名称从 Analytics 导出到结果应用程序时,DISPLAYNAME 参数如何与 AS 交互。
不带 AS | 带 AS | |
---|---|---|
不带 DISPLAYNAME | 结果应用程序中的域名称和显示名称是 Analytics 中的域名称。 | 结果应用程序中的域名称和显示名称是 AS 参数中的显示名称。 |
带 DISPLAYNAME | 结果应用程序中的域名称是 Analytics 中的域名称。结果应用程序中的显示名称是 Analytics 中的显示名称。 | 结果应用程序中的域名称是 Analytics 中的域名称。结果应用程序中的显示名称是 AS 参数中的显示名称。 |
导出到 Diligent One 机器人应用程序所需的权限
将压缩 CSV 文件 (*.csv.gz) 上传到机器人应用程序的功能,需要具备特定的机器人角色指定或管理权限:
-
具备机器人编辑者或所有者角色的用户,可将压缩 CSV 文件上传到机器人。具备审核者角色的用户无法上传。
-
机器人管理员自动成为每个机器人的协作者,具备所有者角色。
-
购买专业订阅的 Diligent One 系统管理员会自动成为机器人管理员。
有关详细信息,请参见机器人应用程序权限。
创建密码定义并指定密码值
当您在机器人中运行将数据导出到结果应用程序的脚本,或将压缩 CSV 文件 (*.csv.gz) 上传到机器人应用程序时,需要在 EXPORT 命令中加入密码定义。如果您使用离线激活,则同样的要求适用于在 Analytics 中运行的脚本。
无论您使用哪种方法创建密码定义,必填的密码值都是 HighBond 访问令牌,您可以在启动面板中生成该令牌。有关详细信息,请参见获取 HighBond 访问令牌。
密码定义方法
方法 | 描述 |
---|---|
PASSWORD 分析标记 (适用于在机器人中运行的脚本) |
如果使用 PASSWORD 分析标记创建用于连接到 Diligent One 的编号密码定义,且脚本中未指定密码值。当您创建一个要在机器人中运行脚本的任务时,任务设计器中的输入字段允许您或其他用户指定实际密码。 有关更多信息,请参阅 PASSWORD 分析标记。 |
PASSWORD 命令 (适用于在 Analytics 中运行的脚本,离线激活) |
如果使用 PASSWORD 命令创建用于连接到 Diligent One 的编号密码定义,且脚本中未指定密码值。当脚本试图连接时,会显示密码提示。 有关详细信息,请参见PASSWORD 命令。 |
SET PASSWORD 命令 (适用于在 Analytics 中运行的脚本,离线激活) |
如果使用 SET PASSWORD 命令创建用于连接到 Diligent One 的编号密码定义,且在脚本中指定了密码值,则不会显示密码提示。这种方法适用于设计为以无人看管方式运行的脚本,但它会在脚本中以明文形式显示实际密码,这可能不适合您的情况。 有关详细信息,请参见 SET PASSWORD 命令。 |
获取 HighBond 访问令牌
注意
生成的访问令牌与用于登录 Diligent One 的账户匹配。 作为脚本编写者,如果该脚本将供他人使用,则在脚本中指定您自己的访问令牌可能不适当。
像保护任何账户密码一样保护访问令牌。
除非有充分的理由创建新令牌,否则请使用现有令牌。如果现有令牌不工作,请创建一个新的令牌。使用现有令牌可削减您需要管理的令牌数。
-
执行以下操作之一:
-
从 Analytics 主菜单中,选择工具 > HighBond 访问令牌。
-
在脚本编辑器中,右键单击并选择插入 > HighBond 令牌。
管理 API 令牌页面将在您的浏览器中打开。您可能需要先登录到 Diligent One。
通过 Analytics 访问管理 API 令牌页面是一项便利功能。您还可以登录到 Diligent One,然后通过用户个人资料访问该页面,而无需使用 Analytics。
-
-
执行以下操作之一:
-
使用现有令牌
-
在令牌列中,单击要使用的已部分屏蔽的令牌。
-
输入您的 Diligent One 账户密码,然后单击确认。
未屏蔽的令牌被显示。
-
单击复制以复制该令牌。
提示
在成功粘贴该令牌之前,请勿关闭包含该令牌的对话框。
-
-
创建新令牌
-
单击添加令牌 > Analytics。
-
在新建 Analytics 令牌侧面板中,指定以下信息:
域或选项 描述 描述 输入提供有用信息的描述,例如:
- 令牌的用途
- 令牌的使用场景 – 例如,分析脚本的名称和位置,或者机器人任务的名称和位置
令牌有效期 - 已启用令牌将在您指定的天数之后到期
- 已禁用令牌永不过期
说明
贵组织可能制定了一项安全政策,要求令牌在一定时间之后到期。创建包含有效期的令牌是一种好做法。Diligent One 会在到期日之前,向您发送一封自动电子邮件通知。
即将在…到期 指定距离令牌到期日之前的天数(1 到 365 天)。 密码 输入您的 Diligent One 账户密码。 -
单击生成令牌。
-
单击复制以复制该令牌。
提示
在成功粘贴该令牌之前,请勿关闭包含该令牌的侧面板。
-
-
-
根据您使用的密码定义方法,执行以下操作之一:
-
PASSWORD 分析标记在 ACL 机器人的任务设计器中,将复制的令牌粘贴到密码参数字段中。
-
PASSWORD 命令在 Analytics 中,将复制的令牌粘贴到执行脚本过程中出现的密码提示中。
-
SET PASSWORD 命令在 Analytics 中,将复制的令牌粘贴到脚本中 SET PASSWORD 命令语法的适当位置。
-
-
在启动面板中,关闭包含该令牌的对话框或侧面板。
如果您创建了新令牌,则该令牌的部分屏蔽版本被添加到您的令牌列表的顶部。
有关更多信息,请参阅创建和管理 HighBond 访问令牌。