最新BO报表技术入门.doc

上传人:1595****071 文档编号:34715986 上传时间:2022-08-18 格式:DOC 页数:82 大小:1.51MB
返回 下载 相关 举报
最新BO报表技术入门.doc_第1页
第1页 / 共82页
最新BO报表技术入门.doc_第2页
第2页 / 共82页
点击查看更多>>
资源描述

《最新BO报表技术入门.doc》由会员分享,可在线阅读,更多相关《最新BO报表技术入门.doc(82页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateBO报表技术入门BO报表技术入门BO报表技术入门第一章 BO报表介绍:1.什么是报表?简单的说:报表就是用表格、图表等格式来动态显示数据。报表软件,它们需要有专门的报表结构来动态的加载数据,同时也能够实现报表格式的多样化。BO就是这样一种报表软件。2.BO报表BO报表全称是BusinessObject,Business Objects 是全球领先的商务智能(BI)软件

2、公司的产品套,2007年10月被SAP收购。 Business Objects XI 为报表、查询和分析、绩效管理以及数据集成提供了最完善、最可靠的平台。本文中用的版本是BusinessObject XI Release 2。3.学习内容(1)BO 的语义层设计提供了创建和维护语义层的所有技术,让用户能很容易地创建、访问和运行报表。n Designer简介n 基本操作n 插入表和连接n 定义类和对象(2)BO的报表设计让开发者掌握报表规划和制作的全面技能和深入知识,帮助分析和解释一些重要信息,以及完整的报表创建过程。n 制作一张简单的报表n 报表的处理(1):插入表和设置表格式n 报表的处理(

3、3):独立单元格n 报表的处理(4):设置数字和日期格式n 报表的处理(5):使用节、拆分和排序n 报表的处理(6):过滤报表中显示的值n 报表的处理(7):使用标准计算n 报表的处理(8):使用报警器突出显示关键结果n 报表的处理(9):Web Intelligence 函数n 处理查询:构建基本查询n 处理文档(1):设置文档进行钻取分析n 处理文档(2):保存和删除 Web Intelligence 文档4.学习方式语义层设计的学习,侧重于理论;报表设计的学习,侧重于操作。本学习资料采用技术案例形式,【问题描述】是我们利用BO自带的数据库,编写了一个小的需求,引入具体的问题,【分析过程】

4、具体讲解我们用到的技术知识,【解决途径】是我们以图示的方式,实现报表。【经验总结】是我们自己在开发过程中,遇到的相似问题。希望能有些拓展。第二章 语义层设计第一节 Designer简介1.1 概述本节简要介绍了 Designer 这一用于构建 Universe 的工具。我们从Universe是什么,如何创建 Universe,以及Universe的作用分别阐述。等你理解这些基本的概念之后,就会发现,制作报表只是力气活,但是universe 的设计却是技术活。所以在学习和开发的过程中,主要精力是要花在universe的设计上的。1.2 Designer 和 Universe 基本原理Busine

5、ss Objects Designer 是一个软件工具,可创建 Universe。1.2.1 什么是 Universe?Universe 是一个包含以下内容的文件: 一个或多个数据库中间件的连接参数。 称为对象的 SQL 结构,映射到数据库中的实际 SQL 结构,如列、表和数据库函数。对象按类分组。Web Intelligence 用户既可以看到对象,也可以看到类。 在数据库中使用的表和连接的模式。对象是通过您包括在模式中的数据库结构来构建的。简单的来说,先了解下Universe是我们做报表的第一步要创建的文件,它主要是和底层数据库相对应,最直观的就是它是用来构建SQL查询的文件。1.2.2

6、Universe 有何作用?Universe 的作用是为 Web Intelligence 的用户提供一个易于使用和理解的接口,使他们能依据数据库运行查询,以创建报表和执行数据分析。因为Universe中的类和对象,让SQL的查询结果,以直观的方式显示给Web Intelligence 的用户。Web Intelligence是什么将在第三章报表设计里面解释。在 Universe 中创建的对象必须与最终用户的业务环境和词汇相关。这些对象的作用是将以业务为焦点的前端呈现为数据库中的 SQL 结构。下图显示了对象的作用,它用作数据库模式和 Web Intelligence 中的“查询”工作区之间的

7、映射层,而用户使用该工作区创建依据数据库表运行的查询。1.2.3 Universe 包含什么?等你创建一个新的 Universe 文件后,你看到的窗口如下:你在两个白色区域分别右击,就会发现它们的功能区别,右面是引入表或者编辑派生表(非物理表),左面是对象资源管理器视图,用以创建对象和类的。(1)类类是 Universe 中的对象的逻辑分组。它表示对象的类别。类的名称应指明类包含的对象的类别。可以按层次将类划分为子类。(2)对象对象是映射到数据库中的数据或数据派生的命名 Universe 单元。应根据目标用户组的业务词汇命名对象的名称。例如,在产品经理所用的Universe 中使用的对象可以是

8、“Product(产品)”、“Life Cycle(生命周期) ”或“Release Date (发布日期) ” 。财务分析员使用的Universe 可以包含诸如“Profit Margin (利润) ”和“Return on Investment (投资回报)”等对象。(3)对象类型在 Designer 中,对象被限定为三种类型之一:维、明细或度量。对象类型说明维用于分析的参数。维通常与诸如地理、产品或时间的层次相关。例如, “City”,“Yr(年)”,“Qtr(季度)”等。明细提供维的说明,但并不是分析的焦点。例如“Month Name”度量传递用于确定维对象数量的数值信息。例如“Sal

9、es Revenue (销售收入)”设置方法右击对象对象属性,如图:第二节 基本操作2.1 概述本章描述您在 Designer 中执行以创建、修改和更新 Universe 的基本操作。涵盖了以下主题: 启动 Designer 创建 Universe 保存 Universe 导出 Universe 导入 Universe 设置 Universe 参数 使用 Designer 用户界面 使用“查找并替换” 组织表显示 选择模式显示选项2.2 启动 Designer系统 CMS 服务器的名称。用户名 您的资料库用户名。密码 您的资料库密码。身份验证 您的安全级别登录成功后2.3 创建 Univers

10、e名称 向 Web Intelligence 用户标识Universe。描述 说明Universe 用途和内容的说明。可选字段。连接 连接参数的命名集合,用于定义 Web Intelligence 如何访问数据库文件中的数据。所有可用的连接均显示在“连接”下拉列表框中。也可以创建新的连接。接下来按确定即可。2.4 保存 Universe保存 Universe 从菜单栏中选择“文件” “保存” 单击“保存”图标 在键盘上按 Ctrl+S2.5 导出 Universe将Universe保存到CMS(中央管理系统:统一管理Universe)点击浏览,可新建文件夹2.6 导入 Universe导入:从

11、CMS上获得Universe。第三节 插入表和连接3.1 概述本章说明可以如何创建一个模式,该模式包含构建对象所需的所有SQL 结构(Web Intelligence 用户使用这些对象来构建报表)。这些 SQL结构包括表、列、连接和数据库函数。构建正确的模式是构建满足所有其最终用户报告需求的 Universe 的基础。直观的说,就是Designer工具中右边画布中编辑的内容。3.2 什么是模式?模式是数据库结构的图形表示方式。在 Designer 中,您为 Universe表示的数据库部分创建模式。模式包含表和连接。表包含列,而您最终会将这些列映射到最终用户用于创建报表的对象。连接链接表,以便

12、为在多个表上运行的查询返回正确的数据。您通过使用表浏览器从目标数据库中选择表,在“结构”窗格中设计模式。创建连接以链接表。当您为 Universe 设计了模式时,可以使用自动完整性检查功能验证模式。以下显示了 Beach 这一示例 Universe 的模式:下图指明了模式设计阶段出现在一个典型 Universe 开发周期的哪个位置:3.3 插入表表浏览器是一个独立的窗口,它显示了目标数据库中的表和列的树形视图。使用表浏览器可查看和选择想插入模式的数据库中的表。3.4 使用派生表派生表是您在 Universe 模式中定义的表。您在这些表上创建对象,就像在任何其他表上创建一样。派生表由 SQL 查

13、询在 Universe 级别定义,可用作 Designer 中的逻辑表。派生表具有以下优点: 减少了返回到文档供分析用的数据量。可以在派生表中包含复杂的计算和函数。这些操作在将结果集返回到文档之前执行,从而节省了时间和减少了在报表级别对大量数据进行复杂分析的需求。 减少了对数据库汇总表的维护。有时,派生表可以取代保存复杂计算的结果的统计表(通过使用聚合感知将这些结果合并到 Universe 中)。经常维护和刷新这些聚合表要付出很高的代价。派生表可以返回相同的数据并提供实时数据分析。派生表与数据库视图类似,并具有以下优势:派生表的 SQL 可以包括提示。SQL表达式就是我们编辑的区域。3.5 定

14、义连接在模式中插入了多个表后,必须在相关的表之间创建连接。在模式中,连接和表一样重要,因为它们允许您通过一种有意义的方式组合多个表中的数据。这里的连接和数据库中的SQL连接有相同的含义。创建连接:1.可以通过图形方式在表之间创建各个连接,方法是使用鼠标从一个表中的列向另一个表中的匹配列画一条线。2. 通过在“编辑连接”对话框中直接定义连接属性来创建连接。第四节 定义类和对象4.1概述前面各节已经描述了如何规划 Universe、创建包含 Universe 数据库结构(表、列和连接)的表模式。Web Intelligence 用户(报表设计者)看不到您创建的模式。完成此数据库结构之后,您即可以建

15、立类和对象,用户将在“Universe”窗格中看到这些类和对象,并且将使用它们依据数据库结构运行查询,以便生成文档和报表。4.2什么是对象?(1)什么是对象?在 Business Objects 产品中,对象是 Universe 中一种命名的元素,它代表数据库中的一个列或函数。对象以图标的形式显示在“Universe”窗格中。每个对象都代表最终用户业务环境中使用的一个有意义的实体、事实或计算。您在 Designer的“Universe”窗格中创建的对象就是最终用户在报告工具中看到和使用的对象。也可以创建仅供 Designer 中使用的对象,您可以在 Web Intelligence 用户看到的

16、“Universe”窗格中隐藏这些对象。Web Intelligence 用户将对象从“Universe”窗格拖到“查询”窗格即可运行查询,并使用返回的数据创建报表。每个对象都映射到目标数据库中的一个列或函数,并且,当在“查询”窗格中使用时,每个对象都会推导出一个 Select 语句。当组合了多个对象时,Select 语句依据包括 SQL(由每个对象推导出)并应用缺省Where 子句的数据库运行。下图显示了“Universe”窗格中的对象,以及 Designer“Universe”窗格中的相同对象。Designer “Universe”窗格中的每个对象都映射为Universe 模式中的一个列,

17、并推导出一个 Select 语句(在查询中使用时)。作为 Universe 设计员,您可以使用 Designer 来创建对象,WebIntelligence 用户将这些对象包括在“查询”窗格中,以便运行查询。 (2)对象类型给你的对象分配角色,即对象类型。(3)什么是类?类是对象的容器。类相当于 Windows 环境中的文件夹。可以创建类来容纳在 Universe 中具有共同用途的对象。4.3 使用函数对象是可以编辑的,它对于列或者函数。开发过程中,常见的就是使用这种函数,示例中case Prompt(WD,A,)when 1 then TKMX.TKXZ_DMwhen 2 then TKMX

18、.ZSXM_DMend含义是名为WD的变量值为1,这个对象返回退库类型代码,2则返回征收项目代码,当你编辑完毕的时候,点击“分析”,分析通过则此对象符合规则。第三章 报表设计案例1:制作一张简单的报表一、【问题描述】 使用BusinessObject XI Release 2(简称BO)制作一张简单的报表。二、【分析过程】第一步,根据业务逻辑进行语义层设计(工具Designer);第二步,根据业务展现需求进行报表设计(登录到InfoView);第三步,展现在jsp页面前台三、【解决途径】 (1)SQL语句分析通过后,保存Universe并导出 (2)新建Web Intelligence文档,(

19、3)保存文档(5)文档具体编辑(6)获得文档的SI_CUID四、【经验总结】 无案例2:插入表一、【问题描述】当您创建新文档时,Web Intelligence 会生成一个带有垂直表和标准格式的新报表。这个初始表中包含文档后面查询中的所有数据。(自动生成)您可以编辑表内容、个性化其格式或将该表转换为不同的表类型或统计图。您还可以将多个表插入到同一报表中或同一文档内的新报表中。(自定义)二、【分析过程】 Web Intelligence 报表中显示信息的不同表模板: 垂直表(数据展示方向是纵向的) 水平表(数据展示方向是横向的) 交叉表(联想到x,y轴) 表单(还没有接触)三、【解决途径】可以在

20、交叉表中包括多个维。例如,此交叉表显示两个维。销售收入 度量的值是每一行按季度列出的每个省/州的值。 注意,这种页眉中数据相同的不能合并单元格四、【经验总结】 无案例3:设置表格式一、【问题描述】当您创建新文档时,Web Intelligence 会生成一个带有垂直表和标准格式的新报表。这个初始表中包含文档后面查询中的所有数据。(自动生成)您可以编辑表内容、个性化其格式或将该表转换为不同的表类型或统计图。您还可以将多个表插入到同一报表中或同一文档内的新报表中。(自定义)二、【分析过程】 Web Intelligence 报表中显示信息的不同表模板: 垂直表(数据展示方向是纵向的) 水平表(数据

21、展示方向是横向的) 交叉表(联想到x,y轴) 表单(还没有接触)三、【解决途径】(1)可以在交叉表中包括多个维。例如,此交叉表显示两个维。销售收入 度量的值是每一行按季度列出的每个省/州的值。 注意,这种页眉中数据相同的不能合并单元格(2)给现有表应用不同的模板四、【经验总结】(1)拖放操作将行或列添加到表(2)替换表列和表行(3)通过移动表列或表行创建交叉表(4)利用单元格之间的边框,背景颜色,宽度隐藏一列单元格案例4:独立单元格一、【问题描述】独立单元格是在报表中独立存在的单一的单元格。您以使用独立单元格显示信息,为报表增加含义。二、【分析过程】三、【解决途径】四、【经验总结】无案例5:设

22、置数字和日期格式一、【问题描述】可以从预定义的格式范围中选择格式或创建自己的定制格式。二、【分析过程】三、【解决途径】四、【经验总结】无案例6:使用节、拆分和排序一、【问题描述】如何对报表中显示的信息进行组织,使报表易于读取和导航。二、【分析过程】BO提供了有关以下各项的信息: 使用节对报表上的数据进行分组 使用拆分对表中的数据进行分组 使用排序来组织表上的节和数据三、【解决途径】 (1)创建节点(2)可以在表或交叉表上插入一个或多个拆分。您可以在显示维或明细的任意列或行上插入拆分。注意: 您不能在显示度量的列或行上插入拆分。四、【经验总结】(1)下面显示了拆分和节的不同之处(2)拆分是对维度

23、或者明细拆分,不能对度量进行拆分: 如果选定表是垂直表,则所有拆分将应用于列。这样的拆分称为“垂直拆分”。 如果选定表是水平表,则所有拆分将应用于行。这样的拆分称为“水平拆分”。 如果选定表是交叉表,则拆分可以应用于行或列。可以选择水平拆分和垂直拆分的优先级。案例7:过滤报表中显示的值一、【问题描述】如何过滤 Web Intelligence 报表中显示的数据,以便集中提供您因某种特定业务目的而关的信息。可以通过应用报表过滤器来完成此操作。二、【分析过程】 创建报表过滤器,需要指定三个元素: 过滤的对象 运算符 值三、【解决途径】(1) 给报表应用多个过滤器(2) 查看给报表应用的过滤器四、【

24、经验总结】无案例8:使用标准计算一、【问题描述】如何插入标准业务计算二、【分析过程】 使用标准计算三、【解决途径】四、【经验总结】无案例9:使用报警器突出显示关键结果一、【问题描述】 报警器使您能够采用能让结果在报表上突出显示出来的格式来突出显示特定的结果范围。二、【分析过程】 需要指定五个元素: 名称 对象或单元格内容 运算符 操作数(值或其他对象) 条件格式设置三、【解决途径】第 1 步:启动“报警器编辑器”并为新报警器命名 第 2 步:定义条件第 3 步:使用报警器个性化单元格的格式设置第 4 步:添加子报警器(可选)第 5 步:保存报警器第 6 步:为整个文档更改报警器的优先级(可选)

25、四、【经验总结】 (1)您可以将报警器应用于表体单元格(按列或行)、节单元格、页眉单元格和自由单元格。但是,不能将报警器应用于整个表或表单,或应用于统计图。(2)区分报警器与报警器,报警器与子报警器之间的关系(3)使用公式创建高级报警器案例10 :Web Intelligence 函数一、【问题描述】 介绍 Web Intelligence 中提供的函数二、【分析过程】 全部此表下面列出的所有类别的所有函数。 聚合聚合数据(例如,通过对一组值求和或求平均值) 字符处理字符串 日期和时间返回日期或时间数据 文档返回有关文档的数据 数据提供者返回有关文档数据提供者的数据 逻辑返回 TRUE 或 F

26、ALSE 数字返回数字数据 其它不属上述任何类别的函数三、【解决途径】四、【经验总结】(1)date FormatDate(date date_to_format; stringdate_format)示例:FormatDate(税费所属期起;yyyy-MM-dd)(2)string SubStr (string input_string, integer start,integer length)示例:支付时间段:+Substr(支付时间起;1;4)+年+Substr(支付时间起;6;2)+月+Substr(支付时间起;9;2)+日-+Substr(支付时间止;1;4)+年+Substr(支

27、付时间止;6;2)+月+Substr(支付时间止;9;2)+日+ 单位:元(3)If (boolean_expr; value_if_true; value_if_false)示例:If(区分标记=1;城区小计;县区小计)(4)string Left(string input_string; integer number_of_characters)示例:If(Left(行业代码;1)=1;1;0)案例11:报表的钻取一、【问题描述】 比如说现在有一组数据如下:区县所组户数玄武玄武一所玄武一组100玄武玄武一所玄武二组200玄武玄武二所玄武一组200玄武玄武二所玄武二组300玄武玄武二所玄武三

28、组100白下白下一所白下一组150白下白下一所白下二组100白下白下二所白下一组100白下白下三所白下一组200需求要求,第一层展示区县机关的数据,第二层展示管理所的数据,第三层展示管理组的数据。玄武900白下550点击【玄武】,下钻到所:玄武一所300玄武二所600点击【玄武一所】,下钻到组:玄武一组100玄武二组200这就需要何使 Web Intelligence 文档中的报表变得可钻取,了解每一步数据的汇总后的详细信息。二、【分析过程】首先介绍钻取的本质。报表技术本身是对SQL的封装。他的钻取功能类似于SQL中的GROUP BY。第一层,相当于“select 区县,sum(户数)from

29、 table group by 区县”;第二层,相当于“select 所,sum(户数)from table where 区县=玄武 group by 所”;第三层,相当于“select 组,sum(户数)from table where 区县=玄武 and 所=玄武一所group by 组”。其次,钻取顺序的问题。钻取的顺序按上面的需求中设定的,并不是报表有默认的顺序。另外,钻取的顺序是可以反过来,甚至可以没有特定的含义。这么说,是因为之前我们在开发中,觉得只有数据有必然的上下级关系才能实现钻取。事实和我们理解的完全相反,BO能在任何维度之间钻取。比如说我数据中加一列 年份区县所组户数201

30、0玄武玄武一所玄武一组1002010玄武玄武一所玄武二组2002010玄武玄武二所玄武一组2002010玄武玄武二所玄武二组3002010玄武玄武二所玄武三组1002011白下白下一所白下一组1502011白下白下一所白下二组1002011白下白下二所白下一组1002011白下白下三所白下一组200钻取顺序:年份-所-区县-组,区县-年份-所-组,所有可能的排列顺序。所以实现钻取的时候,第一步,准备要钻取的维度,比如说年份-区县-所-组;第二步,设定钻取维度的顺序;第三步,启动钻取功能。三、【解决途径】(1)设定顺序 第一种,Universe中,使用层次编辑器。第二种,钻取的所有维度放在一个类中,会自动按照从上到下的顺序实现钻取(2)启动钻取。切换到钻取模式:1 当文档在 Web Intelligence Java 报表面板中处于打开状态时,验证您是否处于报表视图中。当您在报表视图中进行操作时,“编辑报表”按钮处于按下状态。2 选择要钻取的报表。“钻取”按钮将出现在 Web Intelligence 工具栏上。3 单击“钻取”按钮。四、【经验总结】(1)某个维度,使用了标准计算后,就不能实现钻取了。(2)想要了解钻取途径,不妨试试DrillFilter这个函数。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com