什么是脚本?

脚本是一系列按顺序执行并且用于在 Analytics 内部自动完成工作的 Analytics 命令。 任何 Analytics 命令都可以被包含在脚本中。

为什么我应该使用脚本?

使用脚本有许多种好处。

自动执行流程

您是否需要定期执行一系列重复性任务或例程? 您当前是否在手动执行这些任务? 如果是,您很可能可以使用脚本来自动执行这些类型的流程。 通过使用脚本,您可以避免与复杂例程相关联的手动工作。 例程越复杂,通过运行脚本节省的时间就越多。

调度流程

当您处理大型数据集时,对脚本进行调度通常是必要的。 如果您使用 Analytics Exchange,您可以按计划运行脚本,甚至可以在工作时间以外运行脚本。 您还可以调度单个脚本或者一系列脚本以使其在特定日期和时间运行。

提高准确性

手动执行时,复杂的数据分析例程很容易发生人为错误。 通过使用脚本,您可以确保流程的一致性和准确性。 您还可以绝对肯定每当运行同一个脚本时,都会按照相同的顺序执行相同的指令。

减小复杂性

脚本能够处理复杂的文件结构并对数据域进行复杂计算。 有时,只能使用脚本执行比较复杂的分析。 例如,持续监控计划通常要求脚本自动执行流程。

共享分析

脚本是可移植和可共享的。 可以将其发送给其他用户,在网络位置共享,以及在多个 Analytics 项目之间复制。

实现用户交互

可以对脚本进行相应的设计,以提示用户提供输入,从而使用户可以使用他们自己的输入条件,针对他们自己的具有唯一名称的表和域来运行脚本。

捕捉文档

脚本是很好的审计审核文档来源,并且可被用作审计轨迹的一部分。 通过创建脚本,您相当于记下创建解析测试结果的流程,将来您可以轻松地引用该流程。 您还可以向脚本中添加注释,以进一步补充文档。

可以通过脚本自动执行的常见流程

简单的脚本可能只是对单个域运行命令,复杂的脚本可能执行大量工作以实现您的分析目标。

脚本最常用来执行下列一个或多个流程:

导入数据

您可以使用脚本将各种源文件导入到 Analytics 中,包括固定宽度文件、分隔文件、报告/PDF、Excel 和通过 ODBC 访问的文件。

COMMENT *** 将数据从 Microsoft Access 数据库文件导入到一个名为 employees_list 的 Analytics 表。 
IMPORT ACCESS TO employees_list PASSWORD 1 "C:\ACL DATA\Sample Data Files\employees_list.fil" FROM "Employees_List.mdb" TABLE "[Employees_List]" CHARMAX 60 MEMOMAX 70

准备数据

您可以使用脚本为分析准备数据。 脚本可用来在联接或关联表之前标准化域,移除值中的前导或后继空格,移除不需要的字符,以及转换域的数据类型。

COMMENT *** 创建一个包含 PO_No 值的新计算域。 所有前导空格都被移除,以便使值正确地左对齐。
DEFINE FIELD c_PO_No COMPUTED ALLTRIM(PO_No)

分析数据

脚本使用数据分析命令和函数来实现分析目标。 您可以使用脚本对记录进行分组,进行比较,识别问题、趋势或异常现象。

COMMENT *** 打开 Sales2016Actual 表,按 Customer Number 进行分类,对 Sales Order Amount 进行小计,并且将结果发送到 Sales2016ByCustomer。
OPEN Sales2016Actual
CLASSIFY ON Customer_Number SUBTOTAL Sales_Order_Amount TO Sales2016ByCustomer

脚本示例

场景

客户每个月都会向您提供供应商、发票和采购订单信息。 您需要通过确保采购订单域中没有空白数据来验证数据的完整性。

您断定鉴于该任务的重复性,这是一个编写脚本的好机会。 您希望所有域都可用于进行分析并且能够在采购订单域中搜索空白数据。

进程

您创建一个执行以下操作的脚本:

  1. 打开 Invoice_Amts 表。
  2. 在采购订单域 (PO_No) 中搜索空白值。
  3. 将包含空白采购订单编号的记录提取至一个新表 (r_Blank_Purchase_Orders),从而使您可以跟进异常的处理情况。

    提示

    要轻松地识别表,您可以使用以下命名规范:

    • 准备就绪的表 给表名称加上前缀 p_
    • 临时表 给表名称加上前缀 t_
    • 结果表 给表名称加上前缀 r_

结果

COMMENT *** 打开表 "Invoice_Amts"。
OPEN Invoice_Amts

COMMENT *** 在采购订单域中搜索空白。
SET FILTER TO ISBLANK(PO_No)

COMMENT *** 将结果提取至一个名为“r_Blank_Purchase_Orders”的新表。
EXTRACT FIELDS Vendor_Name Invoice_No Payment_Date Invoice_Date Invoice_Amt Vendor_Name Invoice_No PO_No TO r_Blank_Purchase_Orders

后续步骤

完成简要教程“您的第一个 Analytics 脚本”并尝试创建您自己的脚本。