应用程序构建指南
Alteryx Analytic 应用程序是一个独立程序,可为用户执行特定功能。界面必须简单,且应用程序设计时专注于一个目标。应用程序应致力执行有限范围的任务,强调的是最佳用户体验。考虑到用户在 Web 浏览器中运行您创建的应用程序,后端设计需要巧妙、优雅和高效。
最新版本数据集
在创建使用特定数据集的应用程序时,所选数据集应设置为使用数据集的最新版本。这意味着 Designer 自动使用用户计算机上安装的最新数据集版本。这适用于人口统计分析工具 (Allocate)、行为分析工具 (Solocast)、Calgary 工具、行驶时间、地理编码器或地图工具中的参考基础地图。要设置数据集,请转至 选项 > 用户设置 > 编辑用户设置 > 数据集默认值 。
“元信息”选项卡
在 工作流配置 窗口的 元信息 选项卡中填写的信息将显示在 Web 上的应用程序详细信息中。
使用文件名 显示文件的名称。
或者,选择 自定义 :为应用程序指定一个 易记 的名称。例如,应用程序文件本身可能名为 Download_Weather_Data,那么其自定义名称将相同,只是不带下划线 (Download Weather Data)。
描述 :此处输入的描述是 Web 上显示的应用程序说明,因此请确保描述准确且易于理解。
URL :URL 字段提供了包括一个外部网站链接的能力。
显示文本(可选) :使用此字段提供 URL 的显示文本。
(仅限宏) 工具设置 :这些设置仅适用于宏。有关宏存储库的详细信息,请参阅 用户设置 下的 宏 。这些设置允许您创建多个版本的宏。保存到宏存储库的宏将显示在工具面板中。
根工具名称 :输入工具的名称。您可以有多个具有相同根名称的工具,但是,工具面板中仅显示一个工具。
工具版本 :输入工具版本号。工具的最新版本会显示在工具面板中。要查看可访问旧宏工具的菜单,请将该工具拖至画布并右键单击它。
数据库内的工具? :如果工具可以与数据库内工具一起在工作流中使用,则选择此选项。
(仅限宏) 工具面板 :设置仅适用于宏工作流。有关宏存储库的详细信息,请参阅 用户设置 下的 宏 。工具面板:这些设置可控制宏在工具面板中的显示方式。保存到宏存储库的宏将显示在工具面板中。
类别名称 :输入应在工具面板中显示宏的类别名称。
搜索标记 :输入用户可用于搜索和查找宏的术语。默认情况下,文件名、自定义名称、作者姓名和公司名称都作为搜索标记包括在内。
作者 :提供分析应用程序创建者的详细信息。
姓名 :输入工作流创建人的姓名。
公司 :输入作者所属的公司。
版权所有 :输入版权信息。
设置为默认值 :选择此选项可撤消工作并使用默认文本。
记住为默认值 :将您输入的文本保存为默认值。
扩展名 .yxwz
在创建应用程序时,请确保您已将文件另存为 YXWZ 文件,即使您将工作流类型更改为“分析应用程序”,也是如此。如果文件扩展名保留为 .yxmd,则它将作为工作流(而不是应用程序)打开。
在版本 9.0 中创建的应用程序已不再能存为 YXMD 文件。
地图输入
“地图输入”工具 使应用程序用户能够使用地图输入功能选择位置或绘制多边形或线条。地图问题应简洁但具有描述性,并且应始终使用基本地图。选择基础底图时,请确保选择 最新版本 。
最后,如果选择了 绘图 模式,请确保始终选中 用户可标注地形 设置。这使用户可以选择为每个自定义多边形添加名称。
报告输出
当您将应用程序保存到 Alteryx Server 中时,如果报告输出呈现为 PCXML,则应用程序将为终端用户提供选项,让他们不仅可以在 Web 上预览报告,还可以使用我们支持的任何报告格式下载报告。支持的报告格式包括:PDF、Microsoft Word、Microsoft Excel 和 HTML。
当您创建应用程序时,输出可以是我们支持的任何报告格式。要利用 PCXML,请在
“渲染”工具
中设置
输出模式
以
选择特定的输出文件
,对于
输出文件
,请使用
APP_NAME.pcxml
。
在 PCXML 中预览报告时,您不会看到页脚,但在将报告下载为 PDF、Word 或 Excel 文档时,页脚将显示。
读/写文件:应用程序中的宏
对于 Web 应用程序,您只能对与您的应用程序位于同一文件夹或下级(可多层)隶属子文件夹中的文件执行读写操作。此规则也适用于要用于应用程序的宏(除非它是 Alteryx 产品安装程序或数据安装程序中的标准宏)。
%temp%
在构建要保存到 Server 的工作流或应用程序时,请勿使用
%temp%
写入临时目录。保留工作流中的所有文件路径。如果您开发了一个链式应用程序,请仅使用文件名(而不是任何文件路径),例如
.\fileOutput.yxdb
,而不是
%temp%\fileOutput.yxdb
或类似内容。通过浏览到文件来选择文件,然后通过
工作流依赖关系
窗口将文件依赖关系路径改为相对路径。
禁止的工具和事件
社区 Gallery(也称为 Analytics Gallery)中禁止使用这些 Alteryx Designer 工具和事件,因为可以执行多种可能的配置和操作:
如果您的工作流以安全的方式使用其中一个禁止的工具或事件,您可以申请豁免以在 Gallery 中运行工作流。申请豁免的方式…
向 curator@alteryx.com 发送电子邮件并解释每个禁止的工具是如何以及为什么使用的,以及工作流想实现的大体目的。
在您的私人工作室中发布工作流,并选中 其他人可下载此工作流 选项。
将工作流添加到集合并通过 curator@alteryx.com 与 Alteryx 管理员共享。
等待最多两个工作日来审核您的工作流,并等待 Alteryx 管理员通过电子邮件向您发送有关您的请求的进展状况。
社区 Gallery 中允许使用 Designer 附带的、使用 R 工具的预测分析宏指令。
不支持的 Web 应用程序功能
Analytics Gallery Web 环境中不支持这些功能。
文件夹浏览
文件浏览(另存为),可在 Web 上正常执行上传操作。
如果应用程序在桌面环境中抛出任何错误,则无法将其保存到 Server。
超过 7 个应用程序的应用程序链在 Server 上无法正常运行。
构建应用程序的最佳实践
更新操作
使用 “操作”工具 更新/更改值时,除非实际需要,否则不要使用 替换特定字符串: 选项。如果由于持续开发而更改工作流中的工具配置,则可能会导致该操作工具不工作,因为该特定字符串可能不再存在。显然,有时您需要使用该选项,但请记住,如果您在工具中更改该字符串,则可能还需要更新“操作”工具。
更新绕行
如果您使用“操作”工具更新 “绕行”工具 ,请尽量完整地更新绕行,以应对两种可能性,即左绕行和右绕行。否则,如果您只是针对一个条件进行更新,并在开发过程中更改了工作流,那么您没有全面考虑如果需要工作流以另一种方式运行该怎么处理。
结束绕行
所有绕行都必须结束,尤其是在将任何数据流从绕行连接到工作流中的任何其他位置之前。 绕行结束工具 不需要配置,因此很容易使用。别忘了充分利用这些工具或使用“输出”工具结束绕行。
使用“错误消息”工具
当您编写问题时,要考虑您的用户,设想可能会出现的常见错误。您应该使用 “错误消息”工具 发出错误消息。例如,如果用户必须选择一个选项,则在他们不执行任何选择时抛出错误,这样可以避免引擎抛出相关错误(这些错误可能对用户来说不够有意义,无法使其理解如何修复错误)。理想情况下,为用户需要填写的每个问题抛出一格错误。您还可以设计更复杂的条件,以确保用户正确填写内容。例如,如果他们需要在文本框中填写最多 5 个以逗号分隔的交易区域(例如 1, 2, 3, 4, 5),您可以使用正则表达式条件来确保文本框中的逗号不超过 4 个。
使用“消息”工具发出错误
按照同样的思路,尝试预测即使配置正确,应用程序也可能失败的情况。例如,用户输入的地址可能无法进行地理编码,且无法呈现结果。在应用程序中处理消息可以轻松自如,比方您可以通过筛选错误的地理编码,然后使用 “消息”工具 将以下消息返回给用户:“您提供的地址无法地理编码。请检查地址是否有效,进行适当更改,或输入不同的地址并重新运行。”
更新原始 XML,转义 HTML 元字符
如果您在更新工具的原始 XML 或在应用程序中使用特殊字符,请记住,在 Web 上,有可能不会按预期正常工作。例如,引擎上的
“下拉列表”工具
或
“列表框”工具
选择可能包含如下文本:
Age By Sex Summary Report:<Report Type=”summary”>Age By Sex Summary Report</Report>
但是,在 Web 上使用时,该工具实际上未能正确显示问题,因此,在一个“操作”中使用时,它可能无法实现所需的效果。一个解决方案是将文本改为:
按性别划分的年龄总结报告:<Report Type="summary">Age By Sex Summary Report</Report>
然后,如果您在一个“操作”中用到对问题的回应,则需要将其更新为:
EscapeXMLMetacharacters([AllocateSummaryReport])
转义 XML 元字符函数已添加到版本 8.0 的公式库中。您可以从“专用”类别访问它。此函数会将所有 XML 元字符替换为其转义版本。
Allocate 变量树
当 Allocate 变量树留空时,Web 和引擎会返回不同的值。如果应用程序有一个Allocate变量树作为问题类型,则您可能需要编写一个条件,检查用户是否选择了任何内容或将其留空。对于引擎,您可以编写如下内容:
[AllocateVariables] == "<Variables />"
当变量树未选择任何内容时,将返回
<Variables />
。但是,在 Web 上,返回的值实际上不含任何内容,因此您需要使用如下条件:
isempty([AllocateVariables])
显然,我们希望应用程序在 Web 和桌面上都能正常运行,因此实际需要满足以下条件:
[AllocateVariables] == "<Variables />" or isempty([AllocateVariables])
如果我们还担心在 Web 上使用 <、> 和 / 字符,则可以将条件改为:
REGEX_CountMatches([AllocateVariables], "Variables") ==1或IsEmpty([AllocateVariables])
合并工具
最好将手动配置的 “合并”工具 保留在任何应用程序之外,因为在大多数情况下,工作流会在运行时发生变化。不要在手动模式下配置“合并”工具,而是将“选择”工具插入到“合并”工具的每个连接中。配置“选择”工具时,根据需要重命名和重新排序字段,注意不要包含动态/未知字段。使用“按名称自动配置”或“按位置自动配置”来配置“合并”工具。
工具容器和应用程序的有序组织
应用程序的组织有一部分是通过为应用程序的不同部分使用不同的工具容器来完成的。例如,所有报告工具通常都是应用程序的最后一部分,可以放置在标有“报告”的工具容器中。
“工具容器”工具 可以根据其突出显示的功能进行颜色编码。颜色编码工具容器可让您更容易理解应用程序正在执行的操作,尤其是在通过小型缩放控件查看时。在对其他人创建的应用程序进行排错或调试时,此工具很有帮助。
“界面”工具应放置在自己的容器中,并按颜色进行编码。对于多选项卡应用程序,建议将组成各选项卡的工具放在其自己单独的容器中。
工作流和应用程序的注释
注释是附加到特定工具的文本框,在描述单个工具的作用时非常有用。一个主要优点是,如果您移动工具,注释会随之移动。在 工作流配置 下,选择显示 注释 。
如果需要,您还可以将单个注释放置在工具的顶部或底部。要更改 注释 ,请单击工具,选择 注释 选项卡,然后选择或取消选择 将注释置于顶部 。
针对宏的具体指南
所有以前的准则都适用于宏和应用程序,但以下仅适用于宏。
宏输入
“宏输入”工具 应包含数据。如果出现问题,包含数据可以更容易地进行故障排除或调试。“宏输入”工具内嵌有一个文本输入。这是宏输入的首选方法。如果您需要一个较大的文件作为数据输入,则应尽可能将其包含在宏指令中。宏的数据文件依赖关系应按照以下模式命名:
NameOfMacro.NameOfDataFile.yxdb
输入和输出名称没有相关工具编号。在“宏输入属性”选项卡中,确保名称具有足够的描述性。当用户配置“宏”工具时,可以看到此处指定的名称。
当有多个输入和输出时,添加 连接器缩写 可帮助用户配置工具,方法是在工具放置在画布上时在工具锚点上提供一个标签。有关详细信息,请访问 宏输入工具 或 宏输出工具 。
命名选项卡
用户配置宏工具时,选项卡名称应具有描述性,以方便使用。在配置时,用户可以看到选项卡。默认选项卡名称是“问题”- 此名称不是一个非常具有描述性的名称,这通常是在只有单个选项卡情况下开发宏(或应用程序)时的一个疏忽。参见 “界面设计器”窗口 。
支持宏
父工作流中使用的支持宏应与父宏一起出现,或位于支持目录中,其名称如下:
NameOfParent.NameOfSupporting.yxmc