You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerApps集合关联SharePoint列表查找及按邮箱去重拼接数据咨询

PowerApps实现方案

步骤1:生成带SharePoint关联字段的初始集合

首先从原始扫描集合的每行文本中提取RITM唯一值,再关联SharePoint列表Spiderfood的对应记录,映射生成要求的字段:

ClearCollect(
    TempCollection,
    Filter(
        AddColumns(
            // 遍历原始扫描集合,先过滤空行
            Filter(ScanDataCollection, !IsBlank(Trim(Result))),
            // 提取RITM开头的唯一编码
            "ExtractedRITM", Match(Result, "RITM\d+").FullMatch,
            // 关联SharePoint列表匹配对应记录
            "SPRecord", LookUp(Spiderfood, RITM = ExtractedRITM),
            // 生成ITEMLIST字段
            "ITEMLIST", $"<li><strong>{SPRecord.REQUEST} - {ExtractedRITM} - {SPRecord.ITEM_DESCRIPTION}</strong></li>",
            // 映射其他业务字段
            "CUSTOMERNAME", SPRecord.CUSTOMER_NAME,
            "CUSTOMEREMAIL", SPRecord.CUSTOMER_NT,
            "MANAGERNAME", SPRecord.MANAGER_NAME,
            "MANAGEREMAIL", SPRecord.MANAGER_NT
        ),
        // 过滤匹配不到SharePoint记录的无效行
        !IsBlank(SPRecord)
    )
);

若你的CUSTOMER_NT/MANAGER_NT存储的是邮箱前缀,可自行拼接邮箱后缀,示例:SPRecord.CUSTOMER_NT & "@yourcompany.com"

步骤2:按客户邮箱去重并拼接ITEMLIST

使用GroupBy按邮箱分组,拼接同一邮箱下所有ITEMLIST内容,最终生成每个邮箱仅一条记录的目标集合:

ClearCollect(
    FinalCollection,
    AddColumns(
        // 按客户邮箱分组
        GroupBy(TempCollection, "CUSTOMEREMAIL", "SameEmailGroup"),
        // 取分组第一条的固定信息(同一邮箱对应的客户、经理信息一致)
        "CUSTOMERNAME", First(SameEmailGroup).CUSTOMERNAME,
        "MANAGERNAME", First(SameEmailGroup).MANAGERNAME,
        "MANAGEREMAIL", First(SameEmailGroup).MANAGEREMAIL,
        // 拼接该邮箱下所有ITEMLIST,如需完整HTML列表可外层包裹<ul>标签
        "ITEMLIST", Concat(SameEmailGroup, ITEMLIST)
    )
);

注意事项

  • 若扫描的原始文本存在格式异常的行,可在提取ExtractedRITM后增加判断逻辑过滤无效值
  • 若SharePoint列表的字段命名和示例不一致,直接替换代码中对应的字段名即可
  • 若ITEMLIST需要完整的HTML列表结构,可将拼接逻辑修改为:$"<ul>{Concat(SameEmailGroup, ITEMLIST)}</ul>"

内容的提问来源于stack exchange,提问作者Edward Martin III

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 10:27:02