制作一个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这个就是这个工程里面的数据集。从里面选择一个。

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

再对表格进行调整一下就行了,表格的第一行为表头,可对格表进行各种属性修改。需要自己摸索了。
制作一个SSRS的ORACLE数据库报表,使用了时间类型的参数。的更多相关文章
- SSRS连接ORACLE数据库制作报表
SSRS报表基于ORACLE数据库做报表示例. 开发环境:VS2010 SQL SERVER 数据库:SQL SERVER 2012 PS:数据库连接部分可能有还有个问题就是ORACLE数据源这一部分 ...
- java 实现往oracle存储过程中传递array数组类型的参数
注:本文来源于 < java 实现往oracle存储过程中传递array数组类型的参数 >最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码 ...
- 一个小时学会Oracle数据库
一.数据库概要 二.Oracle简介 三.安装运行Oracle数据库 四.使用GUI操作MySQL 五.使用SQL访问Oracle数据库 六.下载程序.帮助.视频 Oracle视频下载(111班):h ...
- 把oracle数据库恢复到某个时间点或者某个scn
alter session set nls_date_format='yyyymmdd hh24:mi:ss'; select sysdate from dual; conn dbauser/1234 ...
- SqlServer数据库表导入SqlLite数据库表保持日期时间类型字段的格式
在写查询功能的过程中遇到一个这样的问题:按日期范围查询,sql语句是:where dt>=用户选择起始日期&&dt<=用户选择结束日期.数据库中的数据如图1,我选择的测试数 ...
- java向oracle数据库中插入当前时间
public class Test{public static void main (String args []){ java.util.Date a = new java.util.Date(); ...
- oracle数据库的date和timestamp类型
1.date类型存储数据的格式为年月日时分秒,可以精确到秒 timestamp类型存储数据的格式为年月日时分秒,可以精确到纳秒(9位) 2.date类型 Date类型的数据可以显示到年月日,也可以显示 ...
- Oracle 数据库 INTERVAL DAY TO SECOND类型的使用
INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔.下面这条语句创建一个名为promotions的表,用来存储促销信息.promotions表包含了一个INTERVAL ...
- python 连接oracle 数据库
我们在测试中可能需要对oracle 数据库进行操纵,比如这样一个场景,在往oracle 里面插数据的同时,另一个工具从里面读,如何能保证读出来的数据是有顺序的,即:先插入进去的先读出来,根据这个场景们 ...
随机推荐
- Linux 读写锁
线程的读写锁函数: 1,读写锁的初始化与销毁,静态初始化的话,可以直接使用PTHREAD_RWLOCK_INITIALIZER. #include <pthread.h> int pthr ...
- Windows Server 2016-Hyper-V Replica副本功能介绍
Hyper-V副本是一种可用于复制虚拟机的功能,作为业务连续性解决方案的一部分.从Windows Server 2012中,Hyper-V角色引入了Hyper-V Replica作为虚拟机的内置复制机 ...
- 其他综合-CentOS 7 使用二进制包搭建lnmp平台
CentOS 7 使用二进制包搭建lnmp平台 1.实验描述 通过二进制搭建 lnmp 平台,实现 web 环境基本部署 2.实验环境 虚拟机: 系统:CenOS 7.6 内存:2 G+ 数量:1台 ...
- Skyshop.Detail Maps
Secondary Maps(Detail Maps) & Detail Mask 增加模型细节,而不需要使用单张的超大贴图. 应用:增加皮肤细节,比如毛孔:砖墙添加细小的裂缝和青苔:大型金属 ...
- MLflow安装配置初入门
学习这个时,要和Kubeflow作比较, 看看它们俩在解决和规范机器学习流程方面的思路异同. mlflow三大内涵: Tracking, Projects, Models. 一,基础镜像 harbor ...
- VUE注册局部组件
// 局部组件命名规范 /* 1文件夹名大驼峰 MyLocalBtn.vue 2 使用的时候 将驼峰转化为横杠 <my-local-btn></my-local-btn> */ ...
- Hello,DTOS!(下)
如何验证编写的主引导程序?解决方案设计:将汇编源码编译为二进制机器码(nasm)创建虚拟盘(bximage)将二进制代码写入虚拟盘起始位置(dd)在虚拟机中将虚拟盘作为启动盘执行(vmware) 就算 ...
- @ConfigurationProperties 注解使用
@ConfigurationProperties 注解使用 依赖和文件 <dependency> <groupId>org.springframework.boot</g ...
- leetcode752. 打开转盘锁
我们可以将 0000 到 9999 这 10000 状态看成图上的 10000 个节点,两个节点之间存在一条边,当且仅当这两个节点对应的状态只有 1 位不同,且不同的那位相差 1(包括 0 和 9 也 ...
- 第四章、Go-面向“对象”
4.1.结构体和方法 (1)go语言的面向对象 go仅支持封装,不支持继承和多态 go语言没有class,只有struct (2)struct的创建 package main import " ...