永洪社区

标题: 如何控制参数日期特殊变化 [打印本页]

作者: Cathy_    时间: 2023-11-3 14:15
标题: 如何控制参数日期特殊变化
场景描述:报告添加了两个文本参数,1.开始日期,编辑器--数据类型--日期,默认值--本月--第一天;2.结束日期,编辑器--数据类型--日期,默认值 常规 昨天;
sql数据集传参,日期字段 >=?{开始日期}  and 日期字段 <=?{结束日期} ,用来限制日期没有问题,但当今天是11.1号,开始结束日期则变成了 2023-11-01-2023-10-31;
想要当今天是1号时,日期范围是上月1号到昨天,今天大于1号时,默认日期范围是当月1号到昨天,请问如何实现?



作者: 行走的蜗牛    时间: 2023-11-3 14:20
直接脚本控制
作者: Cathy_    时间: 2023-11-3 14:24
行走的蜗牛 发表于 2023-11-3 14:20
直接脚本控制

写了没生效,请赐教
作者: yhdata_lyaa    时间: 2023-11-3 14:50
Cathy_ 发表于 2023-11-3 14:24
写了没生效,请赐教

怎么写的,发出来看看
作者: Cathy_    时间: 2023-11-8 10:15
顶一下,有大神吗
作者: yhdata_lyaa    时间: 2023-11-8 11:17
开始日期要小于结束日期,开始日期 不能固定选本月--第一天吧,试试判断当天是不是1号,再设置开始日期
作者: Cathy_    时间: 2023-11-8 13:56
yhdata_lyaa 发表于 2023-11-8 11:17
开始日期要小于结束日期,开始日期 不能固定选本月--第一天吧,试试判断当天是不是1号,再设置开始日期 ...

我的报告默认就是展示T-1的月累数据,所以开始日期才设置当月1号
作者: yhdata_lyaa    时间: 2023-11-8 16:04
Cathy_ 发表于 2023-11-8 13:56
我的报告默认就是展示T-1的月累数据,所以开始日期才设置当月1号

那试试写脚本设置开始日期吧,先做判断再设置
作者: Cathy_    时间: 2023-11-8 16:28
yhdata_lyaa 发表于 2023-11-8 16:04
那试试写脚本设置开始日期吧,先做判断再设置

等下个月1号再测试吧,现在也复现不了了
作者: yhdata_yzm    时间: 2023-11-8 17:37
这个问题就不需要测试,肯定会出问题。
当你的开始时间为2023-11-01 结束时间为当天的昨天,如果当天是2023-11-01那么昨天就是2023-10-31,开始日期和结束日期放到sql里肯定会出问题。
两种方案:
1.开始日期为昨天,结束日期手动选。
2.通过脚本写判断逻辑,当结束日期小于开始日期的时候,重新给开始日期和结束日期赋值。
作者: Cathy_    时间: 2023-11-8 17:50
yhdata_yzm 发表于 2023-11-8 17:37
这个问题就不需要测试,肯定会出问题。
当你的开始时间为2023-11-01 结束时间为当天的昨天,如果当天是2023 ...

我说的是测试写脚本 重新赋值判断当天是1号逻辑生效的情况
作者: Cathy_    时间: 2023-11-8 17:58
yhdata_yzm 发表于 2023-11-8 17:37
这个问题就不需要测试,肯定会出问题。
当你的开始时间为2023-11-01 结束时间为当天的昨天,如果当天是2023 ...

1.开始日期为昨天,不行,默认要展示的是月累,今天8号,要1-7号的数据,不是开始日期7号,结束日期手动选;
2.正常情况不会让结束日期小于开始日期,只有当天是1号的时候最特殊,要判断如果today的天是01,开始日期重新赋值为上月1号,结束日期还是昨天,这样就是展示上月整月数据,没有问题。想请教您这个脚本怎么写?
作者: yhdata_ruby    时间: 2023-11-8 19:36
Cathy_ 发表于 2023-11-8 17:58
1.开始日期为昨天,不行,默认要展示的是月累,今天8号,要1-7号的数据,不是开始日期7号,结束日期手动 ...

这里有个样列,参考下
if(day(today())==1)
{
param['开始日期']=param["_LAST_YEAR_MONTH_"]
}
作者: Cathy_    时间: 2023-11-9 09:38
yhdata_ruby 发表于 2023-11-8 19:36
这里有个样列,参考下
if(day(today())==1)
{

好的我试一下,看起来应该行,9.4版本的Z-Suite支持这个内置参数吗,我看10.1的desktop是有的,在9.4Z-Suite没有直接列出来
作者: yhdata_yzm    时间: 2023-11-9 09:43
Cathy_ 发表于 2023-11-9 09:38
好的我试一下,看起来应该行,9.4版本的Z-Suite支持这个内置参数吗,我看10.1的desktop是有的,在9.4Z-Su ...

支持
作者: Cathy_    时间: 2023-11-9 10:45
yhdata_yzm 发表于 2023-11-9 09:43
支持

好的
作者: yhdata_ruby    时间: 2023-11-9 19:41
Cathy_ 发表于 2023-11-9 10:45
好的


作者: yhdata_jr8TRILq    时间: 2023-11-10 08:57


作者: yhdata_jr8TRILq    时间: 2023-11-10 09:05
学习了
作者: Cathy_    时间: 2023-12-1 10:14
yhdata_ruby 发表于 2023-11-8 19:36
这里有个样列,参考下
if(day(today())==1)
{

你好,我把这段脚本加到 变化时运行了, 发现数据可以呈现不是空着了,但是上面的筛选框中还是显示的2023-12-01   ——  2023-11-30
添加脚本前:

添加脚本后:


作者: Cathy_    时间: 2023-12-1 10:22
Cathy_ 发表于 2023-12-1 10:14
你好,我把这段脚本加到 变化时运行了, 发现数据可以呈现不是空着了,但是上面的筛选框中还是显示的2023 ...

图片传不上来 呜呜




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4