找文章 / 找答案
精选问答 更多内容

[常用脚本] 开始日期与结束日期的使用

yhdata_8957青铜一 显示全部楼层 发表于 2024-11-4 11:44:35 |阅读模式 打印 上一主题 下一主题
50
未解决
我要实现一个场景,在永洪bi里运行,需要js脚本代码:首先会有两个下拉参数组件,我会默认调整成日期格式
我的需求是:1、(打开时运行)我能够在打开的时候,让开始日期固定到当年的一月1日,结束日期默认为当年昨日
2、(变化时运行)当我选择结束日期选择的时候,比如我选择2024年11月4日,开始日期会自动变成结束日期往前推12月的日期,也就是开始日期自动变成2023年11月4日,(代码里尽量写成往前推12月的逻辑)
3、我这里有个前置条件是:使用人是不用去调整开始日期的。
希望能够解答,谢谢。
回复

使用道具 举报

精彩评论27

yhdata_lyaa 显示全部楼层 发表于 2024-11-4 13:34:08
1.下拉参数组件单选吗,是绑定的日期字段吗,确认有对应的日期数据?
2.可以写脚本控制,建议使用文本参数组件的日期模式dateAdd函数
https://www.yonghongtech.com/rea ... ighlightsub=dateadd
3.使用人是不用去调整开始日期的,可以不调整使用,但是不能做到固定不让他不不能选
回复

使用道具 举报

yhdata_8957青铜一 显示全部楼层 发表于 2024-11-4 13:40:30
yhdata_lyaa 发表于 2024-11-4 13:34
1.下拉参数组件单选吗,是绑定的日期字段吗,确认有对应的日期数据?
2.可以写脚本控制,建议使用文本参数 ...

1、这个问题是绑的日期自动,日期就很多呀,有很多日期的选择
2、脚本这边想实现有办法吗?不太懂js
3、我想到是设定后,把开始日期隐藏起来,这样使用者就不用去修改开始日期了
回复

使用道具 举报

yhdata_青山青铜三 显示全部楼层 发表于 2024-11-4 14:23:05
日期用文本参数组件,日期格式,不设置默认值
回复

使用道具 举报

yhdata_青山青铜三 显示全部楼层 发表于 2024-11-4 14:24:34
yhdata_青山 发表于 2024-11-4 14:23
日期用文本参数组件,日期格式,不设置默认值

装载时运行:
回复

使用道具 举报

yhdata_青山青铜三 显示全部楼层 发表于 2024-11-4 14:26:24
yhdata_青山 发表于 2024-11-4 14:23
日期用文本参数组件,日期格式,不设置默认值

装载时运行:
param["开始日期"] = formatDate(date(param["_THIS_YEAR_"], '1', '1'), "yyyy-MM-dd")
param["结束日期"] = formatDate(param["_LAST_FULL_DAY_"], "yyyy-MM-dd")
文本参数1.value = param["开始日期"]
文本参数2.value = param["结束日期"]

提交时运行:
var end_date = 文本参数2.value
if(end_date != param["结束日期"]){
   param["开始日期"] = dateAdd(parseDate(end_date, "yyyy-MM-dd"),"year",-1)
   文本参数1.value = param["开始日期"]
}
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-11-4 14:26:44
1.装载时运行脚本
  1. var a=dateTrunc('year',today())
  2. 下拉列表参数1.setSelectedObjects([a], DATE);
  3. //开始日期设置今年第一天

  4. 下拉列表参数2.setSelectedObjects([param["_LAST_FULL_DAY_"]], DATE);
  5. //结束日期默认为当年昨日
复制代码
2.变化时运行
开始日期会自动变成结束日期往前推12月的日期
  1. var  b=dateAdd(下拉列表参数2.getSelectedObjects()[0],'month',-12)
  2. 下拉列表参数1.setSelectedObjects([b], DATE);
复制代码


回复

使用道具 举报

yhdata_8957青铜一 显示全部楼层 发表于 2024-11-4 14:32:30

var a=dategap
(param["开"],param["结"],'monthofyear')=12

我按你说的的这么写的,选的文本参数日期格式。
但不满足我的需求条件啊:1、我需要打开的时候默认开始日期是今年1月1日,结束是到昨天
2、操作的时候,选结束日期,然后开始日期默认为结束日期往前倒退12月,
请问能给一下源码吗?
回复

使用道具 举报

yhdata_8957青铜一 显示全部楼层 发表于 2024-11-4 14:46:21
yhdata_lyaa 发表于 2024-11-4 14:26
1.装载时运行脚本
2.变化时运行
开始日期会自动变成结束日期往前推12月的日期

你好,我根据这个代码得到的场景是:1、点击页面后,开始日期为去年的今天,结束日期为今年的昨天---所以装载时打开时:开始日期没有实现为今年的第一天(请帮忙核查一下)
2、变化时运行时倒退十二月,可以正常使用
回复

使用道具 举报

yhdata_青山青铜三 显示全部楼层 发表于 2024-11-4 14:50:45
yhdata_8957 发表于 2024-11-4 14:32
var a=dategap
(param["开"],param["结"],'monthofyear')=12

我发的已经是全部代码了,你先新建一个页面,把代码放上去试一下,可以的话再加你自己的代码,提交时运行 大括号里再加一行代码:param["结束日期"] = end_date
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部