本文介绍:

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. UF_PART 部件操作

    Open C uc5000 uc5001uc5003UF_PART_add_to_recent_file_listUF_PART_apply_family_instanceUF_PART_ask_co ...

  2. 在Visual Studio 中使用git——同步到远程服务器-上(十一)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  3. Java安全之Fastjson内网利用

    Java安全之Fastjson内网利用 0x00 前言 在打Fastjson的时候,基本上都是使用JNDI注入的方式去打,也就是 JdbcRowSetImpl 链分析的链去打,但是遇到一些不出网的情况 ...

  4. .NET 云原生架构师训练营(设计原则与模式)--学习笔记

    在复杂系统的架构设计中引入设计原则与模式,能够极大降低复杂系统开发.和维护的成本 目录 几个问题 为什么要学习设计模式 优良架构设计的具体指标 理解复杂系统 面向对象思想(指导复杂系统的分析.设计.实 ...

  5. k8s 1.12 环境部署及学习笔记

    1.K8S概述 1.Kubernetes是什么 2.Kubernetes特性 3.Kubernetes集群架构与组件 4.Kubernetes核心概念 1.1 Kubernetes是什么 • Kube ...

  6. Blazor Server 和 WebAssembly 应用程序入门指南

    翻译自 Waqas Anwar 2021年3月12日的文章 <A Beginner's Guide To Blazor Server and WebAssembly Applications&g ...

  7. 第11章:Pod数据持久化

    参考文档:https://kubernetes.io/docs/concepts/storage/volumes/ Kubernetes中的Volume提供了在容器中挂载外部存储的能力 Pod需要设置 ...

  8. 国内CRM客户管理系统哪个好用

    在企业管理者对CRM系统进行选择的时候,面对搜索引擎上各种各样的结果和各种广告,肯定会有这样的疑问:CRM客户管理系统到底是哪一个好?除了网络上那些为了广告效果而"夸大其词"的优点 ...

  9. Git——基础篇

    Git--基础篇 Git简而言之就是个版本控制工具,用于跟踪和管理代码的工具. 版本控制 本地版本控制 就是我们自己本地对文档进行保存文件的每一个修改版本的记录. 集中式版本控制--SVN 有一个远程 ...

  10. webpack(9)plugin插件功能的使用

    plugin 插件是 webpack 的支柱功能.webpack 自身也是构建于你在 webpack 配置中用到的相同的插件系统之上! 插件目的在于解决 loader 无法实现的其他事. 常用的插件 ...