Tellme678 2021-12-16 10:11 采纳率: 50%
浏览 24

硕迪报表使用默认参数自动提交

硕迪数据分析系统中的报表可以默认查询昨天的数据,当用户选择日期再按照选择的日期查询数据吗?

  • 写回答

1条回答 默认 最新

  • snow_java 2021-12-16 14:22
    关注

    硕迪报表使用默认参数自动提交
    使用场景
    在用户默认打开报表的时候希望通过默认参数值运行硕迪报表,例如打开报表默认查询当前日期前一天的数据,此类报表的默认参数值不能是固定值,所以需要利用当前日期计算。
    实现方式
    硕迪报表对应此种需求提供两种实现方式
    1、 在参数模板给参数利用表达式赋值,然后通过js自动调用查询按钮的点击事件。
    第一步:参数模板如下:默认值表达式为=string(elapse(now(), -1),"yyyy-MM-dd")

    img

    注意:日期类型参数一般使用下拉日历,下拉日历的设置一定要和表达式返回值一致,例如使用“年月日”就如上图,如使用“年月日时分秒” 就直接使用elapse(now(), -1)即可。

    img

    第二步:复制showReport.jsp并修改,通过复制修改的jsp调用需要自动查询的报表。
    例如复制改名为showReport2.jsp
    在script标签中加入调用查询按钮点击事件的代码_submit( form1 )

    img

    第三步:删除rerport:html标签,避免先默认执行一次报表浪费效率。

    2、 在设计报表的时候利用动态参数判断传入的普通参数值,如果普通参数值为空,则使用当前日期计算动态参数值,在报表中的数据集或者单元格使用动态参数值。
    第一步:新建普通参数,值表达式为空。
    第二步:新建动态参数,值表达式为判断普通参数是否为空,如果空使用计算的日期,如果不为空使用普通参数的值。if(beginDate == null ,elapse(now(), -1),beginDate)

    img

    第三步,参数模板显示的也需要是报表动态参数同样的值,需要在参数模板也设置一下表达式,和第一种实现方式的设置相同。
    总结
    两种方式都可以满足用户需求,第一种需要修改jsp中的js,第二种不需要修改jsp;第二种的方式需要多增加对应的动态参数,并且想要参数模板的参数值显示和报表数据一致需要动态参数和参数模板的默认值都进行设置。两个方式各有特长,根据自己的需求选择使用。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月16日

悬赏问题

  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误
  • ¥40 想找个软件,但我不知道怎么找到它,我甚至不知道有没有
  • ¥15 怎么把60秒的视频时长改成显示0秒?且视频内容没有任何变化的正常播放?目的是为了解决一些平台对视频时长的要求,最好有自动处理的工具!
  • ¥15 累加器设初值为00H
  • ¥15 webAPI接口返回值判断