请选择 进入手机版 | 继续访问电脑版

过滤组件批量提交和默认参数值是否冲突?

小鱼儿皇冠一 显示全部楼层 发表于 2023-6-1 15:46:10 |阅读模式 打印 上一主题 下一主题
1
已解决
本帖最后由 小鱼儿 于 2023-6-1 15:47 编辑

924版本有个单独日期过滤组件,有个查询按钮(批量提交)有个图表根据参数数据联动,参数为脚本获取日期过滤组件的值

需设置日期过滤默认:
当每月1号,显示上月,否则为本月(如:2023年6月1号,默认为2023年5月,2023年6月2日,默认为2023年6月)

默认值为本月时脚本如下,现需要根据条件更改默认值,怎么写脚本呢?
// 本年月
var this_ym_1='';
var this_ym_2='';
// 上年月
var last_ym_1='';
var last_ym_2='';

if(日期过滤1.firstDates!=null){
    this_ym_1=日期过滤1.firstDates[0;
    this_ym_1=dateAdd(parseDate(replaceRegex(this_ym_1,'y|-',''),'yyyyMM'),'month',1);
    last_ym_1=formatDate(dateAdd(this_ym_1,'month',-1),'yyyyMM');
    this_ym_1=formatDate(this_ym_1,'yyyyMM');
}

if(日期过滤2.firstDates!=null){
    this_ym_2=日期过滤2.firstDates[0;
    this_ym_2=dateAdd(parseDate(replaceRegex(this_ym_2,'y|-',''),'yyyyMM'),'month',1);
    last_ym_2=formatDate(dateAdd(this_ym_2,'month',-1),'yyyyMM');
    this_ym_2=formatDate(this_ym_2,'yyyyMM');
}

param['this_ym_1']=this_ym_1;
param['last_ym_1']=last_ym_1;
param['this_ym_2']=this_ym_2;
param['last_ym_2']=last_ym_2;


最佳答案

yhdata_yzm 关注Ta

2023-06-01 15:46:11

日期层级里边可以选择为月。 1.在数据集里新建日期表达,把文本转换成日期列,再新建日期表达式年月。 2.新建报告,使用文本参数选择为日期-月,不要设置默认值 3.拖入图表,绑定数据,设置过滤条件年月=文本参数 4。写脚本如下: if(day(today())==1) { var a=year(today())+'-'+0+month(dateAdd(today(),'dayofyear',-1))+'-'+'01' 文本参数1.setSelectedObjects([a],STRING) } else { var a=year(today())+'-'+0+month(today ...
查看完整内容
回复

使用道具 举报

精彩评论8

yhdata_yzm 显示全部楼层 发表于 2023-6-1 15:46:11
小鱼儿 发表于 2023-6-2 14:26
文本参数 模式为日期 可以设置成只选择年月 不到日的形式吗?924版本

日期层级里边可以选择为月。
1.在数据集里新建日期表达,把文本转换成日期列,再新建日期表达式年月。
2.新建报告,使用文本参数选择为日期-月,不要设置默认值
3.拖入图表,绑定数据,设置过滤条件年月=文本参数
4。写脚本如下:
if(day(today())==1)
{
var a=year(today())+'-'+0+month(dateAdd(today(),'dayofyear',-1))+'-'+'01'
文本参数1.setSelectedObjects([a],STRING)
}
else
{
var a=year(today())+'-'+0+month(today())+'-'+'01'
文本参数1.setSelectedObjects([a],STRING)
}
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-6-1 16:07:28
日期过滤组件是单独模式的吗
回复

使用道具 举报

小鱼儿皇冠一 显示全部楼层 发表于 2023-6-1 16:15:23
yhdata_lyaa 发表于 2023-6-1 16:07
日期过滤组件是单独模式的吗

是的
回复

使用道具 举报

小鱼儿皇冠一 显示全部楼层 发表于 2023-6-1 16:24:04
yhdata_lyaa 发表于 2023-6-1 16:07
日期过滤组件是单独模式的吗

我在装载时运行写了如下脚本,(变化时运行的脚本还是上面的)在过滤组件上,显示为2023年5月,是对的,但是图表绑定的this_ym_1参数没生效,必须再次选中过滤组件中的5月,点击查询,才可以出来数据。

var myDate = new Date();
var years = myDate.getFullYear();
var months = myDate.getMonth();
var lastmonths = myDate.getMonth()-1;
var days=myDate.getDate();
       
        if(days==1){
        日期过滤1.firstDates=["t"+years+"-"+lastmonths];
        var this_ym_1=formatDate(dateAdd(myDate,'month',-1),'yyyyMM');
        var last_ym_1=formatDate(dateAdd(myDate,'month',-2),'yyyyMM');
        var this_ym_2=formatDate(dateAdd(myDate,'month',-1),'yyyyMM');
        var last_ym_2=formatDate(dateAdd(myDate,'month',-2),'yyyyMM');
        } else{
        日期过滤1.firstDates=["t"+years+"-"+months];
        var this_ym_1=formatDate(myDate,'yyyyMM');
        var last_ym_1=formatDate(dateAdd(myDate,'month',-1),'yyyyMM');
        var this_ym_2=formatDate(myDate,'yyyyMM');
        var last_ym_2=formatDate(dateAdd(myDate,'month',-1),'yyyyMM');
        }

param['this_ym_1']=this_ym_1;
param['last_ym_1']=last_ym_1;
param['this_ym_2']=this_ym_2;
param['last_ym_2']=last_ym_2;

回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2023-6-1 17:51:36
都用参数组件嘛,不要过滤加参数混合使用
回复

使用道具 举报

小鱼儿皇冠一 显示全部楼层 发表于 2023-6-2 14:25:12
yhdata_yzm 发表于 2023-6-1 17:51
都用参数组件嘛,不要过滤加参数混合使用

需要有日期过滤那个样式的组件
回复

使用道具 举报

小鱼儿皇冠一 显示全部楼层 发表于 2023-6-2 14:26:38
yhdata_yzm 发表于 2023-6-1 17:51
都用参数组件嘛,不要过滤加参数混合使用

文本参数 模式为日期 可以设置成只选择年月 不到日的形式吗?924版本
回复

使用道具 举报

烽火连三月铂金一 显示全部楼层 发表于 2023-6-2 15:12:34
选择数据过滤吧
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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