BIEE 11g 两种方法实现同时显示当天销量及上月最后一天销量
来源:互联网 发布:未来教育软件下载 编辑:程序博客网 时间:2024/06/03 01:56
2012/6/29:此文第二种方法有误!
今天有网友提出一个问题,怎样在报表中同时显示当天销量及上月最后一天销量,
如下图所示:
注意几个地方:
1、提示是单选
2、日期字段上有过滤器
怎么实现呢?很简单,直接在上月最后一天销量这个字段里添加如下公式即可:
ago("Base Facts"."1- Revenue",DAYOFMONTH(@{select_date}{CURRENT_DATE}))
然后在仪表盘提示上设置select_date表示变量(注:该提示同样来自于T00 Calendar Date字段,主要是为了保证类型一致,而无需转换)
OK,完成这个之后让我们进一步考虑问题,如果我这个字段不是单选怎么办?用上面的方法还可行吗?
有人说可以,用下面的公式就可以了:
ago("Base Facts"."1- Revenue",DAYOFMONTH("Time"."T00 Calendar Date"))
不过很遗憾这样是不可以的,因为AGO 函数的最后一个参数必须为常数整数。
DAYOFMONTH("Time"."T00 Calendar Date")并非一个常数整数,因为每行可能返回一个不同的值。
那怎么办呢?难道没有办法了吗?
有的,我们可以利用ago、last_period、在基于level的指标来实现。
具体步骤如下:
1、建立日期维度
2、新建一个Last Revenue指标,将其聚合规则按如下设置:
注意:将last设置在其他之后,否则性能会非常差,具体请查看SQL。另外,在11.1.1.5中,我们只有last函数可用,但是11.1.1.6中我们有类似的last_period函数可用
两者的区别就是,last忽略空值,而last_period不忽略。
3、新建一个Last Revenue Mago派生指标,其公式如下:
Ago("01 - Sample App"."F0 Sales Base Measures"."Last Revenue" , "01 - Sample App"."H0 Time"."Month" , 1)
并将其在时间维度的level设置为月
OK,设置完毕,生成报表,如下图所示:
注意:last忽略了空值
- BIEE 11g 两种方法实现同时显示当天销量及上月最后一天销量
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- ECTOUCH系统默认模板是有显示销量的,但是销量一直为0,第二种方法OK
- [ecshop 资料]ecshop商品自定义销量(虚拟销量)实现方法 后台可以自由设置
- ECSHOP首页显示商品销量
- ecshop后台添加虚拟销量以及前台显示销量
- 让ecshop显示商品销量或者月销量
- JAVA 获取上月最后一天
- 销量预测
- 销量排行榜
- 销量统计
- android的权限与linux中的权限对比
- pexpect overview---module,class,Function,Data
- 在Ubuntu 10.04系统(32位)上下载和编译google Android2.3.7最新版源码
- spring quartz 动态切换定时策略
- 动态规划
- BIEE 11g 两种方法实现同时显示当天销量及上月最后一天销量
- linux下的完美网银们(google chrome, ubuntu10.04)
- sencha touch 两个selectfield之间如何设置间距
- Android 解屏幕锁与点亮屏幕(来电时效果)
- Linux多线程编程-条件变量
- 创建唯一索引
- javascript字符串转换成日期型的两种方法
- 买手机i9020(nexus s)
- ObjectDataProvider实现Add