开发分析脚本
开发分析脚本的建议方法是首先在 Analytics 中创建并测试一个常规脚本。 在该脚本能够正确工作后,可以添加分析标头以将其转换为分析脚本。 分析脚本可在机器人应用程序中、AX 服务器上或分析应用程序窗口中运行。
有关创建常规脚本的信息,请参见入门。
标识任何脚本输入和输出
在分析标头中,您必须声明任何脚本输入,以及您想要向最终用户提供或者要用作后续脚本的输入的任何脚本输出。
在开始之前标识所需的输入和输出可使开发工作更加顺利地进展。
下面描述了不同类型的输入和输出,并且在括号中提供了关联的分析标记。
| 输入 | 输出 |
|---|---|
访问源数据
有两种访问分析脚本所需的源数据的基本方法:
- 自动化连接
- 手动上传
如果需要,您可以自由地在同一分析脚本中使用这两种方法。
自动化连接
此方法的优势是可以完全自动执行向机器人应用程序或 AX 服务器进行的数据导入,包括按计划运行。
在分析脚本的主体中,使用连接到外部数据源、导入数据以及用数据副本创建 Analytics 表的 ACLScript 命令之一:
说明
这些命令不需要在分析标头中包含任何相应的分析标记。
除非您有理由使用其他命令之一,否则请使用 ACCESSDATA。 DEFINE TABLE DB 是一个旧命令,保留它是为了保持与旧脚本的向后兼容性。
手动上传
手动上传提供了一种向机器人应用程序或者 AX 服务器导入数据的简单方式,当用户在本地存储源数据文件时,可能是一种适当的方法。
机器人
您可以将非 Analytics 文件(如 Excel 或者分隔文件)手动上传到机器人应用程序。 您需要使用不同的方法使 Analytics 表可用。
- 非 Analytics 文件您可以手动将非 Analytics 文件(如 Excel 或分隔文件)上传到机器人中的输入/输出选项卡。 要在分析脚本中访问上传的数据,请在分析标头中使用 FILE 标记,在脚本主体中使用适当的 IMPORT 命令(如 IMPORT EXCEL)。
- Analytics 表您不能将 Analytics 表手动上传到输入/输出选项卡。 相反,请在分析标头中使用 DATA 标记以将 Analytics 输出表保存到输入/输出选项卡。 要在后续脚本中访问 Analytics 表,请在脚本主体中使用 OPEN 命令。
AX 服务器
您可以将非 Analytics 文件(如 Excel 或者分隔文件)和 Analytics 表手动上传到 AX 服务器。
- 非 Analytics 文件您可以将文件(如 Excel 和分隔文件)导入到相关文件子文件夹。 要在分析脚本中访问导入的数据,请在分析标头中使用 FILE 标记,在脚本主体中使用适当的 IMPORT 命令(如 IMPORT EXCEL)。
- Analytics 表当您将 Analytics 项目导入到 AX 服务器时,该项目的表被导入到数据子文件夹。 要在分析脚本中访问导入的表,请在脚本主体中使用 OPEN 命令。
创建和测试解析脚本的工作流
说明
以下工作流只是一种开发分析脚本的建议方法,您可以用任何最适合您的方式开发分析脚本。
创建 Analytics 脚本
在 Analytics 中创建一个脚本,但不使用任何用于获取用户输入的自定义对话框,也不使用任何其他在脚本运行过程中需要用户交互的功能。 分析脚本允许用户在运行该脚本之前进行输入,但与常规脚本不同的是,它在脚本执行过程中不支持用户交互。
要在 Analytics 脚本中存储测试输入值,请临时在脚本顶部创建变量。 例如:
ASSIGN v_AnalysisTable = "Trans_May"
测试和调试脚本直至其能够执行且没有错误。
添加分析标头和标记
向脚本中添加分析标头。 将脚本顶部的变量名称复制到分析标头设计器中的相应标记:
分析标头中生成的标记的示例:
//TABLE v_AnalysisTable "要分类的表"
有关详细信息,请参见处理分析标头。
在分析脚本结果中包括日志
日志是一种诊断分析脚本失败原因的至关重要的工具。 当分析脚本成功但提供意外结果时,它也可能很重要。 当分析脚本失败时会自动输出日志,但如果您指定了 RESULT 分析标记,则只有在分析脚本成功时才会输出日志。
在分析标头设计器中,启用保留日志文件以确保每次运行该分析脚本时都能够获得日志。 相应的标记被添加到分析标头中:
//RESULT LOG
验证分析标头
验证分析标头。 您可以按照任意频率验证分析标头。
有关详细信息,请参见验证分析标头。
将临时测试值分配给解析标记
使用特殊的赋值运算符 (:=),将临时测试值赋给所有需要用户输入的解析标记。 您可以从脚本顶部的临时变量赋值语句复制测试值。 例如:
//TABLE v_AnalysisTable "要分类的表" := "Trans_May"
要使用分析标头设计器分配临时测试值,请在所有需要用户输入的分析标记的测试值域中输入该值。
有关分配临时测试值的详细信息,请参见在 Analytics 中指定测试输入值。
删除临时变量
从脚本顶部删除临时变量,或者如果您认为您可能希望重新使用它们,则将其注释掉。
单步执行分析脚本
通过单击单步执行
或通过反复按 F10 可单步执行分析脚本。 在导航器中查看变量选项卡的内容,确保分析标头中的所有变量都被正确创建,并且正确地分配测试值。
测试和调试分析脚本直至其能够执行且没有错误。
说明
如果您想要在分析脚本完成之前退出该分析脚本,请按 Esc 并在确认提示窗口中单击是。
提示
您可以通过在命令行中输入 DELETE ALL OK,从 Analytics 项目中删除所有已存储的变量和变量赋值语句。 在单步执行分析脚本之前清除变量选项卡可以获得一个全新的开始。
删除临时测试值
测试完成后,您可以从所有分析标记中删除临时测试值和特殊赋值运算符。 或者,如果您预期可能需要附加的测试,您可以选择保留它们。 测试值在部署环境中被忽略。
部署分析脚本
要将分析脚本部署到目标环境,请将该脚本提交到机器人应用程序,或者将 Analytics 项目导入到 AX 服务器。
测试分析应用程序的工作流
对于将在 AX Web 客户端或者分析应用程序窗口中运行的分析脚本,您还需要测试分析应用程序。
删除冗余表布局
在正确测试、调试和执行分析应用程序中的所有分析脚本和任何子脚本后,请从 Analytics 项目中删除您不希望包括在分析应用程序中的任何表布局。
冗余的表布局会使 AX 客户端、AX Web 客户端和分析应用程序窗口中的分析应用程序显得杂乱无章,并且可能使最终用户感到困惑。
在分析应用程序窗口中打开分析应用程序
通过在概览选项卡中右键单击 Analytics 项目条目并选择作为分析应用程序打开,在分析应用程序窗口中打开已完成的分析应用程序。
说明
如果分析应用程序打开失败并且您得到一个错误消息,声称分析脚本具有完全相同的名称,请对于该错误消息中指定的每个分析脚本,检查 ANALYTIC 标记中的名称值。 在 Analytics 项目中,分析脚本的名称值必须是唯一的。
运行分析脚本
运行分析应用程序中的所有分析脚本以确认它们能够正常工作。
如果您使用了带有 ANALYTIC 标记的 TYPE 选项并且创建了导入、准备和分析解析脚本,请注意运行解析脚本的正确顺序。
检查 日志
如果解析脚本失败,请打开并查看日志文件(解析名称.log)。 日志中应该包括一个用红色 X 标记的条目,指示为什么该解析脚本会失败:
- 如果是由不正确输入的输入值导致的,请立即使用正确输入的输入值重新运行该解析脚本
- 如果是由脚本主体中的语法或逻辑错误导致的,请更正 Analytics 中的错误,然后在分析应用程序窗口中重新打开分析应用程序
解析脚本可能成功,但结果表可能不包含您期待的结果。 在此情况下,请按顺序查看日志条目,检查已经传递给该解析脚本的输入值,以确保该解析脚本按照您预期的方式工作。
打包和验证分析应用程序
打包或导入分析应用程序
在分析应用程序按照预期方式工作并且您感到满意之后,请将其打包以供分发和在分析应用程序窗口中使用,或将其导入到 AX 服务器以供在 AX 客户端或 AX Web 客户端中使用。 有关详细信息,请参见打包分析应用程序。
运行 AX 服务器分析应用程序
如果您要开发解析脚本以供在 AX 服务器中使用,请使用 AX 客户端和 AX Web 客户端来运行所有解析脚本,以确保它们按照预期方式工作。