First、FirstN、Index、Last 和 LastN 函数

适用于:画布应用桌面流模型驱动应用 Power Platform CLI

返回表中的第一个、最后一个或特定记录,或一组第一个或最后一个记录。

说明

First 函数返回中的第一条记录。

FirstN 函数返回表中的第一组记录,第二个参数指定要返回的记录数。

Last 函数返回表中的最后一条记录。

LastN 函数返回表中的最后一组记录,第二个参数指定要返回的记录数。

Index 函数基于记录在表中的排序位置返回表的记录。 记录编号从 1 开始,因此 First( table ) 返回与 Index( table, 1 ) 相同的记录。 如果请求的记录索引小于 1、大于表中的记录数或表为空,Index 将返回错误。

FirstIndexLast 返回单个记录。 FirstNLastN 都返回一个表,即使仅指定了单个记录。

代理

与数据源一起使用时,无法委派这些函数。 将仅检索数据源的第一部分,然后应用该函数。 结果并不能代表整个过程。 创作时可能会显示一条警告,以提醒您有此限制,并建议尽可能切换到可委派的替代项。 有关详细信息,请参阅委派概述

例如,当用于包含具有 100 万个记录的大表的数据源时,Last 将受到非委派限制,不会返回整个数据源的最后一个记录。 同样,使用 Index 请求 100 万个记录中间的记录会导致错误,因为基于非委派限制索引超出了的范围。

语法

First( Table )
Last( Table )

  • Table - 必需。 要运算的表。

FirstN( Table [, NumberOfRecords ] )
LastN( Table [, NumberOfRecords ] )

  • Table - 必需。 要运算的表。
  • NumberOfRecords - 可选。 要返回的记录数。 如果未指定此参数,函数将返回一条记录。

Index( Table, RecordIndex )

  • Table - 必需。 要运算的表。
  • RecordIndex - 必需。 要返回的记录的索引。 记录编号从 1 开始。

示例

在下面的示例中,我们将使用 IceCream数据源,其中包含下表中的数据:

IceCream 示例。

可以使用以下公式将此表放入集合中(放入 Button 控件的 OnStart 公式并按下按钮):

Collect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 },
                          { Flavor: "Vanilla", Quantity: 200 },
                          { Flavor: "Strawberry", Quantity: 300 },
                          { Flavor: "Mint Chocolate", Quantity: 60 },
                          { Flavor: "Pistachio", Quantity: 200 } ) )
公式 说明 结果
First( IceCream ) 返回 IceCream 的第一个记录。 { Flavor: "Chocolate", Quantity: 100 }
Last( IceCream ) 返回 IceCream 的最后一个记录。 { Flavor: "Pistachio", Quantity: 200 }
Index( IceCream, 3 ) 返回 IceCream 的第三个记录。 { Flavor: "Strawberry", Quantity: 300 }
FirstN( IceCream, 2 ) 返回包含 IceCream 的前两个记录的表。 包含 Chocolate 和 Vanilla 记录的表
LastN( IceCream, 2 ) 返回包含 IceCream 的后两个记录的表。 包含 Mint Chocolate 和 Pistachio 记录的表
Index( IceCream, 4 ).Quantity 返回表的第四个记录,并提取 Quantity 列。 60
Index( IceCream, 10 ) 返回错误,因为请求的记录超出了表的范围。 错误