• 制作一个SSRS的ORACLE数据库报表,使用了时间类型的参数。


    需求:我们这个报表是以月为单位,呈现的数据为查询为当前月的第一天到最后一天。条件类似于:time_day > 20140601 and  time_day < 20140630

    因为是让用户选择月,所有呈现出来的时间参数应该是201406这种,写了一个时间的SQL,这个是连接ORACLE数据库的,并且只生成从201301到当前月的数据。

    select * from (SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2013-01', 'YYYY-MM'), ROWNUM - 1),
                   'YYYYMM') DAY_ID
      FROM DUAL
    CONNECT BY ROWNUM <=
               months_between(to_date(to_char(sysdate,'yyyy-MM'), 'yyyy-mm'),
                              to_date('2013-01', 'yyyy-mm')) + 1
    
    ) order by DAY_ID desc
    

    做成一个数据集。

     

    到参数里面添加一个参数对应的

    在可用值里面选择我们新建的那个时间集合。值字段为那个SQL里面的字段,标签字段其实就是显示出来给用户看的字段,如果觉得201406这种方式用户可能看不懂,那就去改一下那个SQL,把时间格式化成用户能看懂的样子,这个标签字段就显示对应的那个字段,我这里就直接方便选那个值了。这两个参数需要隐藏,这个需要注意一下。不用呈现给用户进行选择

    因为在呈现给用户看的数据里面是按天查询的,所以我们要将时间进行转换。另外添加两个参数。

    smontime其它就是之前加的一个参数。stime因为是第一天开始,所有直接使用"&"符号将01连接起来,外面的一个Int是将该值转换成一个INT对应参数里面的数据类型。

    另一个参数和这个参数一样添加即可,只不过&连接的是31我又偷懒了一下,因为我们后台数据是INT类型的,所以这边我就用了31号。当前是时间的话就不对了。

    另一个参数我也截个图吧

    添加数据集,下面红色的部分就是上面的两个参数。ORACLE使用":"的方式,SQL SERVER 使用“@”的方式。

    现在在报表中插入表格,SSRS报表主体空白的地方右键添加一个表格。

    选中那个插入的 表格按F4就会出现这个表格的相关属性,一般会出现在窗口的右侧。

    在属性里面有个DataSetName这个就是这个工程里面的数据集。从里面选择一个。

    这个时候回到表格的地方就会看到,在单元格中点击鼠标就会出现一个下拉框,这个里面就是你选择的那个数据集里面的字段。

    再对表格进行调整一下就行了,表格的第一行为表头,可对格表进行各种属性修改。需要自己摸索了。

    笨鸟先飞
  • 相关阅读:
    LeetCode Array Easy 414. Third Maximum Number
    LeetCode Linked List Medium 2. Add Two Numbers
    LeetCode Array Easy 283. Move Zeroes
    LeetCode Array Easy 268. Missing Number
    LeetCode Array Easy 219. Contains Duplicate II
    LeetCode Array Easy 217. Contains Duplicate
    LeetCode Array Easy 189. Rotate Array
    LeetCode Array Easy169. Majority Element
    LeetCode Array Medium 11. Container With Most Water
    LeetCode Array Easy 167. Two Sum II
  • 原文地址:https://www.cnblogs.com/sp1086/p/3770637.html
Copyright © 2020-2023  润新知