【10.0】参数如何二次计算后传入数据集

测试参数.rar

选择开始 结束 周次 后计算相对应的 环比日期 传入数据集计算

比如 2022-40 即2022年40周

选择 2022-40 与 2022-42 生成对应 环比周次为 2022-37 与 2022-39

周次的生成为数据字典公式=

UNIQUEARRAY(MAPARRAY(RANGE(date(2022,1,1), today()), FORMAT(item, "yyyy-ww")))

2b359b7412d18f93665b5a23efd542a.jpg

image.png

问:如何将参数二次计算后传入数据集 关键是周次的环比

FineReport FineBI 机智的ywj 发布于 2022-10-24 17:19 (编辑于 2022-11-18 14:14)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
机智的ywjLv5初级互助
发布于2022-11-18 14:16

二次引用的办法就是,数据集中用新参数 进行公式计算 获得想要的结果,因此错误原因是公式错误,二次引用公式的方法就是如此

image.png

hbw_start=INDEXOFARRAY(weekArray,(INARRAY(w_start,weekArray) - (INARRAY(w_end,weekArray) - INARRAY(w_start,weekArray)))-1) 

仅供参考

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-10-24 17:31

DATEDELTA(DATEINWEEK(date(left($RQ_,4),1,1),1),RIGHT($RQ_,2)*7)

image.png

image.png

最佳回答
0
yzm339714Lv6中级互助
发布于2022-10-24 17:33

image.png

不用那么麻烦,像我这样, 日期参数 不用放到页面上,直接 根据页面传的   $week 周次  来自动生成,

if($type= "week",DATEINWEEK(DATEINYEAR(INDEXOFARRAY(SPLIT($week,"-"),1),INDEXOFARRAY(SPLIT($week,"-"),2)*7),1),DATEINMONTH(TODAY(),1)) 

这个是 state_date 的生成公式, INDEXOFARRAY(SPLIT($week,"-"),1) 这个是取他的年份 , 

DATEINYEAR()  这个是生成年份 指定天数的日期 , 天数就是 INDEXOFARRAY(SPLIT($week,"-"),2)*7  根据周次 *7 得到的,DATEINWEEK() 就是 要这一周的第几天, 因为开始时间就是  1  

整体逻辑就是 如果是 week  ,就取 对应周次的第一天, 否则的话,就是 当前月第一天(这个你可以改,因为你没有这个的逻辑,我就临时写的)

 结束时间跟这个逻辑是一样的

if($type= "week",DATEINWEEK(DATEINYEAR(INDEXOFARRAY(SPLIT($week,"-"),1),INDEXOFARRAY(SPLIT($week,"-"),2)*7),-1),DATEINMONTH(TODAY(),-1))

最佳回答
0
CD20160914Lv8专家互助
发布于2022-10-24 20:39

难道要这样?

1024测试参数.rar

256.gif

  • 机智的ywj 机智的ywj(提问者) hh动态截图我不会 这样看着是很清楚 。问题已解决,二次传参我写的方式没问题,是公式的细节问题。多谢
    2022-10-25 17:09 
  • 2关注人数
  • 360浏览人数
  • 最后回答于:2022-11-18 14:16
    请选择关闭问题的原因
    确定 取消
    返回顶部