永洪社区

标题: 报告中脚本处理数据(主要应对不同情况) [打印本页]

作者: 李白居易    时间: 2024-4-22 09:01
标题: 报告中脚本处理数据(主要应对不同情况)
现在有个需求是当时筛选框中的时间达到一定时间后就要增加限制条件,这种脚本咋写呢?请大佬指教

作者: 行走的蜗牛    时间: 2024-4-22 09:17
有没有可能描述具体点
作者: 李白居易    时间: 2024-4-22 09:30
行走的蜗牛 发表于 2024-4-22 09:17
有没有可能描述具体点

图上所示,标记的两个筛选框,如果第一个时间到2019年开始之后,则第二个筛选框的时间不能超过第一个筛选框时间两年(即两个之间的区间不能超过两年),第一个筛选框在2019年之前,则第二个筛选框不能超过2019年

作者: 李白居易    时间: 2024-4-22 09:33
李白居易 发表于 2024-4-22 09:30
图上所示,标记的两个筛选框,如果第一个时间到2019年开始之后,则第二个筛选框的时间不能超过第一个筛选 ...

图片没有发出来,可以想象成两个时间筛选框(起止日)
作者: yhdata_yzm    时间: 2024-4-22 09:45
基本的思路是这样的
1.通过getselectedobjects()获取两个选择的值
2.通过dategap函数计算出两个值之间的年份差
3.通过这脚本判断这个年份差是不是在两年之间,如果是不做任何操作,如果不是则通过setselectedobjects()函数把筛选2置为空,通过addhint函数提示。
作者: 李白居易    时间: 2024-4-22 09:52
getselectedobjects()、setselectedobjects()没有找到这两个函数(目前BI版本是9.2.4)
作者: yhdata_yzm    时间: 2024-4-22 10:13
李白居易 发表于 2024-4-22 09:52
getselectedobjects()、setselectedobjects()没有找到这两个函数(目前BI版本是9.2.4)

帮助中心搜索下,我拼写的不一定对
作者: 李白居易    时间: 2024-4-22 10:53
yhdata_yzm 发表于 2024-4-22 09:45
基本的思路是这样的
1.通过getselectedobjects()获取两个选择的值
2.通过dategap函数计算出两个值之间的年 ...

var date1 = param["起租确认日期起"]
var date2 = param["起租确认日期止"]

if ( dateGap(date1,date2,"month")  <= 24) {
NULL
}else{
addHint("请输入适当日期")
}
请问这个脚本哪里有问题呢
作者: 李白居易    时间: 2024-4-23 11:30
yhdata_yzm 发表于 2024-4-22 09:45
基本的思路是这样的
1.通过getselectedobjects()获取两个选择的值
2.通过dategap函数计算出两个值之间的年 ...

您好,可以帮忙写一下脚本嘛?自己写的脚本达不到这个效果啊,判断条件感觉没有生效啊
作者: yhdata_yzm    时间: 2024-4-23 11:34
李白居易 发表于 2024-4-23 11:30
您好,可以帮忙写一下脚本嘛?自己写的脚本达不到这个效果啊,判断条件感觉没有生效啊 ...

等一等哈,等会写下样例
作者: yhdata_yzm    时间: 2024-4-23 14:39
样例和你一样:用的是文本参数选择的日期类型:
var date1=param["文本参数1"]
var date2=param["文本参数2"]
if(dateGap(date1,date2,'month')>24)
{
addHint('aaa')
}
要检查你的哪里不对,debug下dategap是不是有值




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