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

如何在PowerAutomate中提取SharePoint列表创建者公司名称前4位

解决Power Automate提取SharePoint项创建者公司名前4字符的问题

问题分析

你之前的表达式失败,核心原因通常是两个:

  • 触发输出的路径未做空值容错,或CreatedBy相关字段的键名大小写不匹配
  • 使用Search for User (V2)时,未处理返回的数组结构(该动作返回用户数组,需取第一个匹配项)

可行解决方案

方案1:直接从触发输出提取(无需额外动作)

先在Power Automate中点击触发动作的「查看输出」,确认CreatedBy节点下CompanyName的键名(通常首字母大写)。使用带空值容错和边界处理的表达式:

if(
  not(empty(triggerOutputs()?['body']['CreatedBy']['CompanyName'])),
  if(
    length(triggerOutputs()?['body']['CreatedBy']['CompanyName']) >= 4,
    substring(triggerOutputs()?['body']['CreatedBy']['CompanyName'], 0, 4),
    triggerOutputs()?['body']['CreatedBy']['CompanyName']
  ),
  ''
)

方案2:使用Search for User (V2)动作

  1. 添加Search for User (V2)动作,将「搜索查询」设为创建者的邮箱:
    triggerOutputs()?['body']['CreatedBy']['Email']
    
  2. 提取公司名并截取前4字符(注意取数组第一个元素):
    if(
      not(empty(outputs('Search_for_User_(V2)')?['body/value'])),
      if(
        length(outputs('Search_for_User_(V2)')?['body/value'][0]['CompanyName']) >=4,
        substring(outputs('Search_for_User_(V2)')?['body/value'][0]['CompanyName'], 0, 4),
        outputs('Search_for_User_(V2)')?['body/value'][0]['CompanyName']
      ),
      ''
    )
    

验证步骤

  1. 在Power Automate编辑器中点击表达式输入框旁的「测试」按钮,运行一次流
  2. 查看相关动作的输出,确认公司名是否被正确提取和截取
  3. 测试公司名为空、长度小于4的场景,确保表达式不会报错

内容的提问来源于stack exchange,提问作者Hathefah Al-Sharami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:43:14