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

ADF映射数据流中Case聚合转换后输出为空的排查求助

解决ADF映射数据流中AGGREGATE转换空输出问题

问题根源

你当前使用的case函数语法不符合ADF映射数据流的规则,且缺少else分支的明确处理,导致聚合后无法正确捕获目标数据。

正确实现步骤

1. 修正CASE表达式语法

ADF映射数据流中的case函数语法为:

case(<条件>, <满足时返回值>, <不满足时返回值>)

单条件判断时必须明确指定else分支为null(和原SQL逻辑对齐),否则不满足条件的行不会返回null,可能干扰聚合结果。

2. 正确的聚合列表达式

在AGGREGATE转换的聚合列中,分别配置:

  • 生成LTPC_Date列:
    max(case(METER == 'LTPC', READING_DATE, null()))
    
  • 生成LTPC列(对应原SQL的PAGE_COUNT):
    max(case(METER == 'LTPC', PAGE_COUNT, null()))
    

3. 额外排查点

  • 确认METER字段的值是否严格匹配'LTPC'(ADF字符串匹配大小写敏感),若存在大小写不一致,可改用equalsIgnoreCase作为条件:
    max(case(equalsIgnoreCase(METER, 'LTPC'), READING_DATE, null()))
    
  • 检查输入数据源mv_latest_asset_read中是否存在METER='LTPC'的行,若本身无数据,聚合后自然为空。
  • 确保分组键ASSET_ID已正确添加到AGGREGATE转换的分组依据中。

逻辑验证

原SQL逻辑为:按Asset_ID分组,仅取METER='LTPC'行的READING_DATE和PAGE_COUNT最大值,其他行对应字段视为null不参与聚合。修正后的ADF表达式完全对齐该逻辑,只要数据源存在匹配数据,即可输出非空结果。

内容的提问来源于stack exchange,提问作者sayan nandi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:01:25