【问题标题】:Update all rows of Excel table with PowerApps ForAll + Patch使用 PowerApps ForAll + Patch 更新 Excel 表的所有行
【发布时间】:2021-09-14 20:34:52
【问题描述】:

我正在为大多数 PowerApps 开发人员必须轻松解决的问题而苦苦挣扎。

我有一个 Excel 表“Table1”用作我的 PowerApps 应用程序中的数据源,我想使用公式更新集合的每一行:ColumnX = ColumnY。

这里没有画廊,没有收藏。我没有创建自己的 ID,因为我不需要它。

我尝试了 ForAll 和 Patch 函数,但没有成功找到正确的语法...

ForAll(ShowColumns(Table1,"Avancement antérieur (%)","Avancement total (%)"), 
    Patch(Table1, ThisRecord, {'Avancement antérieur (%)':'Avancement total (%)'}))

感谢您的帮助!

【问题讨论】:

    标签: powerapps powerapps-formula


    【解决方案1】:

    您没有创建 ID,但是当您使用 Excel 表格作为应用程序的数据源时,系统会自动为您创建 ID。当您使用 ShowColumns 函数仅选择所需的两列时,您从传递给 ForAll 函数的表中“删除”了 id(请注意,此删除仅在内存中完成;原始表仍然具有它的列)。删除该 ID 后,Patch 函数现在将知道要更新哪条记录,因此它最终会创建新记录。

    要保留 id,您可以将表的值存储在本地集合中,并将该集合用作 ForAll 的参数:

    ClearCollect(tempCollection, Table1);
    ForAll(
        tempCollection,
        Patch(
            Table1,
            ThisRecord,
            { 'Avancement antérieur (%)': 'Avancement total (%)' }))
    

    【讨论】:

      【解决方案2】:

      我最终得到了这个解决方案,并应用了过滤器:

      ForAll(
      Filter(Table1, Not(IsBlankOrError('Avancement total (%)'))),
      Patch(Table1, ThisRecord, {'Avancement antérieur (%)':'Avancement total (%)'}, {'Avancement total (%)': ""}))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-13
        • 1970-01-01
        • 2021-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多