请问下sum_agg配if函数怎么写可以取日期字段里的最大一条记录对应的金额以及上年同期金额

1.SUM_AGG(IF(max(日期),金额,0))   max(日期)是我乱写的,不知道怎么用函数表达取日期字段里最大值及其对应的金额,这个日期不一定等于当下真实的年月

2.SUM_AGG(IF(max(日期)年份-1,金额,0))   这里max(日期)年份-1同样是乱写的,主要想取上面一条记录对应去年同期金额

FineBI 忆似水流年 发布于 2022-8-3 16:08 (编辑于 2022-8-3 16:12)
1min目标场景问卷 立即参与
回答问题
悬赏:20 F币 5人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-8-4 11:47

建议可以的话,直接sql处理

帆软的max函数不支持日期取最大值

或者先把日期转换,在max取试试

max(DATETONUMBER(日期))试试

但是记得sum_agg中,日期会先做累加

  • 忆似水流年 忆似水流年(提问者) 请问下求到最大值后还能转换回日期吗
    2022-08-04 11:51 
  • snrtuemc snrtuemc 回复 忆似水流年(提问者) 可以的,参考TODATE(),可以将这个转换后的转成日期
    2022-08-04 11:53 
最佳回答
0
yzm339714Lv6中级互助
发布于2022-8-3 16:31

 1.  SUM_AGG(IF( 日期 = max(日期),金额,0))

 2.  SUM_AGG(IF(日期 =  YEARDELTA(max(日期),-1),金额,0))

  • 忆似水流年 忆似水流年(提问者) \"MAX:不符合(数值...)的参数要求\" 我不知道想表达最大日期正确的该怎么写
    2022-08-04 11:44 
  • yzm339714 yzm339714 回复 忆似水流年(提问者) 那你就像下面这个大佬说的那样处理吧,或者自助数据集的时候新增2列,一列取最大日期,一列取最大日期减一年的日期,然后 sum_agg 就可以直接判断日期是否等于
    2022-08-04 11:54 
  • 3关注人数
  • 546浏览人数
  • 最后回答于:2022-8-4 11:47
    请选择关闭问题的原因
    确定 取消
    返回顶部