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

Azure Data Flow中如何正确实现not in逻辑?

在Azure Data Flow Filter中实现Conditional Split False分支的等价效果

你之前的表达式存在两个核心问题:

  • in函数参数顺序错误:Azure Data Flow中in的正确用法是in(待检查的值, 目标数组),你把参数顺序写反了,还重复嵌套in,导致逻辑完全混乱。
  • Null值处理错误:toString(null())生成的是字符串"null",但字段本身的null是值类型的null,upper(CUSTOMER_PO_NUMBER)当字段为null时返回null,和字符串"null"不匹配,所以无法保留null值。

要实现和Conditional Split False分支相同的输出,你需要保留所有null值,以及非null但转大写后不在指定排除列表中的值,正确的Filter表达式如下:

isNull(CUSTOMER_PO_NUMBER) || not(in(upper(CUSTOMER_PO_NUMBER), ["FIX","ANGELA","ZERO","$0","INSTALLED"]))

逻辑说明:

  • isNull(CUSTOMER_PO_NUMBER):直接保留CUSTOMER_PO_NUMBER为null的行;
  • not(in(upper(CUSTOMER_PO_NUMBER), ["FIX","ANGELA","ZERO","$0","INSTALLED"])):对于非null的字段,转大写后检查是否不在排除列表中,符合条件则保留;
  • 用||(逻辑或)连接两个条件,覆盖所有需要保留的场景,和Conditional Split的False分支完全等价。

内容的提问来源于stack exchange,提问作者AzSurya Teja

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:52:56