# 构建按需应用程序

一个按需应用程序加载由选择应用程序以聚合形式加载的数据的子集。按需应用程序通过将按需选择应用程序链接到按需模板应用程序来构建。选择应用程序和模板应用程序是按需应用程序的基本构建块。

要构建按需应用程序，必须先创建可链接到一起的选择应用程序和模板应用程序。要进行链接，选择和模板应用程序必须具有可绑定到一起的共同的数据字段。

有关更多信息，请参阅[创建 On-demand 选择应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/creating-OnDemand-selection-app.htm)和[创建 On-demand 模板应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/creating-OnDemand-template-app.htm)。

可将选择应用程序和多个模板应用程序链接，并且单个模板应用程序可通过多个选择应用程序链接。但是模板应用程序的数据绑定表达式必须对应与其链接的选择应用程序中的字段。

On-demand 应用程序导航链接将选择应用程序连接至模板应用程序。On-demand 应用程序导航链接创建在选择应用程序中。一旦定义了导航链接，则可将其作为 On-demand 应用程序导航点添加至选择应用程序的应用程序导航栏。应用程序中的每个工作表包含其自己的应用程序导航栏。然后用户通过应用程序导航点生成 On-demand 应用程序。

On-demand 应用程序构建视图的示例。

On-demand 应用程序构建视图的示例。

On-demand 应用程序构建视图的示例。 ![ On-demand  应用程序概述。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_OnDemandBuildComponents_saas.png)

可以从同一个应用程序导航点生成多个 On-demand 应用程序，每个应用程序都包含选定数据的不同组合。

指向单个应用程序导航链接的指针可以添加到同一个选择应用程序中的多个工作表中。此外，工作表可具有多个通过多个应用程序导航链接创建的应用程序导航点。

当选择应用程序包括导航链接和导航点时，可生成 On-demand 应用程序。

执行以下操作：

1. 打开 On-demand 选择应用程序并选择编辑。

2. 从左侧的面板中选择应用程序导航链接。

3. 单击新建按钮以打开 创建新的按需应用程序导航链接对话框。

4. 对新的 On-demand 应用程序导航链接进行命名。

5. 选择一个 On-demand 模板应用程序。

   模板应用程序下拉列表中并非所有的应用程序都是有效的模板应用程序。您必须选择一个已作为模板应用程序构建的应用程序，并且其数据绑定表达式对应于您正在使用的选择应用程序中的字段。否则，从应用程序导航链接中生成的 On-demand 应用程序将产生错误。

   有关更多信息，请参阅[创建 On-demand 模板应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/creating-OnDemand-template-app.htm)。

6. 编写一个用于计算详细记录总数的表达式，这些记录由可通过选择应用程序中的选择项状态访问的聚合记录来表示。

   该表达式通常使用 SUM 函数来获取选定记录的总数。此结果用于确定要加载的数据量何时位于用于生成 On-demand 应用程序的指定范围内。

7. 指最大行数。

   最大行数值针对记录数设置上限，记录数由 On-demand 应用程序可以加载的表达式条目中的函数计算得出。只要选择应用程序中的行估计表达式所计算的记录数大于最大行数值，就无法生成 On-demand 应用程序。只有当行估计表达式所计算的记录数等于或低于 最大行数值所设置的上限时，才会生成应用程序。

   要创建用于最大行数的表达式，您必须了解如何通过在选择应用程序中可用的字段计算总记录计数。

   信息注释可以发送到按需应用程序的最大数据量为 50 MB。任何大于此值的值都会导致按需应用程序失败，而不会显示错误消息。设置最大行数，以确保用户无法创建大于 50 MB 的选择。

   有关更多信息，请参阅[创建 On-demand 选择应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/creating-OnDemand-selection-app.htm)。

8. 指定生成的应用程序的最大数量。

   可以从选择应用程序的应用程序导航栏上的同一个 On-demand 应用程序导航点生成多个 On-demand 应用程序。之所以生成多个应用程序，是因为每个应用程序可以包含不同的数据选择项。当生成了最大数目的应用程序之后，通过导航点生成应用程序的用户必须删除现有应用程序中的一个，然后才能生成新的 On-demand 应用程序。

   生成的应用程序的最大数目适用于 On-demand 应用程序导航链接。如果通过导航链接创建了一个 On-demand 应用程序导航点，则该导航点最多可以创建最大数量。但是如果通过同一导航链接创建了多个导航点，则通过这些导航点生成的 On-demand 应用程序的总数限制为生成的应用程序的最大数量的设置。

   信息注释

   在按需应用程序导航链接上，您可以选择：

   * 覆盖生成的应用程序，如果已达到生成的应用程序的最大数量，用户将无法生成新的应用程序。在工作表集中添加一个按钮，以导航到按需应用程序导航链接或删除一个或多个生成的应用程序。

   * 在生成的应用程序中保留脚本。有权访问该应用程序的用户将能够生成包含模板应用程序脚本的应用程序。此外，如果您在个人空间中拥有创建-编辑权限，您将能够查看和编辑生成的应用程序的脚本。对于 QSEoW，您决定将生成的应用程序发布到哪个数据流。

9. 在保留时间字段中输入一个数值，用于指定通过导航链接生成的应用程序在删除前保留的时间长度。

10. 在 Retention time（保留时间）字段右侧的下拉菜单中，选择保留期间的时间单位。

    保留时间的选项为小时、天或 Never expires（永不过期）。

    通过导航链接生成的所有 On-demand 应用程序将根据该设置保留。生成的 On-demand 应用程序的年龄是当前时间和上次数据加载的时间之间的差值。On-demand 应用程序年龄的这种计算方式对于发布和未发布的应用程序同样适用。如果 On-demand 应用程序在生成后手动发布，年龄计算保持不变：它基于生成的应用程序的最后数据加载。

11. 在打开时的默认视图下拉菜单中，选择当通过导航链接生成的应用程序打开时首先显示的工作表。

    您可在从中创建导航链接的选择应用程序中选择应用程序概述或其中一个工作表。

12. 单击创建，新的 On-demand 应用程序导航链接将出现在应用程序导航链接的列表中。

13. 将应用程序导航链接拖到选择应用程序上的应用程序导航栏。

    将应用程序导航链接拖动至选择应用程序上会创建 On-demand 应用程序导航点。新 On-demand 应用程序导航点的属性将显示在右侧面板中。需要时，可以在右侧面板上更改导航点的名称。

14. 在工作表编辑器中单击完成。

    On-demand 选择应用程序现在可以使用或发布了。选择应用程序的用户将能够从选择应用程序中应用程序导航栏上的导航点生成 On-demand 应用程序。

您可在共享或托管空间中共享 On-demand 选择应用程序。您必须首先公开选择和模板应用程序的工作表。然后，您可以将选择应用程序添加到共享或托管空间。如果要发布到托管空间，则只需发布选择应用程序。

具有这些空间中应用程序访问权限的用户可以访问这些应用程序中的导航点。例如，他们可以从应用程序导航栏生成 On-demand 应用程序。

警告注释

如果您在托管或共享空间中的应用程序包含敏感数据，请小心使用 On-demand 应用程序，并确认访问您的选择应用程序的人员的权限。

On-demand 应用程序被添加到用户的个人空间。如果用户在共享或托管空间中具有可以贡献、可以管理、可以发布或所有者权限，则他们可以与其他用户共享从其个人空间生成的 On-demand 应用程序。

按需选择应用程序发布到受管空间后，您无法在选择应用程序或已发布的应用程序中编辑导航链接。如果需要更新导航链接，请删除已发布的应用程序。接下来，在选择应用程序中编辑链接，然后将应用程序再次发布到受管空间。