如何按条件获取日期值?自定义列代码报错求助
Power Query自定义列公式错误修正
你的代码存在两处问题,其中else each [IncomingDate]确实是错误的根源之一,具体分析和修正如下:
问题1:条件判断语法错误
原代码中的[Status] = "Active" or "Pending"不符合Power Query的语法规则:
or运算符的两侧必须是完整的布尔表达式,单独的"Pending"会被Power Query解析为布尔值true,这会导致条件始终成立(即便Status不是Active/Pending)。虽然你反馈Active/Pending状态能正确取值,但这属于偶然情况,写法本身存在逻辑漏洞。
正确的条件写法应为:[Status] = "Active" or [Status] = "Pending"
问题2:else分支多余的each
else each [IncomingDate]中的each完全多余:
在自定义列的公式上下文里,直接使用
[列名]即可引用当前行的对应列值。添加each后,[IncomingDate]会被包装成一个函数,而非直接获取当前行的日期值,这就是其他状态行显示错误的直接原因。
最终正确代码
if [Status] = "Active" or [Status] = "Pending" then [OfficeDate] else [IncomingDate]
内容的提问来源于stack exchange,提问作者Lio Djo
相关产品推荐
相关产品推荐

