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——利用变量和过滤器进行传参(例如,根据提示展示不用部门的数据),主要介绍了利用表示变量和过滤器进行传参,进而让报表可以根据不同提示展示相对应的数据。同样需要注意:利用这个方法后,对于实际项目而言,一旦企业的组织架构做了调整,过滤器和提示一样也要进行对应修改。

谢谢,欢迎大家随时指正和交流!

时间: 2024-07-29 15:11:35

Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)的相关文章

Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)

Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (deal)铺路.当然,今天我们的重点不是介绍Oracle Sales Cloud,而是它的报表开发中的一个小细节功能——提示.事实上,Oracle Sales Cloud的报告和分析模块开发使用的是封装好的BI工具,目前(2016年9月)版本是:Oracle Business Intelligence

Oracle Sales Cloud 实施(一)

Oracle Sales Cloud 实施(一) 一.什么是Oracle Sales Cloud? Oracle Sales Cloud 是甲骨文公司开发的一种类似SalesForce的销售管理系统.主要是帮助销售人员提高业绩,同时对公司来说可以规范化销售.对于总裁和经理来说可以通过各式各样的报表了解销售人员的最新进展.同时还可以通过报表分析考虑将公司重心放到哪个领域上,从而获得更高的效益. 二.创建一个最基础的工程,实现最基本的功能. 拿到系统之后首先要查看买的产品是否正确: 用最高权限的账号

h5页面与微信小程序之间的跳转、传参

h5跳小程序: <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script> 原帖链接: https://blog.csdn.net/mytljp/article/details/81902305 原文地址:https://www.cnblogs.com/chenmoumou/p/10538645.html

JS分析URL字符串,取得参数名,AJAX传参请求代码示例

//当前页面URL中参数分析函数,正则校验 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return

微信小程序-bindtap事件子元素不传参

<ul id="tabBar"> <li class="{{currentTabBar_s == 10?'active':''}}" data-current="10" bindtap="swichTabN"><image src='../../images/icon/tab_MyTodo_s.png' class='img_s'></image><image src='.

【干货】ORACLE-AWR报告分析

1.什么是AWR? AWR (Automatic Workload Repository) 是自动负载信息库的英文缩写,AWR报告是Oracle 10g以后版本提供的一种性能收集和分析工具,能提供一个时间段内整个系统资源使用情况的报告,通过报告可以了解一个系统的整个运行情况,生成的报告包括多个部分. AWR每小时对v$active_session_history视图(内存中的ASH采集信息,理论为1小时)进行采样一次,并将信息保存到磁盘中,并且保留7天,7天后旧的记录才会被覆盖.这些采样信息被保

ORACLE AWR结合ASH诊断分析enq: TX - row lock contention

公司用户反馈一系统在14:00~15:00(2016-08-16)这个时间段反应比较慢,于是生成了这个时间段的AWR报告, 如上所示,通过Elapsed Time和DB Time对比分析,可以看出在这段时间内服务器并不繁忙.分析Top 5 Timed Events,我们可以看到前五的等待事件 可以看到等待事件enq: TX - row lock contention占了所有等待事件17.3%的比例,猜测有可能是锁等待(enqueue等待)引起的阻塞导致,但是这个还不能下定论,因为毕竟CPU Ti

SAP C/4HANA Sales Cloud使用OData服务和第三方系统集成的一个具体例子

出于工作需要,Jerry写了这篇文章,给某些Partner做参考. 以前Jerry曾经介绍过SAP C/4HANA的五朵云到底包含哪些具体产品,其实在SAP官网上有更权威的中文解释: https://www.sap.com/china/products/crm-commerce/c4-hana-cx-suite.html 其中明确提到销售云包含SAP Cloud for Customer(C4C),SAP Revenue Cloud和Callidus Cloud. 有Partner询问有没有更详

C++中几个值得分析的小问题(2)

下面有3个小问题,作为C++ Beginner你一定要知道错在哪里了. 1.派生类到基类的引用或指针转换一定“完美”存在? 一般情况,你很可能会认为:派生类对象的引用或指针转换为基类对象的引用或指针是一件很正常的事.那要是不一般情况呢?请看下面这个例子: class Person { public: Person(const string& str = "Normal Person") : ID(str) {} string ID; //作为一般的人身份是“普通人”,作为学生身