Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)
在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联。那么,本篇随笔我们重点介绍利用建好的双提示进行传参。
在操作之前,我们来看一个报告和分析的具体需求:
[1] 两个有关联的提示:部门和子部门。
1.部门包括北京销售部、郑州销售部(此处为小的模拟例子,具体项目实施中可以根据相应字段选取);
2.子部门包括北京销售1部、北京销售2部、郑州销售1组、郑州销售2组;
3.当部门的值为北京销售部时,子部门的值列表范围为:北京销售1部、北京销售2部;郑州销售部同理。
(已满足,并且:“部门”对应表示变量“PV_A”;“子部门”对应表示变量“PV_B”,详情查看随笔“Oracle Sales Cloud:报告和分析(BIEE)小细节1”)
[2] 新建商机明细报表,具体展示列包括:商机ID、名称、销售阶段、责任人、成功率、金额、利润、利润率、资源组织名称(部门)。
[3] 对于提示传参的要求。
1.当部门的值为北京销售部时,报表展示资源组织名称为整个北京销售部的数据(包括北京销售1部和北京销售2部);
2.当子部门的值为北京销售1部时,报表展示资源组织名称为北京销售1部的数据;当子部门的值为北京销售2部时,报表展示资源组织名称为北京销售2部的数据。
3.对于郑州销售部的情况同上。
现在,我们开始在BI中做满足这个需求的分析和仪表盘:
(1)第1步:创建“CUX_商机明细报表”,选取对应数据展示列,如图1。
注意:“资源组织名称”列对应的是子部门数据,因为资源对应的是各个销售人员,所在组织是相应的销售部门。
图1:新建商机明细报表
(2)第2步:添加过滤器,将过滤器转化为SQL。
图2:添加过滤器
(3)第3步:修改过滤器的SQL,如图3。
注意:此处取值为SQL结果,该处用到的查询方法为:union连接各个Select结果
那么此处的SQL便是(此处取得字段为“资源所在组织”):
1.部门层次的结果限定
"Employee"."Resource Primary Organization Name" in (
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_A}{}'is null
AND "Employee"."Resource Primary Organization Name" in ('北京销售1部','北京销售2部','郑州销售1组','郑州销售2组')
union
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_A}{}'='北京销售部'
AND "Employee"."Resource Primary Organization Name" in ('北京销售1部','北京销售2部')
union
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_A}{}'='郑州销售部'
AND "Employee"."Resource Primary Organization Name" in ('郑州销售1组','郑州销售2组')
)
2.子部门层次的结果限定,和部门之间用“AND”连接
"Employee"."Resource Primary Organization Name" in (
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_B}{}' is null
AND "Employee"."Resource Primary Organization Name" in ('北京销售1部','北京销售2部','郑州销售1组','郑州销售2组')
union
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_B}{}'= '北京销售1部'
AND "Employee"."Resource Primary Organization Name" = '北京销售1部'
union
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_B}{}'= '北京销售2部'
AND "Employee"."Resource Primary Organization Name" = '北京销售2部'
union
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_B}{}'= '郑州销售1组'
AND "Employee"."Resource Primary Organization Name" = '郑州销售1组'
union
SELECT DISTINCT "Resource Primary Organization Name" FROM "Sales - CRM Pipeline"
WHERE '@{PV_B}{}'= '郑州销售2组'
AND "Employee"."Resource Primary Organization Name" = '郑州销售2组'
)
图3:修改过滤器
(4)第4步:将提示和明细报表放到同一仪表盘下部署即可。
图4:新建仪表盘
总结:报告和分析(BI开发)小细节2——利用变量和过滤器进行传参(例如,根据提示展示不用部门的数据),主要介绍了利用表示变量和过滤器进行传参,进而让报表可以根据不同提示展示相对应的数据。同样需要注意:利用这个方法后,对于实际项目而言,一旦企业的组织架构做了调整,过滤器和提示一样也要进行对应修改。
谢谢,欢迎大家随时指正和交流!
Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)的更多相关文章
- Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (d ...
- Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...
- Oracle Sales Cloud:管理沙盒(定制化)小细节2——使用对象触发器更新数字字段
在上一篇 "管理沙盒(定制化)小细节1" 的随笔中,我们使用公式法在 "业务机会" 对象(单头)上建立了 "利润合计" 字段,并将它等于 & ...
- arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
环境及代码介绍 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程.这里不使用编译器自动生成的这部分汇编代码,因为编译器 ...
- 【ORACLE】awr报告问题分析
本文转自:http://www.linuxidc.com/Linux/2015-10/123959.htm 感谢分享 1.问题说明 运维人员都有"节日休假恐怖症",越到节日.休假和 ...
- 微信小程序和微信小程序之间的跳转和传参示例代码附讲解
一:微信小程序跳转 使用限制 需要用户触发跳转 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序. 需要用户确认跳转 从 2.3.0 版本开始,在 ...
- JS分析URL字符串,取得参数名,AJAX传参请求代码示例
//当前页面URL中参数分析函数,正则校验 function getQueryString(name) { var reg = new RegExp("(^|&)" + n ...
- 微信小程序——动态渲染页面、路径传参
1.动态渲染页面.改变css.样式必须setData渲染过去 this.setData({ userInfo: app.globalData.userInfo, token: app.glob ...
- 微信小程序 子组件给父组件传参
子组件给父组件传参只需这4步: 子组件的两步: 1.子组件绑定函数 addInfo <button type="primary" bindtap="addInfo& ...
随机推荐
- Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器
最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...
- 通过几个Hello World感受.NET Core全新的开发体验
2016年6月27日,这是一个特殊的日子,微软全新的.NET开发平台.NET Core的RTM版本正式发布.我个人将.NET Core的核心特性归结为三点,它们的首字母组成一个非常好记的简称——COM ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- MVVM大比拼之AngularJS源码精析
MVVM大比拼之AngularJS源码精析 简介 AngularJS的学习资源已经非常非常多了,AngularJS基础请直接看官网文档.这里推荐几个深度学习的资料: AngularJS学习笔记 作者: ...
- Webgl的2D开发方案(一)spritebatcher
使用TypeScript 和 webgl 开发 第一步:实现了SpriteBatcher 例子如下 http://oak2x0a9v.bkt.clouddn.com/test/index.html ...
- ASP.NET MVC Model元数据(一)
ASP.NET MVC Model元数据(一) 前言 在我初学的时候对Model元数据的概念很模糊,或者说是在大脑中没有它的一个模型,作为小白的我去看网上的一些文章还是两眼一黑啥都看不明白,然后我想退 ...
- xp搭建IIS出现HTTP 500错误-2147467259 (0x80004005)
安装IIS后访问localhost页面, 提示The remote procedure call failed and did not execute,再刷新变为:-2147467259 (0x800 ...
- IOC框架
一. IOC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机 ...
- 数据库日常维护-CheckList_02有关数据库备份检查
数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备.差异以及日志备份.那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我 ...
- c 小工具的使用
1. 这是一个gps 数据过滤的小工具,目的是过滤到gps数据中不符合要求的数据,然后转为json 数据 需要两个小工具 bermuda.c ------> 过滤一定范围的数据 geo2j ...