Successfully!

Error!

Dashboard button queries the data of the latest date

  • Last update:  2020-03-12
  • 1. 概述

    1.1 问题描述

    决策报表查询指定区间日期数据时,希望可以通过点击按钮( 不在参数面板 )查询到最近的数据,例如:近7天、近14天等等。

    1.2 解决思路

    直接将开始和结束的两个日期控件拖入到 body 中,并添加一个按钮控件。

    给按钮控件设置 JS 点击事件,点击按钮后,对开始日期控件赋值,将日期传递到数据集的 SQL 语句中,查询对应的数据。

    2. 示例

    2.1 报表设计

    1)新建决策报表,新建数据集 ds1,SQL查询语句如下:

    SELECT * FROM 订单 where 1=1 

     ${if(len(starttime)=0,""," and 订购日期>='"+starttime+"'")}

     ${if(len(endtime)=0,""," and 订购日期<='"+endtime+"'")}

    Snag_fd08582.png

    2)如下图设计报表样式:

    1584000212488708.png

    3)如下图绑定折线图数据:

    Snag_fd7d2f4.png

    4)选中开始时间日期控件,控件名称重命名为starttime,设置一个默认的日期控件值,如下图所示:

    Snag_fd94f24.png

    5)选中结束时间日期控件,控件名称重命名为endtime,设置一个默认的日期控件值,如下图所示:

    Snag_fdd3c45.png

    6)以近七天按钮为例,添加 JS 点击事件,近14天按钮同理设置,只需要改下定义开始时间的公式即可。

    Snag_fddba1f.png

    JS 代码如下:


    var K1='${=date(2011,6,22)-7}';//定义开始时间
    //alert(K1);
    _g().getWidgetByName("starttime").setValue(K1);//把K1值赋给开始时间控件
    _g().getWidgetByName("starttime").fireEvent("afteredit");//触发开始控件的编辑后事件

    2.2 效果预览

    1)PC 端

    保存报表,点击表单预览,效果如下图所示:

    C994E1CB-B303-48C0-91AE-6EF6D6D87116.GIF

    2)移动端

    1584001760758706.gif

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\frm\决策报表按钮查询最近日期的数据.frm

    点击下载模板:决策报表按钮查询最近日期的数据.frm

    Attachment List


    Theme: Dashboard
    Already the First
    Already the Last
    • Helpful
    • Not helpful
    • Only read

    Doc Feedback