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

Power App:如何在公式中使用文本值作为列名?

解决方法

在Power Apps中,没法直接把文本字符串当作列名用在Filter的条件里,但可以通过两种实用方法实现你的需求:

方案1:用With+动态列访问(推荐)

先把当前用户的部门名称存起来,再用ThisRecord[列名字符串]的语法动态访问列值,让Filter正确识别文本对应的列:

With(
    {
        userDept: LookUp('Employee Departments','Employee Email' = Office365Users.MyProfileV2().mail,Department)
    },
    Filter(
        'Records for Review',
        ThisRecord[userDept] = false
    )
)

比如你的例子里,userDept会拿到"Sales",ThisRecord[userDept]就等价于直接写Sales,最终筛选出Sales = false的Proj2记录。

方案2:用Switch枚举部门列(适合部门固定的场景)

如果部门数量不多且不会频繁变动,直接用Switch映射每个部门对应的列判断,可读性更高:

Filter(
    'Records for Review',
    Switch(
        LookUp('Employee Departments','Employee Email' = Office365Users.MyProfileV2().mail,Department),
        "Sales", Sales = false,
        "Marketing", Marketing = false
        // 可继续添加其他部门的判断逻辑
    )
)

原代码失效的原因

你之前写的代码:

Filter('Records for Review',LookUp('Employee Departments','Employee Email' = Office365Users.MyProfileV2().mail,Department) = false)

实际是在判断部门名称这个字符串是否等于false(比如判断"Sales" = false),字符串和布尔值永远不相等,自然筛选不到任何记录。

内容的提问来源于stack exchange,提问作者Jaden Polston

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:22:37