# 创建 On-demand 选择应用程序

On-demand 选择应用程序提供了一种选择大型数据集的子集的方法，以便 Qlik 关联引擎 可以高效地建立关联。在数据量极大的环境中，我们建议让选择应用程序仅加载适度水平的维度粒度。例如，其数据基于销售数据（按季度、区域和产品类别进行聚合）的选择应用程序可以使用 SQL SELECT 语句，如下所示：

```
SELECT 	SUM(S.UNIT_COST) AS TOTAL_UNIT_COST,
	SUM(S.QUANTITY) AS TOTAL_QUANTITY,
	SUM(S.UNIT_PRICE * S.QUANTITY) AS TOTAL_SALE,
	SUM( (S.UNIT_PRICE - S.UNIT_COST) * QUANTITY) AS TOTAL_PROFIT,
	SUM(1) AS TOTAL_LINE_ITEMS,
	S.REGION,
	S.YEARQUARTER,
	S.PRODCAT,
FROM SALE_DETAIL S
GROUP BY S.REGION, S.YEARQUARTER, S.PRODCAT
```

On-demand 度量表达式属性通常基于从 SQL GROUP BY 查询计算的聚合值，该查询用于加载数据。由于选择应用程序使用 GROUP BY 查询来聚合 SALE\_DETAIL 记录，因此聚合函数（在本例中为 SUM ）必须用在 UNIT\_COST、QUANTITY 的度量字段，以及 TOTAL\_SALE 和 TOTAL\_PROFIT 的计算值上。

SUM(1) AS TOTAL\_LINE\_ITEMS 提供了一种方法，用于精确度量区域、季度和产品类别的每个不同组合的销售行条目总数。在创建用于生成 On-demand 应用程序的链接时，必须提供用来控制 On-demand 应用程序中所加载的记录数的度量表达式。在 SALE\_DETAIL 示例中，当用户选择多个产品类别、区域和/或季度时，可以计算 TOTAL\_LINE\_ITEMS 的总和，以确定选择项是否超过了 On-demand 应用程序的记录限制。

记录限制是在将选择应用程序链接到模板应用程序以创建应用程序导航链接时指定的。每个应用程序导航链接都有一个记录限制。可以从选择应用程序创建多个导航链接。通常会创建多个应用程序导航链接来将一个选择应用程序链接到不同的模板应用程序，以便生成多个数据视图。

可以将各个 On-demand 应用程序导航链接包括在要发布的选择应用程序中。应用程序导航链接一旦包括在选择应用程序中，即可用于创建一个或多个应用程序导航点，这会使特定工作表的用户能够基于该链接的模板应用程序创建 On-demand 应用程序。

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

信息注释

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