Skip to main content

宏指令

宏指令是一个工作流或组合成单个工具的工具组,宏指令可以插入其他工作流中。创建宏指令以保存并自动执行您重复执行的分析流程。在工作流中使用宏指令,而不必每次都重新创建分析流程。

将宏指令另存为.yxmc 文件以在 Designer 中使用,或通过 Alteryx 社区 Gallery 或贵公司的 Server 与其他用户共享。

宏指令类型

  • 标准宏指令:此宏指令设计用于将工作流中的进程打包为可插入工作流的工具。

  • 批处理宏 :此类宏在工作流中运行多次,并在每次运行后生成一个输出。该宏指令针对数据中的每个记录或选定的记录组运行一次。该宏需要一个“控制参数”工具作为输入。

  • 迭代宏 :此宏在工作流中按配置中设置的次数运行,或连续运行,直到满足条件为止。

  • 位置优化器宏 :此宏是一个迭代宏,可在网络分析中用于标识最佳位置。

创建宏

宏由工作流和使用界面工具创建的用户界面组成。如需了解详情,请前往 界面工具 界面设计器窗口 。或者,可以使用 HTML - GUI 库工具 创建自定义用户界面。

创建宏...

如果您使用的是现有工作流,请选择要另存为宏的工作流部分,然后将其复制并粘贴到新的工作流选项卡上。

  1. 创建新工作流或打开现有工作流。

  2. 添加宏输入:

    • 如果工作流不包含输入,请添加宏输入工具。

    • 如果工作流包含输入工具(比如“输入数据”或“文本输入”工具),请右键单击该工具并选择 转换为宏输入

  3. 配置 宏输入工具

  4. 添加和配置 宏输出工具

默认情况下,将宏输入工具添加到工作流时,工作流类型更改为“标准宏”。将“控制参数”工具添加到工作流时,宏类型默认为“批处理宏”。要创建迭代宏,请将宏类型设置为“迭代”。

设置宏类型:

  1. 选择画布,并在“工作流配置”窗口中选择 工作流 选项卡。

  2. 旁边的 类型 中,选择宏类型。

转换为宏

除了从头开始创建宏外,您还可以选择将现有工作流(或工作流的一部分)转换为宏。在转换为宏之前,请查看以下要求和限制:

  • 您需要首先运行工作流,并且浏览凡是有可用数据之处。

  • 转换为宏之前,您需要保存工作流。

  • 所选的工具必须位于连续路径中并相互连接(注释、资源管理器框和工具容器不受此限制)。

  • 所选工具不能包含错误。

  • 所选工具不得包含任何库内工具。

  • 所选工具不得连接到任何操作工具。

  • 所选工具不得包含 Python 工具。

  • 所选工具不得包括包含空间数据类型、BLOB 数据类型或报告数据类型的数据。

转换为宏...

  1. 在工作流中至少选择 1 项工具。单击并在工作流画布上拖动以选择多项工具。

  2. 右键单击所选工具之一以打开工具菜单。

  3. 从下拉列表中选择 转换为宏 ,以打开 创建宏 窗口。

  4. 在“创建宏”窗口中...

    • 输入宏的 文件名

    • 选择一个用来保存宏的 位置

    • 选择宏的 图标

  5. 选择 确定 ,将您的工作流或工作流的一部分转换为宏。选择 取消 ,以放弃此流程。

  6. 新创建的宏文件在 Designer 的新选项卡中打开,而原始工作流则会显示,选定的工具已转换为宏。

保存宏

保存宏以供将来使用和共享。使用唯一名称将宏保存到特定位置。在 Designer 中,您可以创建映射到计算机或网络上某个位置的宏存储库,以便轻松保存宏并在工作流中使用它们。

保存宏...

  1. 选择 文件 > 另存为

  2. 在计算机或网络上找到保存宏的文件夹。

  3. 为宏输入一个独特的名称,并选择 保存

要共享使用自定义宏的工作流,请导出工作流以确保所有工作流依赖关系(包括宏)均随工作流一起保存。工作流必须包含宏的相对路径。有关详细信息,请访问 工作流管理 工作流依赖关系

更新缺失的宏指令

以往,当您导入或打开带有现有宏指令的工作流时,如果工作流中缺少该宏指令(由于名称更改、移动位置、错误打包等原因),宏指令将在工作流画布上显示一个黑色问号图标 ( UnknownTool_71x71.png)。

然后,您必须通过手动重新添加宏指令并重新配置工作流这一麻烦的过程,才能让一切正常工作。

现在,您可以在工作流打开之前确定正确的宏指令位置,并完全避免宏指令丢失错误!

提示

如需了解更多详情和使用案例,请前往 更新缺失的宏指令

在工作流中更新缺失的宏指令

当您尝试打开缺失宏指令的工作流(YXMD、YXMC 或 YXWZ 文件)时,Designer 中会弹出 更新缺失的宏指令 窗口,提醒您注意该问题。

update-missing-macros-1.png

更新缺失的宏指令 窗口表明该工作流至少引用了 1 个缺失或无法访问的宏指令。该消息提供有关这些宏指令的详细信息。请注意:窗口最多可列出 3 个缺失的宏指令(但可能有更多缺失的宏指令)。

您有 2 个选项:

  • 更新 :选择 更新 可更新缺失宏指令的文件路径。此操作会打开原始的工作流,您可以在此进行更改。但是,Designer 不会自动保存工作流。进行更新后,您可以通过 文件 > 另存为 或 Ctrl+S(保存)键盘快捷键来保存新版本的工作流或在需要的情况下覆盖原始工作流。请注意,您需要缺失宏指令文件的访问权,并能够浏览到其位置。如果您收到的工作流未包含宏指令,则可能需要联系提供您工作流的人员,要求他们提供相关文件。如果您在此处选择不更新文件路径,工作流打开时将显示缺失工具的图标。

  • 关闭 (不更新):选择 关闭 。这将打开原始工作流,但不包含更新的宏指令。宏指令将显示缺失工具的图标 ( UnknownTool_71x71.png),如果您之后想修复这些缺失的宏指令,则需要添加宏指令并手动重新配置。

更新宏指令

要更新宏指令,请遵循以下步骤:

  1. 在“更新缺失的宏指令”窗口中,选择 更新

  2. 这将打开 更新缺失的宏指令 窗口,与“工作流依赖关系”体验类似。在这里,您可以编辑每个缺失宏指令的文件路径并更新其位置。请注意,您无法通过此窗口编辑非宏指令依赖关系。

    update-missing-macros-2.png
  3. 选择与缺失宏指令关联的编辑铅笔图标。这将打开“文件资源管理器”,您可以浏览到正确的宏指令位置。选择宏指令,然后 Designer 会更新宏指令路径并将路径的颜色变为绿色。

  4. 对其他有类似问题的宏指令执行相同操作,完成后选择 确定 。您也可以在此选择 取消 ,这将打开文件路径损坏的原始工作流(缺失工具的问号图标)。

  5. 如果更新了宏指令路径并在上一步中选择了 确定 ,工作流打开时将包含更新的宏指令,并且没有缺失工具的图标。

如果宏指令相同,且新的宏指令路径中输入和输出连接数量与工作流中的数量匹配,Designer 将尝试自动建立连接。但是,在某些情况下(例如,如果您连接有相同输入和输出数量但是不同的宏指令),Designer 无法进行连接。如果是这种情况,您需要对其手动检查和配置。 

重要

当您使用“更新缺失的宏指令”功能时,Designer 会更新原始工作流,但不会自动保存工作流。您可以使用 文件 > 另存为 或 Ctrl+S(保存)键盘快捷键,保存新版本的工作流或覆盖原始工作流(如果需要)。如果您在未保存的情况下关闭工作流,更新将丢失。

关闭(不更新)

如果要打开工作流而不更新宏指令,请遵循以下步骤:

  1. 当您尝试打开缺失宏指令的工作流时,将显示 更新缺失的宏指令 窗口。

  2. 要打开工作流但不更新宏指令位置,请选择 关闭

  3. 此时打开工作流,缺失的宏指令将显示缺失工具的图标 ( UnknownTool_71x71.png)。如果要更新缺失的宏指令,则需要添加宏指令并手动重新配置。

创建宏存储库

在 Designer 中,您可以映射到保存宏的位置,并创建宏存储库,以便轻松保存宏并在工作流中使用它们。选定位置中的任何宏 .yxmc 文件均将显示在工具面板上的工具类别中。

创建宏存储库...

  1. 转至 选项 > 用户设置 > 编辑用户设置 > 工具

  2. 滚动到宏部分并选择“ + ”按钮。

  3. 类别名称 中,输入名称。默认名称为“Macros”。

  4. 选择 浏览 按钮以浏览到在计算机或网络上保存宏的位置。

如果宏指令存储库中已存在父文件夹,则无法单独添加搜索路径中的子文件夹。

设置默认存储库位置...

  1. 在列表中选择存储库搜索路径。

  2. 选择 设为默认值 。默认存储库旁边会显示一个星号 ( * )。

Publishing to Alteryx Server

If you plan to publish the workflow to Server, you need to do one of...

  • Add macros as assets to the workflow when publishing.

  • Configure a macro repository folder for Server (via Designer) to a location that contains the macros being accessed via the local Designer macro repository folder. To configure a macro repository on Server...

    1. Open Designer as an administrator (right-click > Run as administrator). This ensures that your settings apply to all users who access the Server.

    2. Follow the above steps to create a macro repository.

在工作流中使用宏指令

  • 要使用保存到宏存储库的宏,请在工具面板中查找宏或使用“搜索”。

  • To use a macro that is not on the Tool Palette, right-click the workflow canvas and select Insert > Macro. You can select any macro that is currently open on the canvas from this list, or you can browse to the location of a different macro *.yxmc file.

  • To use a specific macro version in your workflow, right-click the macro and then select the version you want to run. Macro versions must all be stored in the same directory. You can configure this location in User Settings.

要将工作流中的宏与工具区分开来,请在用户设置 > 工具中,选择 在工具中显式宏指示符 选项,以显示宏中的 + 图标。有关详细信息,请访问 用户设置

要查看宏的工作流,请在工作流中右键单击宏,然后选择 打开宏 。保存对该宏所做的更改时,工作流中的宏将自动更新。

要共享使用自定义宏的工作流,请导出工作流以确保所有工作流依赖关系(包括宏)均随工作流一起保存。工作流必须包含宏的相对路径。有关详细信息,请访问 工作流管理 工作流依赖关系

宏指令模板

如果您发现在宏指令中重复使用了多个组件和配置,则可能需要创建模板以节省时间。请前往 模板 ,了解如何将宏指令另存为模板。

示例宏

宏包含在 Designer 中,可帮助您学会使用和创建宏。访问宏...

  • 在计算机上的 Program Files 中,转至 \Program Files\Alteryx\bin\RuntimeData\Macros

  • 在 Designer 中...

    • 请前往 帮助 > 示例工作流 > 使用脚本和自动化工具 > 构建宏

    • 工具面板中的某些工具为宏。例如, “创建样本”工具 “数据清理”工具 。右键单击某个工具,然后选择 打开宏 (如果可用),以查看宏工作流。

  • 访问发布到 Alteryx 社区 Gallery 的应用程序。