• Power Apps 画布应用中非可委派函数查询数量限制


    本文介绍:

    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

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

  • 相关阅读:
    戴尔服务器IDRAC命令配置IP地址
    python 生成excel,并下载到本地
    python api
    python发送邮件
    大型线上系统迁移为分布式系统案例
    2014程序员之路
    Java EnumSet工作原理初窥
    C# 引用访问权限
    分享一些我的入门经历
    分享一些我的阅读习惯
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/15074343.html
Copyright © 2020-2023  润新知