OBIEE Tips #5: Too many values in single select prompt

2024-04-24 16:48

本文主要是介绍OBIEE Tips #5: Too many values in single select prompt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OBIEE’s single select prompt can’t display by default more than 256 values (It displays a “Too Many Values” value at the end of the list when the number of values is greater than 256).

This can be fixed in two ways:

1) edit the instanceconfig.xml file by adding the following line:

view source
print ?
1<Prompts><MaxDropDownValues>MAX_VALUES</MaxDropDownValues></Prompts>

where MAX_VALUES is the number of values the prompt will display.
Take care: a big value could affect the performances.

2) Change the single-select value prompt to the multi-select value prompt. Multi-select value prompt displays all the values without limitation.

By default it displays the first 50 values and a link to show the next 50 and so on.
This value can be modified; just edit the instanceconfig.xml file by adding the following line:

view source
print ?
1<Prompts><MaxScrollValues>SCROLL_VALUES</MaxScrollValues></Prompts>

where SCROLL_VALUES is the values’ range number to show.

3) If you need to use a single select prompt because of business requirements, the best way is to create a first prompt by which you can select a first subset of values and constrained the next one on that.

The example above has been done quickly by changing the “Starts With” prompt formula that generates the range values with the following code:

view source
print ?
01CASE
02WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'A' THEN 'A-F'
03WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'B' THEN 'A-F'
04WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'C' THEN 'A-F'
05WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'D' THEN 'A-F'
06WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'E' THEN 'A-F'
07WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'F' THEN 'A-F'
08
09WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'G' THEN 'G-L'
10WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'H' THEN 'G-L'
11WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'I' THEN 'G-L'
12WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'J' THEN 'G-L'
13WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'K' THEN 'G-L'
14WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'L' THEN 'G-L'
15
16WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'M' THEN 'M-R'
17WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'N' THEN 'M-R'
18WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'O' THEN 'M-R'
19WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'P' THEN 'M-R'
20WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'Q' THEN 'M-R'
21WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'R' THEN 'M-R'
22
23WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'S' THEN 'S-Z'
24WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'T' THEN 'S-Z'
25WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'U' THEN 'S-Z'
26WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'W' THEN 'S-Z'
27WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'X' THEN 'S-Z'
28WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'Y' THEN 'S-Z'
29WHEN SUBSTRING("D5 Employee"."E01 Employee Name" FROM 1 FOR 1) = 'Z' THEN 'S-Z'
30
31ELSE 'UNKNOWN'
32
33END

That should not be done in a production environment; infact it’s better to map the range values in a table and add the appropriate business logic.

No Comments

Posted in Business Intelligence

这篇关于OBIEE Tips #5: Too many values in single select prompt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932291

相关文章

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

easyui 验证下拉菜单select

validatebox.js中添加以下方法: selectRequired: {validator: function (value) {if (value == "" || value.indexOf('请选择') >= 0 || value.indexOf('全部') >= 0) {return false;}else {return true;}},message: '该下拉框为必选项'}

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

C++ I/O多路复用 select / poll / epoll

I/O多路复用:在网络I/O中,用 1个或1组线程 管理 多个连接描述符。             如果有至少一个描述符准备就绪,就处理对应的事件             如果没有,就会被阻塞,让出CPU给其他应用程序运行,直到有准备就绪的描述符 或 超时

Go Select的实现

select语法总结 select对应的每个case如果有已经准备好的case 则进行chan读写操作;若没有则执行defualt语句;若都没有则阻塞当前goroutine,直到某个chan准备好可读或可写,完成对应的case后退出。 Select的内存布局 了解chanel的实现后对select的语法有个疑问,select如何实现多路复用的,为什么没有在第一个channel操作时阻塞 从而导