永洪社区

标题: 脚本 [打印本页]

作者: Ethereal    时间: 2021-10-26 10:31
标题: 脚本
我的日期下拉参数的格式为yyyy-MM-dd,自由表需要获取去年累计的数据,脚本应该怎么写?
作者: _贝贝    时间: 2021-10-26 10:31
数值型的话可以看一下这个脚本param['t5']=parseInt(formatDate(dateAdd(param['下拉参数2'],'year',-1),'yyyy'))
作者: _贝贝    时间: 2021-10-26 10:32
获取去年累计的数据是什么意思 下拉参数的日期减一年是吗 下拉参数是绑定的日期类型吗
作者: Ethereal    时间: 2021-10-26 10:35
永洪tech-zxx 发表于 2021-10-26 10:32
获取去年累计的数据是什么意思 下拉参数的日期减一年是吗 下拉参数是绑定的日期类型吗 ...

我的下拉参数格式是yyyy-MM-dd,例如我下拉参数选择的是2021-01-01,我需要得到2020年,以此作为参数,弄个列过滤来得到去年累计的数据
作者: _贝贝    时间: 2021-10-26 10:38
格式是yyyy-MM-dd 但是这个字段 数据类型  是不是时间类型 还是文本类型 ? 截图看一下数据集这个字段是什么类型 和参数组件使用的哪个组件
作者: Ethereal    时间: 2021-10-26 10:38
永洪tech-zxx 发表于 2021-10-26 10:38
格式是yyyy-MM-dd 但是这个字段 数据类型  是不是时间类型 还是文本类型 ?

时间类型
作者: _贝贝    时间: 2021-10-26 10:40
param['lastyear']=dateAdd(param['下拉参数1'],'year',-1)  //dateAdd函数实现年份减一
作者: Ethereal    时间: 2021-10-26 10:49
永洪tech-zxx 发表于 2021-10-26 10:40
param['lastyear']=dateAdd(param['下拉参数1'],'year',-1)  //dateAdd函数实现年份减一

谢谢,已解决
作者: _贝贝    时间: 2021-10-26 10:50
不客气~
作者: Ethereal    时间: 2021-10-26 11:18
永洪tech-zxx 发表于 2021-10-26 10:50
不客气~

打扰了,我能顺便问问如果日期下拉参数还是跟前面说的一样,我想获取去年同月的数据,脚本应该怎么写?例如:下拉参数是2021-01-01,我需要得到2020-01。
作者: _贝贝    时间: 2021-10-26 11:28
刚才那个脚本也是可用的,去年同月 就是下拉框 年份-1    2021-11-11  -1后就是2020-11-11    是需要2020-11-01吗

作者: Ethereal    时间: 2021-10-26 11:32
永洪tech-zxx 发表于 2021-10-26 11:28
刚才那个脚本也是可用的,去年同月 就是下拉框 年份-1    2021-11-11  -1后就是2020-11-11    是需要2020-1 ...

不是,只需要年➕月,例如2021-02-02,需要的是2020-02
作者: _贝贝    时间: 2021-10-26 11:45
Ethereal 发表于 2021-10-26 11:32
不是,只需要年➕月,例如2021-02-02,需要的是2020-02

param['lastyear']=parseDate(formatDate(dateAdd(param['下拉参数1'],'year',-1) ,'yyyy-MM') ,'yyyy-MM')//dateAdd函数实现年份减一


这是日期类型 yyyy-MM如果要文本类型就是formatDate(dateAdd(param['下拉参数1'],'year',-1) ,'yyyy-MM')

作者: Ethereal    时间: 2021-10-27 09:26
永洪tech-zxx 发表于 2021-10-26 11:45
param['lastyear']=parseDate(formatDate(dateAdd(param['下拉参数1'],'year',-1) ,'yyyy-MM') ,'yyyy-MM ...

我把脚本写上后发现去年本月的数据是出来了,可是之前写的去年的数据却出不来,这个脚本和之前的脚本有冲突吗?
作者: _贝贝    时间: 2021-10-27 09:29
Ethereal 发表于 2021-10-27 09:26
我把脚本写上后发现去年本月的数据是出来了,可是之前写的去年的数据却出不来,这个脚本和之前的脚本有冲 ...

是同一个参数  把参数名称改一下吧
作者: Ethereal    时间: 2021-10-27 09:35
永洪tech-zxx 发表于 2021-10-27 09:29
是同一个参数  把参数名称改一下吧

上面的是去年本月,下面的是去年,参数名称没有问题啊,不重复
作者: _贝贝    时间: 2021-10-27 09:48
一个格式是yyyy-MM  一个是yyyy-MM-dd  检查下过滤呢 本地验证可行的   还是有问题就改这个脚本  并截图过滤条件
parseDate(formatDate(dateAdd(param['下拉参数1'],'year',-1) ,'yyyy-MM-dd') ,'yyyy-MM-dd')
作者: Ethereal    时间: 2021-10-27 11:17
永洪tech-zxx 发表于 2021-10-27 09:48
一个格式是yyyy-MM  一个是yyyy-MM-dd  检查下过滤呢 本地验证可行的   还是有问题就改这个脚本  并截图过 ...

去年本月的格式是yyyy-MM,去年的格式是yyyy,我写的脚本是param["t4"] = parseDate(formatDate(dateAdd(param['下拉参数2'],'year',-1),'yyyy-MM'),'yyyy-MM')
param["t5"] = parseDate(formatDate(dateAdd(param['下拉参数2'],'year',-1),'yyyy'),'yyyy')
t4是去年本月,t5是去年,列过滤条件检查了没有问题,现在是去年本月显示出来了,去年显示不出。
作者: _贝贝    时间: 2021-10-27 11:22
截图看下过滤条件
作者: 美滋滋    时间: 2021-10-27 11:32
我觉得是t5参数的问题,首先你过滤的字段是年吗?数值类型的吧?如果是这样,你应该按照如下设定:
param["t5"] = parseInt(year(param['下拉参数2'])-1)


作者: Ethereal    时间: 2021-10-27 16:59
永洪tech-zxx 发表于 2021-10-27 11:22
截图看下过滤条件

下拉参数是日期形式,格式是yyyy-MM-dd,过滤的年是数值类型,格式是yyyy
作者: Ethereal    时间: 2021-10-27 17:00
lijie 发表于 2021-10-27 11:32
我觉得是t5参数的问题,首先你过滤的字段是年吗?数值类型的吧?如果是这样,你应该按照如下设定:
param[" ...

下拉参数是日期类型的,需要得到的过滤参数年是数值类型的,您这个脚本我试过了,还是不行。
作者: 美滋滋    时间: 2021-10-27 17:11
Ethereal 发表于 2021-10-27 17:00
下拉参数是日期类型的,需要得到的过滤参数年是数值类型的,您这个脚本我试过了,还是不行。 ...

那你看看数据过滤条件那里怎么设置的,截图看看
作者: Ethereal    时间: 2021-10-27 17:19
lijie 发表于 2021-10-27 17:11
那你看看数据过滤条件那里怎么设置的,截图看看

我是自由表用的列过滤
作者: 美滋滋    时间: 2021-10-27 17:39
那没有问题啊,你DEBUG一下 param['t5'],看看是什么值
作者: 美滋滋    时间: 2021-10-27 18:01
你的脚本写在哪里了?截图看一下
作者: Ethereal    时间: 2021-10-28 14:52
歪打正着 发表于 2021-10-27 17:39
那没有问题啊,你DEBUG一下 param['t5'],看看是什么值

Debug出来是这样的,我写在更多-脚本-变化时运行
作者: 美滋滋    时间: 2021-10-28 14:55
Ethereal 发表于 2021-10-28 14:52
Debug出来是这样的,我写在更多-脚本-变化时运行

你这个T5明显不是我给你的脚本啊,我给你的脚本返回的是数值类型的,你这个DEBUG的结果明显是日期类型的。。。。
作者: 美滋滋    时间: 2021-10-28 14:56
下面是我给你的脚本
param["t5"] = parseInt(year(param['下拉参数2'])-1)

这个最终会返回给你数值类型的年。
作者: Ethereal    时间: 2021-10-28 15:12
歪打正着 发表于 2021-10-28 14:56
下面是我给你的脚本
param["t5"] = parseInt(year(param['下拉参数2'])-1)


因为我之前用你的脚本出现了错误
作者: 美滋滋    时间: 2021-10-28 15:30
不会啊,你脚本写在哪里了?报表的变化时运行中吗?

作者: 美滋滋    时间: 2021-10-28 15:33
你那个报错提示year这个函数未定义,但是这个函数可是标准函数啊


作者: Ethereal    时间: 2021-10-28 16:50
永洪tech-zxx 发表于 2021-10-28 15:32
数值型的话可以看一下这个脚本param['t5']=parseInt(formatDate(dateAdd(param['下拉参数2'],'year',-1),'y ...

非常感谢,已解决




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