报表开发过程中,我们经常会需要根据所选择的不同指标,展示不同的报表!例如:

显示指标有:金额与合同数,可以根据显示指标选择的内容进行相应报表数据展示

一、环境准备

create table crm_info(
crm_name varchar(100) ,
crm_no varchar(40) not null primary key ,
crm_type varchar(8),
crm_lvl varchar(8),
crm_status varchar(8),
crm_indu varchar(8),
crm_sex varchar(8),
crm_birthdate Date,
crm_dept varchar(8),
crm_country varchar(8),
crm_email varchar(20)); insert into crm_info values('牧云笙','crm001','uvip','A','','A','',to_date('1987-10-02','yyyy-mm-dd'),'A01','CN','crm001@163.com');
insert into crm_info values('苏语凝','crm002','vip','B','','S','',to_date('1986-1-2','yyyy-mm-dd'),'A04','USA','crm002@163.com');
insert into crm_info values('南枯月漓','crm003','vip','D','','D','',to_date('1973-02-02','yyyy-mm-dd'),'A03','UK','crm003@163.com');
insert into crm_info values('赫兰铁朵','crm004','uvip','B','','M','',to_date('1999-12-01','yyyy-mm-dd'),'A02','USA','crm004@163.com');
insert into crm_info values('牧云寒','crm005','vip','D','','T','',to_date('1965-01-01','yyyy-mm-dd'),'A01','USA','crm005@163.com');
insert into crm_info values('硕风和叶','crm006','uvip','D','','U','',to_date('1996-01-23','yyyy-mm-dd'),'A01','CN','crm006@163.com');
insert into crm_info values('盼兮','crm007','uvip','C','','B','',to_date('1998-01-01','yyyy-mm-dd'),'A03','CN','crm007@163.com');
insert into crm_info values('穆如寒江','crm008','vip','D','','S','',to_date('1976-12-4','yyyy-mm-dd'),'A02','CN','crm008@163.com');
insert into crm_info values('兰钰儿','crm009','vip','A','','S','',to_date('1986-4-6','yyyy-mm-dd'),'A03','UK','crm009@163.com');
insert into crm_info values('牧云陆','crm010','vip','B','','L','',to_date('1988-4-5','yyyy-mm-dd'),'A01','CN','crm010@163.com');
commit; create table contract_info(
contract_no varchar(40) not null primary key,
crm_no varchar(40),
contract_amt decimal(18,2),
start_date varchar(8),
end_date varchar(8),
register_date varchar(8)); INSERT INTO contract_Info values('contract01','crm002','','','','');
INSERT INTO contract_Info values('contract02','crm003','','','','');
INSERT INTO contract_Info values('contract03','crm004','','','','');
INSERT INTO contract_Info values('contract04','crm005','','','','');
INSERT INTO contract_Info values('contract05','crm006','','','','');
INSERT INTO contract_Info values('contract06','crm007','','','','');
INSERT INTO contract_Info values('contract07','crm002','','','','');
INSERT INTO contract_Info values('contract08','crm003','','','','');
INSERT INTO contract_Info values('contract09','crm004','','','','');
INSERT INTO contract_Info values('contract10','crm005','','','','');
INSERT INTO contract_Info values('contract11','crm006','','','',''); create table mapping(
Type VARCHAR(20),
Key varchar(4),
Value varchar(100)); INSERT INTO mapping VALUES('crm_lvl','vip','vip客户');
INSERT INTO mapping VALUES('crm_lvl','uvip','非vip客户');
INSERT INTO mapping VALUES('crm_type','A','优秀');
INSERT INTO mapping VALUES('crm_type','B','良好');
INSERT INTO mapping VALUES('crm_type','C','中等');
INSERT INTO mapping VALUES('crm_type','D','一般');
INSERT INTO mapping VALUES('crm_status','','存续客户');
INSERT INTO mapping VALUES('crm_status','','流失客户');
INSERT INTO mapping VALUES('crm_indu','A','农、牧、林、渔业');
INSERT INTO mapping VALUES('crm_indu','B','采矿和采石');
INSERT INTO mapping VALUES('crm_indu','C','制造业');
INSERT INTO mapping VALUES('crm_indu','D','电、煤气、蒸汽和空调供应');
INSERT INTO mapping VALUES('crm_indu','E','供水;污水处理、废物管理和补救');
INSERT INTO mapping VALUES('crm_indu','F','建筑业');
INSERT INTO mapping VALUES('crm_indu','G','批发和零售业;汽车和摩托车修理');
INSERT INTO mapping VALUES('crm_indu','H','运输与存储');
INSERT INTO mapping VALUES('crm_indu','I','食宿服务');
INSERT INTO mapping VALUES('crm_indu','J','信息和通信');
INSERT INTO mapping VALUES('crm_indu','K','金融和保险');
INSERT INTO mapping VALUES('crm_indu','L','房地产');
INSERT INTO mapping VALUES('crm_indu','M','专业、科学和技术');
INSERT INTO mapping VALUES('crm_indu','N','行政和辅助');
INSERT INTO mapping VALUES('crm_indu','O','公共管理与国防;强制性社会保障');
INSERT INTO mapping VALUES('crm_indu','P','教育');
INSERT INTO mapping VALUES('crm_indu','Q','人体健康和社会工作');
INSERT INTO mapping VALUES('crm_indu','R','艺术、娱乐和文娱');
INSERT INTO mapping VALUES('crm_indu','S','其他服务');
INSERT INTO mapping VALUES('crm_indu','T','家庭作为雇主的;家庭自用、未加区分的物品生产和服务');
INSERT INTO mapping VALUES('crm_indu','U','国际组织和机构');
INSERT INTO mapping VALUES('crm_sex','','男');
INSERT INTO mapping VALUES('crm_sex','','女');
INSERT INTO mapping VALUES('crm_dept','A01','财务部');
INSERT INTO mapping VALUES('crm_dept','A02','人事部');
INSERT INTO mapping VALUES('crm_dept','A03','采购部');
INSERT INTO mapping VALUES('crm_dept','A04','市场部');
INSERT INTO mapping VALUES('crm_country','CN','中国');
INSERT INTO mapping VALUES('crm_country','USA','美国');
INSERT INTO mapping VALUES('crm_country','UK','英国'); commit; ------建立维度视图
CREATE OR REPLACE VIEW V_DIM_CRM_LVL
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_lvl'; CREATE OR REPLACE VIEW V_DIM_CRM_TYPE
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_type'; CREATE OR REPLACE VIEW V_DIM_CRM_STATUS
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_status'; CREATE OR REPLACE VIEW V_DIM_CRM_INDU
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_indu'; CREATE OR REPLACE VIEW V_DIM_CRM_SEX
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_sex'; CREATE OR REPLACE VIEW V_DIM_CRM_DEPT
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_dept'; CREATE OR REPLACE VIEW V_DIM_CRM_COUNTRY
AS SELECT KEY,VALUE FROM mapping WHERE Type='crm_country'; -----建立合同客户关系视图
CREATE OR REPLACE VIEW CRM_CONTRACT_RELATION
AS
SELECT A.CONTRACT_NO,A.CONTRACT_AMT,A.START_DATE,A.END_DATE,A.REGISTER_DATE
,B.* FROM contract_Info A INNER JOIN CRM_INFO B ON A.CRM_NO=B.CRM_NO

根据上述脚本建表后,可得到如下数据:

CRM_CONTRACT_RELATION

V_DIM_CRM_COUNTRY

将上述两个视图导入到资料库,然后关联,接着设计分析

二、仪表盘提示设计

使用变量VAR接受值,然后传值给分析,在分析中通过@{VAR}进行引用

三、分析设计

①国家:

"V_DIM_CRM_COUNTRY"."VALUE"

②vip金额:

ifnull(CASE WHEN '@{VAR}{金额}'='金额' AND "CRM_CONTRACT_RELATION"."CRM_TYPE"='vip' THEN "CRM_CONTRACT_RELATION"."合同金额" WHEN  '@{VAR}'='合同数' AND  "CRM_CONTRACT_RELATION"."CRM_TYPE"='vip'  THEN  "CRM_CONTRACT_RELATION"."CNT"  ELSE NULL END,0)

③非vip金额:

ifnull(CASE WHEN '@{VAR}{金额}'='金额' AND "CRM_CONTRACT_RELATION"."CRM_TYPE"='uvip' THEN "CRM_CONTRACT_RELATION"."合同金额" WHEN  '@{VAR}'='合同数' AND  "CRM_CONTRACT_RELATION"."CRM_TYPE"='uvip'  THEN  "CRM_CONTRACT_RELATION"."CNT"  ELSE NULL END,0)

④金额:

'@{VAR}{金额}'

四、仪表盘设计

将分析与仪表盘结合在一起,然后展示报表

五、展示报表

当选择【金额】时,

当选择【合同数】时

通过以上可以发现,我们的报表现在可以通过选择的【显示指标】不一致,显示不同的结果。

【BIEE】11_根据显示指标展示不同报表的更多相关文章

  1. ASP.NET MVC应用程序展示RDLC报表

    原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有区别,但是实现操作起来,细处又有许多相近的地方. ...

  2. 鼠标划过用户名时在鼠标右下角显示div展示用户资料

    最近做一个网站论坛,为了方便会员之间相互了解,又不想再做一个页面展示用户资料,就想到了鼠标划过用户名时在鼠标右下角显示div展示用户资料这个效果, 这里要注意的该方法不是给每个用户名的旁边都绑定一个d ...

  3. 汽车4S店经验指标完成情况报表制作分享

    集团公司一般为了加强下属的经营管理,以及项经营指标完情况,需要制定一些报表.我们平时也经常遇到这种情况,而这些报表要包括什么内容呢?该怎么制作呢?用什么制作呢?今天小编就以4s店为例,分享给大家一个报 ...

  4. 【转载一】Grafana –美观、强大的可视化监控指标展示工具

    在之前的InfluxDB系列教程 中,我们给大家介绍了当下流行的一款时序数据库--InfluxDB. 接下来给大家带来一款强大的,与InfluxDB搭配使用的前端指标项展示项目--Grafana. G ...

  5. 【BIEE】07_调整BIEE柱子的显示顺序

    现在有报表如下: 但是我们觉得这种显示不好看,想把非优秀员工的柱子放在前边显示,那么如何调整呢? 调整步骤: [编辑分析] 我们将此处条形图下的两个标签顺序重新调整一下 从上图可以看出,效果明显!

  6. 控制器全屏显示.不展示导航栏navigationbar

    有些时候需要 让控制器全屏显示 ,不需要导航栏,或者说是在导航栏底部 基本情况: >控制器全屏 ``` if (@available(iOS 11.0, *)) { self.tableView ...

  7. Jenkins的HTML报告增加显示Throughput展示

    第一步,在summary中添加 在pagelist中添加 关于display-QPS部分,参考我的博文的另外一篇. 生成的报告如下:

  8. 如何把报表放到网页中显示(Web页面与报表简单集成例子)

    1.问题描述 现在用户开发的系统基本上趋向于BS架构的浏览器/服务器模式,这些系统可能由不同的语言开发,如HTML.ASP.JSP.PHP等,因此需要将制作好的报表嵌入到这些页面中. FineRepo ...

  9. 水晶报表(web)表格信息展示

    一.环境安装 开发工具使用VS2010+SAP Crystal Reports13_0+.NETformwork4.0 因为vs2010已经不再集成水晶报表,所以需要我们去找合适的版本下载http:/ ...

随机推荐

  1. CentOS下SVN使用

    1. 介绍 这里想在CentOS上搭建的是基于http访问的SVN Server 2. 软件 安装相关软件 yum install httpd httpd-devel mod_dav_svn subv ...

  2. 【原创】Linux环境下的图形系统和AMD R600显卡编程(4)——AMD显卡显存管理机制

    显卡使用的内存分为两部分,一部分是显卡自带的显存称为VRAM内存,另外一部分是系统主存称为GTT内存(graphics translation table和后面的GART含义相同,都是指显卡的页表,G ...

  3. Linux的日志错误级别

    讯息等级 系统将讯息分为七个主要的等级,依序是由不重要排列到重要讯息等级: info:仅是一些基本的讯息说明而已: notice:比 info 还需要被注意到的一些信息内容: warning 或 wa ...

  4. Fiddler抓包11-HTTPS证书Actions无法导出问题【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/fiddler/ 前言 在点Actions时候出现Export Failed:The r ...

  5. Python3在Windows安装配置及简单试用

    1,安装配置 安装版本是Python3.5,我的安装路径是E:\ImProgram\Python35 添加环境变量,将上述路径加入到path中 这样cmd打开命令窗口,输入python就能看到调用成功 ...

  6. Spring Cloud 微服务架构解决方案

    1 理解微服务 1.1 软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1.1.1 单体架构 特点: 1.所有的功能集成在一个项目工程中. 2.所有的功能打一个 ...

  7. python 传不可变对象 or 可变对象

    可更改(mutable)与不可更改(immutable)对象 在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象 ...

  8. 【poj1149】 pigs 网络流最大流问题

    描述 Description 尼克在一家养猪场工作,这家养猪场共有M间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍,客户们从早上开始一个接一个来购买生猪,他们到达后首先用手中的 ...

  9. POJ 3420 Quad Tiling (矩阵乘法)

    [题目链接] http://poj.org/problem?id=3420 [题目大意] 给出一个4*n的矩阵,求用1*2的骨牌填满有多少方案数 [题解] 弄出不同情况的继承关系,用矩阵递推即可. [ ...

  10. centos下crontab的使用

    1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户. 2.格式 crontab [-u user] {-l | -r ...