了解如何查询您的 Tulip 数据表,并在 Tulip 应用中构建可访问的聚合功能
在本文中,您将学习……
- 表查询和聚合的功能
- 如何构建查询和聚合
- 如何在应用中使用查询和聚合
概述
表查询和聚合功能使您能够以动态的方式与表进行交互,对数据进行筛选和汇总,以便在应用中使用。
本文将以包含 10 行数据的**“订单”**表为例:

在右上角,您可以看到**“查询**”和**“聚合”按钮。点击“查询**”以添加新查询。
以下示例使用筛选条件,仅返回尚未发货的记录:

聚合是在查询基础上添加的,与查询一样在表级别构建。点击**“聚合**”以创建新的聚合。
以下示例将对表字段**“产品数量**”进行求和:

查询
查询可让您对表中的数据进行筛选和排序。查询既可以使用静态值,也可以使用基于应用程序输入的动态值。
筛选器
通过将特定列或多列与**“静态值**”或**“应用输入**”进行比较,来筛选记录。
比较选项的示例包括:
- 等于 / 不等于
- 为空 / 不为空
- 包含 / 不包含
- 以…开头 / 不以…开头
- 以…结尾 / 不以…结尾
- 属于
- 大于或等于 / 小于或等于
- 在……之后或等于…… / 在……之前或等于……
**“静态值”将在构建查询时静态设定,而“应用输入”**则在应用内部进行配置。应用输入可配置为:
- 变量
- 静态值
- 应用信息
- Tulip 表记录
现在,您可以在表查询中使用**“创建时间”和“更新时间”**字段。
排序
通过配置**“排序”**选项,自定义记录的显示方式。示例包括:
- A 到 Z / Z 到 A
- 0 到 9 / 9 到 0
限制
查询返回的记录最大数量。
- 默认值:1,000
- 最大值:1,000
:::(警告) (达到限制时的行为)
如果表中符合查询过滤条件的records (或若未配置任何过滤条件,则所有 )数量超过了限制,则查询结果中仅包含限制值所指定的数量。
如果查询包含排序条件,则将包含按此排序方式排在最前面的records 。
:::
测试
在通过设置“过滤器”、“排序”和“限制”选项配置好查询后,可直接在表格中点击**“测试”按钮**对查询进行测试。这将模拟该查询在应用程序中返回的结果。
在应用中使用查询
要将查询添加到应用中,请先点击“记录”选项卡,然后点击**“+添加表**”将该表添加到应用中**。接下来,点击“查询”** 。
在弹出的模态窗口中,为查询指定**“查询名称**”,并根据需要配置与筛选器关联的“应用输入”。在此示例中,请参阅查询**“未发货的产品”:**

现在查询已在应用中配置完毕,请嵌入一个交互式表格,并将数据源设置为该查询。
嵌入的表格将显示查询结果。在此示例中,有 3 条记录符合**“已发货”等于“否”的筛选条件:**

聚合
聚合是在查询基础上运行的汇总值,可针对特定列计算以下值之一:
平均值* 返回数字或整数的平均值
计数* 返回记录数,无需指定字段
Max* 返回数字或整数的最大值
Min* 返回数字或整数的最小值
众数* 返回出现次数最多的值*注意:如果两个值的出现次数相同,则始终返回较小的那个值。
Sum* 返回数字或整数的总和
唯一值* 返回给定查询中各个唯一值的数组,数据类型不限
限制
聚合操作最多可处理 1,000 条记录。
聚合操作针对配置的查询返回的记录进行。为聚合的父查询设置的限制也适用于该聚合(1,000 条记录)。
如果表中符合给定过滤条件的记录数超过限制,且用户未意识到该查询限制,则聚合可能会显示出意料之外的结果。
如果您需要在应用中对超过 1,000 条记录进行聚合,请通过连接器函数使用 Tulip API 的 runAggregation 端点,该端点最多支持 100,000 条记录。
如果您仅需可视化超过 1,000 条记录的聚合结果,请使用 Analytics 构建“单一值”分析,该功能允许对表中的所有记录进行聚合。
在应用中使用聚合
与向应用添加查询的方式类似,点击**“+添加聚合**”即可添加聚合,并为其指定聚合名称。
在此示例中**,“已订购产品总数量**”聚合是在仅返回“尚未发货”记录的查询上运行的。因此,该聚合的名称为**“待发货产品数量”:**

要将聚合嵌入应用,请将一个变量拖放到应用中,并选择数据源-Tulip 表聚合。接下来,选择在将聚合添加到应用时配置的聚合名称。
在此示例中**,“产品数量之和”**聚合是在返回需发货记录的查询基础上运行的。其返回的总数为 17:

在应用逻辑中使用聚合
借助聚合功能,您可以围绕聚合值构建应用逻辑。请参阅以下示例:

请注意,目前无法在应用内访问**“单个数字**”Tulip Analytics,也无法将其直接用于应用逻辑。通过在查询基础上运行聚合,您可以针对该值进行操作,从而围绕其构建应用逻辑。
