BO入门实战

     最近一个项目用到BO的东西,于是研究了一下,项目要求不多,只是作几张报表,所以研究不深入,那就写个入门教程吧。

1. Universe
要在BO中创建报表(Crystal Report不在此列),首先要创建Universe,通俗一点理解,在本人看来就是个数据源(Data Source),
因为大多数报表工具都把这种东西叫作数据源,只是BO很有创新精神地给它起了个“响亮的”名字。


Universe只是数据结构的描述,真正的数据当然还是要从数据库中取,所以在创建Universe时还是要先建立一个数据库连接,
Universe支持各种我知道的和不知道的类型的数据库,选择一个用的类型的就是了,不知道的就让它继续“未知”好了。
然后,就插入我们报表要用的表或视图,如果要作多张报表分别用到不同的表或视图,那就把它们都拽进来吧。


好了,Universe创完了,使用Export,导出到服务器上,就可以在报表中使用了。


Universe本身支持多种关联,条件,函数等,也许在BO专家的眼中,它是无所不能的,对于菜鸟也别慌,
把那复杂的逻辑就放在视图里作吧,让Universe"干净干净"不也挺好看的嘛。

2. Webi
BO有两种方式创建报表,Desktop Intelligence和Web intelligence, 一个桌面版,一个网页版,两个功能都差不多,
概况的说,那就是相当弱,甚至都赶不上vs.net自带的RDLC。好在它在网页上查看报表时支持html,所以还是可以通过javascript
来干一些很有意思的事的。在Desktop Intelligence中发现合并列不好用(路过的有知道的,还望指教!),所以本人选择了Web intelligence (简称Webi).

效果图:


在设计报表方面,和大多数报表工具没什么差别,下面说点“电视台不让说的”(引自郭德刚相声,用于指代非官方文档说明内容):
1. 单元格背景色:
将单元格内容属性由“文本”改为“HTML”,然后使用条件表达式,如:

= If ([Bs] > 4 ;
    "<div style='width:100%;height:100%;background-color:#B0B0F0;color:#000000;padding-top:8px'>"+[Dt]+"</div>" ;
    If ([Bs] > 3 ;
    "<div style='width:100%;height:100%;background-color:#B0B0B0;color:#000000;padding-top:8px'>"+[Dt]+"</div>" ;
    If ([Bs] > 2 ;
    "<div style='width:100%;height:100%;background-color:#FF0000;color:#000000;padding-top:8px'>"+[Dt]+"</div>" ;
    If ([Bs] > 1 ;
    "<div style='width:100%;height:100%;background-color:#FFFF00;color:#000000;padding-top:8px'>"+[Dt]+"</div>" ;
    "<div style='width:100%;height:100%;background-color:#00B050;color:#000000;padding-top:8px'>"+[Dt]+"</div>"))))


2. 超链接元素:
写完上面的代码后,这个就是“小儿科”了,如:

= "<a href='http://somewhere/?id=" + [Prvnc Id] +"'>" + [Prvnc Nm Ch] + "</a>"


3. javascript去表头:
在Webi中合并行后,表头上出了一个尴尬的问题,那就是要么多个表头,要么就是没表头,在请教专家无果后(路过的专家们,也请指点迷津),决定上javascript大法,
(javascript大法好啊!本人曾在sharepoint项目,屡试不爽!)
在报表的最下边,拖一个“空白单元格”上来,按惯例,还是改成HTML,然后上脚本,搞定:

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
var count = 0;
$('.s11 > tbody > tr').each(function()
{
   var height = parseInt($(this).height());
   if(height == 58)
   { 
     count++;
     if(count > 1)
     {   
       $(this).remove();
     }
  }
});
</script>


4. 报表筛选条件:
在Webi编辑查询时,可以在下面条件区域直接拖入字段,生成查询条件,我们先搞个“提示”类型,给后边用。



5. 报表导航:
结合上面的“超链接元素”,就可以生成带导航功能的报表了,首先要找到目标报表的id, 这个很容易,用IE Developer或Firebug,你懂的。
然后就是连接地址,BO提供了一个直接打开报表的连接,换上自已报表的id(iDocID=0001),加上参数,就轻松搞定。

= "<a href='http://somewhere/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sIDTyp=CUID&sType=wid&iDocID=0001&lsSparaPrvncid=" + [Prvnc Id] +"'>" + [Prvnc Nm Ch] + "</a>"

这里要注意,条件字段要是字符型,否则不好用,切记!


目录 第1 章 Designer 简介 1.1 概述 ...................................................... 8 1.2 Designer 和 Universe 基本原理 ............................. 8 1.3 如何使用 Designer 来创建 Universe? ...................... 12 1.4 谁是 Universe 的设计员? ................................. 15 1.5 Universe 开发过程简介 .................................... 16 1.6 Designer 示例材料 ........................................ 19 第2 章 执行基本操作 2.1 概述 ..................................................... 21 2.2 启动 Designer ............................................ 21 2.3 导入 Universe ............................................ 25 2.4 打开 Universe ............................................ 27 2.5 导出 Universe ............................................ 28 2.6 保存 Universe ............................................ 30 2.7 关闭 Universe ............................................ 32 2.8 创建 Universe ............................................ 32 2.9 设置 Universe 参数 ....................................... 35 2.10使用 Designer 用户界面 ................................... 67 2.11使用 “查找并替换” .......................................71 2.12组织表显示 ............................................... 74 2.13选择模式显示选项 ......................................... 79 2.14打印 Universe ............................................ 86 第 3 章 创建包含表和联接的架构 3.1 概述 ..................................................... 89 3.2 什么是模式? ............................................. 89 3.3 插入表 ................................................... 91 3.4 使用派生表 ............................................... 95 3.5 定义联接 ................................................. 99 3.6 定义特定的联接类型 ...................................... 116 3.7 使用基数 ................................................ 132 3.8 检查 Universe ........................................... 140 第 4 章 解决架构中的联接问题 4.1 概述 .................................................... 145 4.2 什么是联接路径问题? .................................... 145 4.3 定义别名 ................................................ 147 4.4 定义上下文 .............................................. 152 4.5 解决环路 ................................................ 162 4.6 解决断层陷阱 ............................................ 188 4.7 解决扇形陷阱 ............................................ 193 4.8 以图形方式检测联接问题 .................................. 199 4.9 检查 Universe ........................................... 202 第 5 章 构建 Universe 5.1 概述 .................................................... 207 5.2 Universe 构建简介 ....................................... 207 5.3 使用 “Universe”窗格 ................................... 210 5.4 有关类、对象和条件的基本操作 ............................211 5.5 定义类 ..................................................212 5.6 定义对象 ................................................215 5.7 定义层次结构 ............................................247 5.8 使用层次结构的级联值列表 ................................251 5.9 使用值列表 ..............................................254 5.10自动创建基本的 Universe .................................269 5.11测试 Universe ...........................................276 第6 章 生成 OLAP Universe 6.1 概述 ....................................................278 6.2 依据 OLAP 多维数据集源生成 OLAP Universe ................279 6.3 创建 OLAP 连接 ..........................................280 6.4 创建 OLAP Universe ......................................282 6.5 保存并导出 OLAP Universe ................................285 6.6 更新 OLAP Universe ......................................286 6.7 OLAP 至 Universe 映射 ...................................286 第7 章 依据元数据源创建 Universe 7.1 概述 ....................................................295 7.2 依据元数据源生成 Universe ...............................295 7.3 选择元数据源 ............................................296 7.4 XML 元数据源 ............................................298 7.5 Oracle 分析工作区 .......................................308 第8 章 创建 Universe 以用作 Metric 8.1 概述 ....................................................321 8.2 使用 Universe 来构建 Metric .............................321 8.3 企业 Metric ............................................. 324 8.4 Process Analysis 统计图的 Universe 配置 ................. 327 8.5 为基于集合的 Metric 设计 Universe ....................... 330 第 9 章 优化 Universe 9.1 概述 .................................................... 333 9.2 使用聚合表 .............................................. 333 9.3 使用 @ 函数 ............................................. 346 9.4 使用外部策略定制 Universe 创建 .......................... 354 9.5 使用分析函数 ............................................ 367 第 10 章 管理 Universe 10.1概述 .................................................... 379 10.2部署 Universe ........................................... 379 10.3针对 Universe 设置访问限制 .............................. 380 10.4多个设计员一起工作 .................................... 389 10.5链接 Universe ........................................... 390 10.6在一个 Universe 中包含另一个 Universe ................... 399 10.7管理用户和登录 .......................................... 400 10.8优化 Universe ........................................... 402 附录 A 使用示例资料 A.1 概述 .................................................... 405 A.2 Club 数据库 ............................................. 405 附录 B Business Objects 信息资源 B.1 文档和信息服务 .......................................... 411 B.2 文档 .................................................... 411 B.3 客户支持、咨询和培训 ....................................412 B.4 实用地址一览 ............................................413 附录C 版本发布后的补遗 C.1 概述 ....................................................414 C.2 DBUser/DBPass ...........................................414 索引.............................................415
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值