# 通过 On-demand 应用程序管理大数据

On-demand 应用程序让您能够在 Qlik Sense Enterprise 中加载和分析大数据源。如果尝试一次分析整个大数据存储，则效率会非常低。但是，为了进行有代表性的可视化，所有的数据都必须是可探索的。Qlik Sense On-demand 应用程序让用户能够聚合大数据存储的视图并允许他们识别和加载数据的相关子集，以进行详细分析。

On-demand 应用程序扩展了潜在数据探索用例，允许商业用户针对较大的数据源执行关联分析。这允许用户首先选择他们希望针对其探索见解的数据，然后以交互方式生成 On-demand 应用程序。使用 On-demand 应用程序，用户可以借助于完整的 Qlik 内存中功能来分析数据。

## On-demand 应用程序组件

Qlik Sense 使用选择应用程序管理巨量数据源的加载工作，该应用程序提供巨量数据的聚合视图，还让用户可以放大和分析更缜密的数据。每个选择应用程序内嵌一个或多个模板应用程序的 On-demand 应用程序导航链接，这些模板应用程序可用作创建 On-demand 应用程序的基础。导航链接和模板应用程序的属性可让您严密控制载入 On-demand 应用程序的图形和数据量。

可以通过模板应用程序反复生成应用程序，以便跟踪经常改变的数据集。根据在选择应用程序中所做的选择筛选数据时，On-demand 应用程序内容会从基础数据源动态载入。同一个 On-demand 应用程序可以生成多次，以便在数据发生更改时对其进行全新的分析。

信息注释On-Demand 应用程序生成通过 On-Demand 应用程序服务来控制。该服务为默认禁用，必须启用该服务之后，才可以链接选择项和模板应用程序并生成 On-demand 应用程序。在 Administration 活动中心中可管理 On-demand 应用程序服务。

有关更多信息，请参阅[启用 On-Demand 应用程序生成](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/enabling-OnDemand-app-generation.htm)。

On-demand 应用程序组件之间的关系。

On-demand 应用程序组件之间的关系。

On-demand 应用程序组件之间的关系。 ![On-demand 应用程序组件。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_OnDemandApps2.png)

## 构建 On-demand 应用程序

由于 On-demand 选择和模板应用程序需要特殊的加载脚本，它们通常由具有编写 Qlik Sense 加载脚本经验的用户创建。例如 On-demand 选择应用程序必须加载具有适度水平的维度粒度的数据。On-demand 模板应用程序包含具有数据绑定表达式的加载脚本，这些数据绑定表达式用于构造在数据源上进行的查询。

可将选择应用程序链接到多个模板应用程序，并且单个模板应用程序可由多个选择应用程序链接。但是模板应用程序的数据绑定表达式必须对应与其链接的选择应用程序中的字段。出于该原因，选择和模板应用程序易于以彼此结合的方式创建，并且通常由同一位经验丰富的脚本编写人员创建。

创建导航链接还需要理解选择应用程序中的字段，该选择应用程序在模板应用程序中具有相应的绑定。这是因为每个导航链接需要计算详细记录总数的表达式。该总数代表可通过选择应用程序中的选择项状态访问的聚合记录。要创建该表达式，需要用户了解如何使用选择应用程序中可用的字段计算模板应用程序的总记录数。

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

使用选择应用程序来生成 On-demand 应用程序不需要用户理解加载脚本。一旦创建了 On-demand 应用程序导航链接，用户可以将导航链接拖动至选择应用程序的应用程序导航栏上，以创建应用程序导航点。然后通过导航点生成 On-demand 应用程序。

当导航链接中的表达式中的最大行计算处于所需范围内时，导航点变得可用于 On-demand 应用程序生成。在此时，用户可以生成一个 On-demand 应用程序。用户也可创建另一组选择项，并根据这些不同的选择项生成其他应用程序。

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

导航链接对于可通过链接生成的 On-demand 应用程序的数目存在限制。当生成了最大数目的应用程序之后，通过导航点生成应用程序的用户必须删除现有应用程序中的一个，然后才能生成新的 On-demand 应用程序。生成的应用程序的最大数目适用于 On-demand 应用程序导航链接。如果一个 On-demand 应用程序导航点通过导航链接创建，则最多能够创建最大数目的该类导航点。当通过同一导航链接创建了多个导航点时，这些导航点的总数限制为对导航链接设置的最大数目。

导航链接还为生成的应用程序设置保留时间。在 On-demand 应用程序达到保留期之后，会自动将它们删除。

## 共享 On-demand 应用程序

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

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

警告注释

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

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

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

## On-Demand 应用程序的优势

On-demand 应用程序可帮助商业用户和 IT 部门以多种方式从大数据环境中获取价值。On-demand 应用程序：

* 为用户提供“购物单”式的体验，让他们能够交互式地使用数据子集（例如时间段、客户细分或地理位置）填充其应用程序。

* 在托管于内存中的潜在子集上提供了完整的 Qlik Sense 功能。

* 使 IT 部门能够管理应用程序的大小，并根据数据量或维度选择来调用应用程序。

* 提供对于非 SQL 数据源的访问权限，诸如 SAP HANA 中的 Teradata Aster、MapR、SAP BEx 和 PLACEHOLDER 函数。

* 允许可自定义的 SQL 和加载脚本生成。

* 在所有情况下都允许区域权限。

## 限制

On-demand 应用程序具有以下限制：

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

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

* 如果更改模板应用程序的脚本并插入新的绑定变量，则必须创建新的按需应用程序导航链接以替换任何现有的应用程序导航链接。如果不这样做，对于使用该模板应用程序的现有按需应用程序，将不会发送相应字段的选择。