本文介绍:

Power Apps 中的委派函数和非可委派函数。

现象:

在Power Apps中显示某些数据源时,如果数据量超过 500,则可能遇到现实不全的情况,实际上大部分是由于 委派函数 和 非可委派函数 使用不合适导致的。

所谓委派函数,是指实际的数据查询是由数据源完成的,比如 power apps 调用 filter 函数 查询了 SQL数据库或者 Share Point,实际的查询是在数据源侧也就是SQL或Share Point 执行的。这时候的返回值可以是超过500条数据的。

为什么提到500这个数字,是因为Power Apps画布应用的一个默认配置:

打开某个Power Apps的编辑模式,文件菜单-设置-数据行限制,该值默认是500,最大可以调整到2000。

注意,该值的配置是针对非可委派函数的,比如下方的函数,均为非可委派函数:

非可委派函数

所有其他函数都不支持委派,包括以下重要函数:

使用这些函数从SQL或Share Point List查询数据,则会受 500 这个值的限制。

官网中对此限制的描述如下:

显然,使用此工具时必须小心,因为这可能会让用户感到困惑。 例如,假设有一个 Filter 函数,其选择公式不能委派,需要对有一百万条记录的数据源应用该函数。 由于本地进行筛选,因此仅扫描了前 500 条记录。 如果所需记录是第 501 或第 500,001 个记录,则 Filter 不会考虑或返回该记录。

即数据库中明明有几千条数据,但使用了上述非可委派函数,导致数据只查出了 500条,导致业务逻辑混乱。

这个值可以改成最大2000,但官网也给出了说明:

在某些情况下,您会发现 2,000(或者 1,000 或 1,500)即可满足方案的需求。 可以谨慎增大此数字以适应您的方案。 增大此数字,应用的性能可能会降低,特别是对于具有大量列的宽表。 尽管如此,仍是委派越多越好。

即虽然可以改成2000,但也要悠着点,改太大可能造成性能问题。

可委派函数则不受上述影响:

可委派函数

FilterSearch 和 LookUp 可以委派,不受500的限制。

针对以上描述,我们做了测试,在Share Point中导入了一个excel,内容如下:

RT20170001-RT20172210,共计2210行数据。

在Power Apps中使用Share point 连接创建画布应用:

设置 Gallery1 控件的:

Items =Filter([@'test-excel'], StartsWith(Title, TextSearchBox1.Text))

由于Filter是 可委派函数,所以如下图是可以显示超过 2000条数据的。

紧接着设置一个按钮,然后设置一个 gallery 2,按钮的onselect 设置为:

OnSelect=ClearCollect(Collect01,Filter([@'test-excel'], StartsWith(Title, TextSearchBox1.Text)));

使用ClearCollect 非可委派函数,故而Collect01中的数据实际上是受到 默认值 500的限制的,本例子中我们已经讲该值改为2000。

Gallery2 的 ITems 设置为

Items=Collect01

运行程序,点击按钮,查看 Gallery2的数据:

由于ClearCollect是 非可委派函数,则最多显示了 2000条数据。

针对这一现象,官网给出:

官网中明确规定:处理大型数据集需要使用数据源和能够委派的公式, 若要让应用始终运行良好,同时要确保用户能够访问所需的全部信息,这是唯一的方式。 请注意,标识不可能委派的位置的委派警告。 如果处理的是小型数据集(不到 500 条记录),则可使用任何数据源和公式,因为当不能委派公式时,应用可以在本地处理数据   。


另外当 Share Point List中数据超过 5000,则Power Apps还会报错:

请求的操作无效,服务器响应  失败,已禁止尝试的操作,因为它超过了列表视图阈值。

需修改Share Point List 列表体验 为 新体验 以支持超过5000行的share point list ,步骤如下:


声明:

点击可查阅本站文章目录《文章分类目录》

本站所有内容仅代表个人观点,如与官文档冲突,请以官方文档为准。

可在本页面下方留言或通过下方联系方式联系我:

微信:wxyusz;邮箱:shuzhen.yu@foxmail.com

欢迎关注公众号“云计算实战”,接收最新文章推送。

Power Apps 画布应用中非可委派函数查询数量限制的更多相关文章

  1. Power Apps 创建响应式布局

    前言 我们都知道Power Apps作为低代码平台,最大的优势就是各个设备之间的兼容性,尤其是自带的响应式布局,非常好用. 这不,我们就为大家分享一下,如何使用Power Apps画布应用,创建响应式 ...

  2. 低代码开发LCDP,Power Apps系列 - 新建泰勒创新中心门户案例

    低代码简介 上世纪八十年代,美国就有一些公司和实验室开始了可视化编程的研究,做出了4GL"第四代编程语言",到后来衍生成VPL"Visual Programming La ...

  3. 低代码开发LCDP,Power Apps系列 - 搭建入职选购电脑设备案例

    低代码简介 上世纪八十年代,美国就有一些公司和实验室开始了可视化编程的研究,做出了4GL"第四代编程语言",到后来衍生成VPL"Visual Programming La ...

  4. 使用Azure API Management, Functions, Power Apps和Logic App构建应用

    ASP.NET OpenAPI 可以非常方便的将我们的Web API项目自动文档化,除了自动文档化以外,我们还可以利用Azure API Management将Open API自动文档化了的Web A ...

  5. Solr的函数查询(FunctionQuery)

    作用 通过函数查询让我们可以利用 numeric域的值或者与域相关的的某个特定的值的函数,来对文档进行评分. 如何使用 这里主要有两种方法可以使用函数查询,这两种方法都是通过solr http 接口的 ...

  6. 函数查询(Function Query)

    函数查询 可以利用 numeric字段的值 或者 与字段相关的的某个特定的值的函数,来对文档进行评分. 1.    使用函数查询的方法 这里主要有三种方法可以使用函数查询,这三种s方法都是通过solr ...

  7. SQL语句(十一)函数查询

    (十一)函数查询 1. 聚合函数 对一组值进行计算,得到一个返回值 SUM(), 求和 AVG(), 求平均 MIN(), 求最小 MAX(), 求最大 COUNT(), 计数,即个数 --例1 求所 ...

  8. Solr学习总结(六)solr的函数查询Function Queries

    摘要: 函数查询允许你使用一个或多个数字字段的真实值生成一个相关性分数,函数查询在standard,DisMax,eDisMax下都能使用. 查询函数可以是常量,字段或者其他函数的组合.使用函数可以影 ...

  9. Solr之functionQuery(函数查询)

    Solr函数查询 让我们可以利用 numeric域的值 或者 与域相关的的某个特定的值的函数,来对文档进行评分. 怎样使用函数查询 这里主要有两种方法可以使用函数查询,这两种方法都是通过solr ht ...

随机推荐

  1. 基于Typescript的Vue项目配置国际化

    基于Typescript的Vue项目配置国际化 简介 使用vue-i18n插件对基于Typescript的vue项目配置国际化,切换多种语言, 配合element-ui或者其他UI库 本文以配置中英文 ...

  2. 【NX二次开发】Block UI 线性尺寸

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  3. PTA题目集总结

    PTA题目集1-3总结 一:前言 我认为题目集一的有八个题目,题量可能稍微有点多,但是题型较为简单,基本为入门题:题集二有五道题,题量适度,难度也适中:题集三虽然只有三道题,但是难度却骤然提升,前两题 ...

  4. 【题解】hdu2044一只小蜜蜂

    斐波拉契数列的应用 题目 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数.其中,蜂房的结构如下所示. Input输入数据的第一行是一个整数N,表 ...

  5. Golang编写动态库实现回调函数

    Golang编写动态库实现回调函数 我们现在要做一个动态库,但是C++实在是比较难,于是就想能不能用更简单的golang来实现,golang也就是最近的版本才支持编译成动态库,在网上也没找到可用的案例 ...

  6. 一次 RocketMQ 顺序消费延迟的问题定位

    一次 RocketMQ 顺序消费延迟的问题定位 问题背景与现象 昨晚收到了应用报警,发现线上某个业务消费消息延迟了 54s 多(从消息发送到MQ 到被消费的间隔): 2021-06-30T23:12: ...

  7. C++容器类插入和删除时迭代器的失效情况总结

    容器底层数据结构类型 包含的具体容器 内存分配特点 insert操作后迭代器失效情况 erase操作后迭代器失效情况 数组型数据结构 vector, string, deque, array 元素分配 ...

  8. 9.4、安装zabbix(2)

    8.从节点安装: (1)安装zabbix-agent: 1)下载zabbix-agent并安装: mkdir -p /tools/ cd /tools/ wget https://mirrors.tu ...

  9. Redis启动正常,一段时间后报错,连不上redis

    Redis报错 1.redis在最终目标上移动临时数据库文件时出错 错误:redis:Error moving temp DB file temp-13792.rdb on the final des ...

  10. Raspberry Pi:树莓派开发板配置USB启动系统

    准备材料 树莓派4B U盘 TF卡 树莓派基础镜像2020-08-20稳定版(这个系统是必须的并拷录在TF卡) Kali树莓派系统(这个是我想要学习的系统,大家可以准备自己的系统,拷录在U盘的) SD ...