biee不同条件选择不同对象
OBIEE里,有时需要根据提示器不同值查看不同的报表,具体方法有两种:
1. BIEE内部控制
2. JS控制
BIEE内部控制
1. 新建提示器区域选择-提示器,
选项列表值:
SELECT '区域一' FROM"CRM ANALYTICS"
UNION ALL
SELECT '区域二' FROM"CRM ANALYTICS";
默认选择: SELECT '区域一' FROM"CRM ANALYTICS"
并将值表示为表示变量 PV_REGION
2. 新建分析计数分析
拖入任意列,编辑列公式,将值改成任意值,如:‘区域二’
设置过滤器为 '区域二' = '@{PV_REGION}{1}'
保存分析。
3. 区域控制
新建仪表盘
在A中放入提示器,分别在B,C中放入想要的分析
在B中右上角设置条件->基于分析
浏览选择2中创建的计数分析
选择条件如下图
同理,对C设置如下:
保存,运行,大功告成。
截图如下:
JS控制
JS好久没写,忘的差不多了,所以只说下思路:
1. 将仪表盘提示器中的值设置成表示变量
2. 在仪表盘中创建文本,选择包含HTML标签。
3. 运行仪表盘,抓取对象ID,具体方法如下:
按键盘F12,然后点击箭头
接着在仪表盘中点击想要抓取的对象
其ID为EmbedViewd:dashboard~p:1vj90h9vrs85bj4k~s:qc4h3dqc65i16pgd~h:lbi13usbdogb6iur,
(PS:一次不行,可以多试几次。抓取对象非常有用,我们可以根据抓取对象看表格颜色值、表格大小值、表格所对应的css等,从而可以再服务器上找到其对应的CSS,在css中修改默认字体大小、以及在仪表盘中编写CSS覆盖默认的值)。
4. 剩下的就是考验JS编写能力了。
大概逻辑如下:取得表示变量的值,当仪表盘提示选择 A时,通过getElmentByID方法得到对象B,设置其display属性为no,当仪表盘提示选择B时,通过getElmentByID 得到对象A,并将其display属性设置成no
方法一为在不同区域间进行切换,方法二为在不同对象间进行切换
以上在两个区域(对象)间进行切换,在多个区域(对象)间进行切换道理相同