相信很多COGNOS开发人员看到这个标题就会感觉很轻松,追溯无非是COGNOS自带的一个下钻的功能,但是这里却是固定的条件:

要求1:A报表显示按月的图表B报表显示按日的明细

2:追溯到B的时候B的开始日期控件和结束日期控件还可以随机选择

设置追溯

在报表Address2中添加提示页面,如下图所示

1处是导入xdate.js库

<script type="text/javascript" src="/iisroot/ewelljs/xdate.js"></script>

2处是div的开始

<div style="display:none">

3处是文本框提示,参数名为year 接收Address1传过来的年编码

4处是文本框提示,参数名为month 接收Address1传过来的月编码

5处是日期提示 参数名为begindate,名称为begindate

6处是日期提示 参数名为enddate,名称为enddate

7处是JS处理主体

<script>
function setvalueforriqitishi()//该方法完成在提示页面运行时根据传过来的年份和月份对日期提示(开始/结束)赋值
{
var form=getFormWarpRequest();//得到form表单
var year=form._textEditBoxyear.value;
var month=form._textEditBoxmonth.value;
var day='';
var datestr=year+'/'+month+'/'+day;
var firstDate = new Date(datestr);
//以下脚本需要xdate.js脚本支持
firstDate.setDate(); //第一天
var endDate = new Date(firstDate);
endDate.setMonth(firstDate.getMonth()+);
endDate.setDate();
//alert("第一天:"+new XDate(firstDate).toString('yyyy-MM-dd') +" 最后一天:"+new XDate(endDate).toString('yyyy-MM-dd'));
pickerControlbegindate.setValue(new XDate(firstDate).toString('yyyy-MM-dd'));
//下面三判断如果是当前月,结束日期提示为当前天
var myDate = new Date();
var nowmonth=myDate.getMonth(); //获取当前月份(2位)
if(month!=nowmonth+)
{
pickerControlenddate.setValue(new XDate(endDate).toString('yyyy-MM-dd'));
} promptButtonFinish(); } function init()
{
setvalueforriqitishi(); }
</script> <body onload="init()">
</body> </div>

address2的页面1

8和9处的参数名一定要和5和6处的参数名保持一致,这样才可以赋值

过滤器

cast([门诊挂号].[日期].[年].[Date_SK].[Date_SK],date)
between
?begindate?
and
?enddate?

简单的这么写就好了

原理:虽然Address2处的必须参数为begindate和enddate,Address1处穿过来的是月份,但是我们可以利用传过来的年份和月份加上js脚本对Address2中的日期提示控件进行  赋值,如果是追溯过来的就查找传过来的整月的数据

反之,如果是用户手工在address中选择的随机日期则按照随机日期进行查询

此处的难点是:Address2追溯完成后还需要按照日进行随机查询,而不是按月,导致了按月过滤和按日过滤的冲突,而上面的方法就解决了这个问题

引入XDate.JS 这个小插件,不知道的百度谷歌吧

代码如下:

var firstDate = new Date();

firstDate.setDate(1); //第一天

var endDate = new Date(firstDate);

endDate.setMonth(firstDate.getMonth()+1);

endDate.setDate(0);

alert("第一天:"+new XDate(firstDate).toString('yyyy-MM-dd')+" 最后一天:"+new XDate(endDate).toString('yyyy-MM-dd'));

RS报表从按月图表追溯到按日报表的更多相关文章

  1. ABAP 分货日报表

    *&---------------------------------------------------------------------* *& Report  ZSDR031 ...

  2. 报表学习总结(一)——ASP.NET 水晶报表(Crystal Reports)的简单使用

    一.水晶报表简介 Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表.水晶报表是业内最专业.功能最强的报表系统,它除了强大的报表功能外.最大的优势是实现了与绝 ...

  3. Silverlight——施工计划日报表(一)

    前一段时间,客户需要一个施工计划报表,要求能够直观的看到各个计划的实施时间,而且能够修改.琢磨着,决定用Silverlight搞定好了.效果如下: 用户可以通过右键菜单的[完成]选项来标记完成,左键选 ...

  4. Silverlight——施工计划日报表(二)

    近来一直在加班,基本上没有个人时间.所以更新不会很即时. 长话短说,先从界面代码开始吧.界面代码很简单,如下所示: <UserControl xmlns:sdk="http://sch ...

  5. 基于mysql的报表工具有哪些?值得推荐的mysql报表工具

    什么是SQL?SQL是结构化查询语言. 什么是数据库?数据库是用来存储数据的. 什么是mysql?Mysql是目前较为流行的数据库. 基于mysql的报表工具有哪些? 其实现在所有的报表工具,基本都支 ...

  6. ActiveReports 报表应用教程 (3)---图表报表

    ActiveReports 的图表控件支持绝大多数常用的二维和三维图表类型,包括XY图表和财务图表.通过使用图表控件的定制功能,如修改坐标轴.图注.图例等,用户可以创建任何其所需要的图表效果.用户还可 ...

  7. MyBatis mysal 日报表,月,年报表的统计

    mysql 按日.周.月.年统计sql语句整理,实现报表统计可视化 原文地址:http://blog.csdn.net/u010543785/article/details/52354957 最近在做 ...

  8. 帆软报表(finereport)图表操作细节

    图表间之间的组件间隔:body-->属性-->布局-->组件间隔 决策报表背景水印:body-->属性-->水印 仪表盘指针/枢纽/背景颜色:样式-->系列 柱形图 ...

  9. RDLC报表系列(六) 多图表-折线图和柱状图

    美好的一天开始了,这篇是RDLC系列的最后一篇文章,我的小项目也已经release,正在测试中. 1.新建demo3.aspx和demo3.rdlc文件 2.往rdlc文件中拖一个图标控件,在弹出的窗 ...

随机推荐

  1. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

  2. 深入理解javascript作用域系列第二篇

    前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极易出错.这实际上是由两种作用域工作 ...

  3. 初识Linux 基础操作

    Linux常用指令: 在Linux中如果不懂基础命令,在Linux中将寸步难行,下面是我在初学Linux系统时总结的一些基本命令. 1.基础命令 ls                          ...

  4. vmware12中centos7以NAT连接网络

    1.第一步当然是安装VM和安装CentOS,我用的是VM12和64位的CentOS7,怎么安装在我的其他文中有写到: http://www.cnblogs.com/wuyx/p/7246675.htm ...

  5. 【贪心】hdu4803 Poor Warehouse Keeper

    题意:一开始有1个物品,总价是1.你的一次操作可以要么使得物品数量+1,总价加上当前物品的单价.要么可以使得总价+1,物品数量不变.问你最少要几次操作从初始状态到达有x个物品,总价是y的状态.这里的y ...

  6. poj 1703 并查集

    题意:在这个城市里有两个黑帮团伙,现在给出N个人,问任意两个人他们是否在同一个团伙 输入D x y代表x于y不在一个团伙里 输入A x y要输出x与y是否在同一团伙或者不确定他们在同一个团伙里 链接: ...

  7. JDK源码(1.7) -- java.util.Iterator<E>

    java.util.Iterator<E> 源码分析(JDK1.7) ----------------------------------------------------------- ...

  8. C++ -- STL泛型编程(二)之set

    set集合容器实现了红黑树的平衡二叉检索树的数据结构,在插入元素时候它会自动调整二叉树的排列,把元素放在适当的位置,以确保每个子树根节点的键值都大于左子树的所有节点的键值,而小于右子树的所有节点的键值 ...

  9. Theme.AppCompat无全屏主题解决办法

    V7包中的Theme.AppCompat主题系列中并没有全屏样式,这个是为什么,只有作者知道…… 解决办法: 自定义主题 <style name="Theme.AppCompat.Li ...

  10. C# MATLAB混合编程

    我附带把matlab配置过程也给大家上传上来.[转载]终于学会C#调用matlab函数了,原来这么简单(也可以下载附件查看)自己的配置: (1)Microsoft Visual Studio 2005 ...