查询F4扩展列对应的E4单元格数据

数据集.select(TRANS_NODE,MAX_TT=H6),这样查询MAX_TT对应TOP3值的TRANS_NODE行数据 

怎么会出现不是TOP3值的数据

F6单元格取F4列数据的TOP1是87,G6公式取出来 的是87和39对应的E4单元格数据

需要展示的效果是,H6单元格的值86对应的CV5->AOI数据,39对应的不要

FineReport frlxy 发布于 2023-11-30 14:04 (编辑于 2023-11-30 18:47)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
快乐星光Lv5中级互助
发布于2023-11-30 15:12(编辑于 2023-11-30 17:05)

在ds的sql用row_number()over(partition by 天字段,时字段 order by max_tt) as MAX_sortno 来给F4列数据排序,将sortno 字段放到报表上(比如放到L4单元格),可以隐藏该列。然后下面单元格公式

TOP1: E4[!0]{L4=1}     ;   F4[!0]{L4=1}

TOP2: E4[!0]{L4=2}     ;   F4[!0]{L4=2}

TOP3: E4[!0]{L4=3}     ;   F4[!0]{L4=3}

如果用数据集函数,需要加上过滤字段的条件

数据集函数缺少条件:数据集.select(TRANS_NODE,MAX_TT=H6,天字段=F3,时字段=F2)

  • frlxy frlxy(提问者) SQ已经按照另外一个字段排序了,TOP3的筛选要求在报表页面过滤
    2023-11-30 16:01 
  • 快乐星光 快乐星光 回复 frlxy(提问者) 没关系啊,你再加一个row_number()over(order by max_tt) as sortno,这个函数写几个都没关系的。
    2023-11-30 16:03 
  • 快乐星光 快乐星光 回复 frlxy(提问者) 在帆软页面取值也可以,H6的单元格:INDEXOFARRAY(REVERSEARRAY([F4]),1) ;INDEXOFARRAY(REVERSEARRAY([F4]),2);INDEXOFARRAY(REVERSEARRAY([F4]),3)
    2023-11-30 16:08 
  • 快乐星光 快乐星光 回复 frlxy(提问者) G6单元格的公式麻烦:E4[!0]{F4=INDEXOFARRAY(REVERSEARRAY([F4]),1)} ;E4[!0]{F4=INDEXOFARRAY(REVERSEARRAY([F4]),2)} ;E4[!0]{F4=INDEXOFARRAY(REVERSEARRAY([F4]),3)}
    2023-11-30 16:09 
  • 快乐星光 快乐星光 回复 frlxy(提问者) 还有,row_number()over()函数不是排序,是编号函数。他和order by 不一样。
    2023-11-30 16:11 
  • 2关注人数
  • 280浏览人数
  • 最后回答于:2023-11-30 18:47
    请选择关闭问题的原因
    确定 取消
    返回顶部