本文介绍:

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. Vim一直学不会?试试这个 "真香" 神器

    Vim 的使用,一直以来是一个难题 以至于国外的知名程序员问答社区 StackOverFlow 上有一个问题 How to I exit the Vim editor 获得了超过 200万次的浏览量 ...

  2. 深入理解 sync.Once 与 sync.Pool

    深入理解 sync.Once 与 sync.Pool sync.Once 代表在这个对象下在这个示例下多次执行能保证只会执行一次操作. var once sync.Once for i:=0; i & ...

  3. Task异常捕获的方式

    这节来讲一下如果捕获Task的异常. 当Task运行中出现了异常,正常情况下我们在主线程的Try是捕获不到的,而如果在Task内部写try,出现了异常我们会完全不知道.下面就来介绍几个主线程捕获Tas ...

  4. IP地址与子网的划分

    一.IP地址 1.IP地址的定义 (1).IP地址有32位二进制数组成,一般用点分十进制来表示 (2).IP地址由两部分组成 网络部分(NETWORK) 主机部分(HOST) 2.IP地址的分类 IP ...

  5. 解决asp.net丢失session的方法文件

    /* First uninstall - this section is exactly the same as uninstall.sql */USE masterGO /* Drop the da ...

  6. IDEA详细配置+优秀插件

    目录 IDEA破解 Settings配置 配置 settings 字体 关闭IDEA更新 设置IDEA打开为项目选择界面 自动导入包配置 显示方法的分割线 滚轮设置字体大小 智能提示忽略大小写 Tab ...

  7. Linux基础 -02

    3.4 虚拟机快照技术 什么是快照 3.5 虚拟机克隆技术 什么是克隆 4.Bash Shell快速入门 4.1 什么是Bash Shell bash shell是一个命令解释器,主要负责用户程序与内 ...

  8. leetcode第156场周赛5205

    思路分析:先用哈希表统计各个数字的次数,再将每个值放进set集合中,之后如果有重复得,说明比原个数少了,如果都是独一无二的,那么个数是相同的 这波把collection集合,强转成set是真的灵性.想 ...

  9. leetcode 1122

    思路分析: 主要思想:计数排序 先遍历arr1,然后计数,再遍历arr2时同时又排完序了,再继续把arr2不存在的数字,再遍历加到数组后面,也同时排完序了.方便快捷

  10. 使用Hugo框架搭建博客的过程 - 功能拓展

    前言 本文介绍一些拓展功能,如文章页面功能增加二级菜单,相关文章推荐和赞赏.另外,使用脚本会大大简化写作后的上传流程. 文章页面功能 这部分功能的拓展主要是用前端的JS和CSS,如果对前端不了解,可以 ...