IBMCognosBI最佳实践报表设计高级提示和提示性能调优.docx

上传人:太** 文档编号:64568872 上传时间:2022-11-29 格式:DOCX 页数:15 大小:241.43KB
返回 下载 相关 举报
IBMCognosBI最佳实践报表设计高级提示和提示性能调优.docx_第1页
第1页 / 共15页
IBMCognosBI最佳实践报表设计高级提示和提示性能调优.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《IBMCognosBI最佳实践报表设计高级提示和提示性能调优.docx》由会员分享,可在线阅读,更多相关《IBMCognosBI最佳实践报表设计高级提示和提示性能调优.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、IBMCognosBI最佳实践报表设计高级提示和提示性能调优1简介目的本文档旨在向报表创建者展示如何处理第一个提示页面性能低下的问题。1.1 适用范围这里的信息只适用于IBM Cognos 8.2 Bl。2第一个提示页面的性能当用户运行包含多个复杂查询的报表时,常常需要等待很长时间才会看到第一个提示页面出现。比如,在一个客户场景中,报表 用了 40秒才显示出第一个提示页面。能够通过两方面的努力改进第一个提示页面的性能:1) 减少提示调节(prompt reconciliation)的时间2)减少为提示控件获取数据的时间 3提示调节什么是提示调节?提示调节确保参数定义与参数的用法匹配。在筛选与计

2、算中定义参数。在提示中使用定义好的参数。 参数定义包含儿个关键项: 基数-能够提供给参数的输入值的数量。 离散性-决定输入值是定义单一值,还是定义一个值范围。 可选性-决定参数在筛选或者计算的上下文中是必需的,还是可选的。 数据类型-为了与引用的其他数据项或者常量匹配,在筛选或者计算的上下文中期望的数据类型。数据类型能够是 Numeric、Date Time、Date Time Interval、String 或者 Member Unique Name (MUN)。3.L1筛选表达式 请考虑可选的筛选: Order number = ?pOrderNumber?通过分析这个筛选,能够推断出参数

3、pOrderNumber的一些性质: 基数:单一值 等号说明只能使用单一值。 使用多个值需要适当的操作符,比如in: Order number in ?pOrderNumber? 离散性:简单值 等号说明了这一点。 值的范围需要适当的操作符,比如“inange: Order number in_range ?pOrderNumber? o 假如一个参数在多不上下文中使用,那么关因此范围值的参数,所有引用都务必是范围值。 可选性:可选的 这个筛选定义为可选的,因此参数也是可选的。 参数也能够是必需的。假如一个参数在多个上下文中使用,那么关于可选的参数,所有引用都务必是可选的。 数据类型:Nume

4、ric 这个参数是数字,由于。rder number数据项是数字。 现在,把参数的特性应用于引用它的提示。这意味着,提示控件会表达参数的一部分特性,从而让提示控件与参数定义保持兼 容。假如在创建的提示页面中引用参数,会在运行时修改提示定义,以便与参数的基数、可选性与离散性匹配。数据类型不匹配 可能会导致运行时错误。假如没有创建的提示页面,那么这些特性应用于生成的提示页面上的提示。3.1.2 数据项表达式与通过宏表达式定义的参数不一致,在数据项表达式中使用的参数是必需的。3.1.3 宏表达式在宏表达式中定义的参数1能够是可选的或者必需的,能够是单一值或者多值。 请考虑宏表达式:#prompt (

5、 pOrderNumber , integer )# 基数:单一值出现在选项卡上的文本项将是HTML项。在每个表格单元格中添加一个HTML项,让它们在单元格中居中: 图13.在每个表格单元格中添加一个HTML项;Double dick to edit text.;HTML Item |:Tab 1:选择左边的HTML项并把HTML属性设置为:Show Tab l这段JavaScript创建一个按钮: 按钮标题(工具提示文本)- Show Tabi 操作:o 将表单变量p_pTabToShow设置为Tabio 运行函数reprompt 按钮标签-Show Tab 1换句话说,当用户按这个按钮时,

6、它会设置表单变量并重新提示报表。注意,reprompt函数是未记录与不受支持的。请注意本文前面的说明。选择右边的HTML项并把HTML属性设置为:button title=Show Tab 2onclick=document.formWarpRequest.elements,p_pTabToShow,.value=Tab2,;SetPromptControlCrepromptJShow Tab 2运行报表:图15.运行报表Show Tab 1 |Show Tab 2 |Tab 1Cancel Finish能够通过单击按钮在选项卡之间切换,显示相应的文本。图16.切换选项卡Show Tab 1

7、IShow Tab 2 I1 1Cancel - Back Next Finish核心选项卡功能现在完成了。剩下的工作都是装饰性的;这个用户界面是有效的,但是看起来不像选项卡式用户界面。另外,还 要把提示放到选项卡上。返回到 设置选项卡的样式 我们要用边框、对齐与其他样式改变HTML按钮与块的外观,让它们看起来像选项卡。 首先,处理HTML按钮。 选择父表格,在Table Properties属性中选择Fixed Size。 仍然选择表格,选择Size and Overflow属性并删除当前的宽度设置。 选择每个表格单元格并把宽度都设置为100 pixels (px)o 在实际的报表中,务必调

8、整宽度,让宽度与每个选项卡中的文本匹配。请记住,为了让选项卡更美观,所有选项卡常常使用相同 的宽度。 现在,表格单元格与HTML按钮有点儿像选项卡了:图17.设置选项卡的样式k HTML item ? Double click to edit text.:l HTML |x HTM Item siTab 1 现在,需要重新设置HTML按钮的样式,让它们只显示文本。 选择HTML对象之一,会看到没有样式属性:图18.重新设置HTML按钮的样式ConditionalRender Variable | HTM Source Variable 旧 HTML SourceSource Type pext

9、 HTH.button title Show Tab 1ondkk=在IBMCognos8中,能够在报表中定义样式并把它们应用于报表对象。同样,也能够把这些样式应用于HTML对象。6.5.6 IBM Cognos 8 按钮样式在IBMCognos8中,能够定义一个类,然后在HTML按钮定义中引用它。使用 Page Explorer 打开 Classeso把一个Class对象从工具箱拖到Local Classes区域:选择这个新的类对象并设置属性: Name: HTMLButtons Border: None Box Type: Block Background Color: White Cla

10、ss or Selector: HB返回到提示页面。Class/Selector属性是在把样式应用于HTML项时使用的标识符。选择左边Tab 1的HTML对象并把HTML属性改为:button title=Show Tab 1onclick=document.formWarpRequest.elementsp_pTabToShow,.value= Tabi;SetPromptControlCreprompt) class=HBShow Tab l选择右边Tab 2的HTML对象并把HTML属性改为:Show Tab 2ReportNet 按钮样式在ReportNet与IBM Cognos 8中

11、都能够使用这种方法。我们使用HTML样式属性在HTML按钮定义中直接应用样式,而不是引用在报表级定义的通用样式定义。 选择左边的HTML对象并把HTML属性改为:Show Tabl选择右边的HTML对象并把HTML属性改为:Show Tab26.5.7 运行报表运行报表。删除按钮的按钮式外观,只留下文本。图19.运行报表Show Tab 1 Show Tab 2Tab 1显示活跃的与不活跃的选项卡不活跃的选项卡将使用我们现在需要通过设置选项卡的样式说明哪个选项卡是活跃的。活跃的选项卡将使用黑色的边框与文本。 灰色的边框与文本。选择左边的表格单元格。将 Style Variable 设置为 Ta

12、bToShoWo使用 Variable Explorer 选择 TabToShow,再选择 Other:Condi t)on Expkxef3 VanabtesI (No vanable)臼用 TabToShow日 Tab2图20.(Other)仍然选择左边的表格单元格,将左边、上边与右边的Border设置为Black、Solid Line 1.5 point (pt):图21.Border设置图22. Tab 1选项卡Tab 1使用 Variable Explorer 选择 TabToShow,再选择 Tab2:仍然选择左边的表格单元格,将左边、上边与右边的Border设置为SUver、So

13、lid line 1.5 point (pt):图 23. Tab2 Border 设置二|口 E图24. Tab 2选项卡3 HTML Iteni |:Tab 1运行报表: 图25.运行报表Tab 1| Show Tab 1 | Show Tab 2Tabi单击Show Tab 2,让Tab 1变成非当前的:图26.运行报表Tab 2Show Tab 1 Show Tab 2Tab 2对Tab 2 (右边的表格单元格)重复相似的步骤。返回到 Report StudiOo选择右边的表格单元格。将 Style Variable 设置为 TabToShoWo使用 Variable Explorer

14、 选择 TabToShow,再选择 Other:图 27,将 Style Variable 设置为 TabToShowB 3 Vanattes(Novdnable)3 用 TabToShow日 Tab2(Other)仍然选择右边的表格单元格,将左边、上边与右边的Border设置为Silver、Solid Line、1.5 point (pt):图28. Border设置Lil 图I使用 Variable Explorer 选择 TabToShow,再选择Tab2:仍然选择右边的表格单元格,将左边、上边与右边的Border设置为Black、Solid Line 1.5 point (pt):图

15、29. Tab2 Border 设置运行报表:图30.运行报表| Show Tab 1 | Show Tab 2Tab 1单击 Show Tab 2:图31.运行报表Show Tab 2Show Tab 1 Show Tab 2 |Tab 2两个表格单元格之间的边框是灰色,但是我们在右边的表格单元格上已经把它设置为黑色了。因此它既有灰色也有黑色。每个表 格单元格实际上有自己的边框,但是在默认情况下它们是重叠的。也就是说,不可能看到下面这样并列的边框:图32.不可能看到下面这样并列的边框I Show Tab 1 | Show Tab 2Tab 1边框会重叠在一起。当边框重叠时,按一定的规则决定(

16、优先)显示哪个边框。在这里,显示左边的单元格边框。 当右边的单元格活跃时,我们需要调整边框,让左边的单元格没有边框。返回到 Report StudiOo选择左边的单元格。使用 Variable Explorer 选择 TabToShow,再选择 Tab2:删除单元格右边的边框: 图33.删除单元格右边的边框|运行报表:图34.运行报表| Show Tab 1 Show Tab 2Tab 1单击Tab 2:图35.单击Tab 2Show Tab 1 | Show Tab 2 |Tab 2现在,边框样式能够适当地说明活跃的与不活跃的选项卡。6.5.8 格式化选项卡体现在需要把选项卡与选项卡体连接在

17、一起。返回到 Report StudiOo使用 Variable Explorer 选择 No variable:图 36.选择 No variable选择块:图37.选择块TDoub加 click toedit text.Tabi在四个边上将 Border 设置为 Black、Solid 1.5 point (pt):图38. Border设置仍然选择块,将Current Block属性设置为Tab2。在四个边上将 Border 设置为 Black、Solid 1.5 point (pt):图 39. Tab2 Border 设置运行报表:图40.运行报表Show Tab 1 Show Ta

18、b 2Tab 1现在,选项卡的样式完全设置好了。但是,我们想再设置一些样式,让选项卡更美观一点。首先,我们想把选项卡向下移动,让它们窄一些。返回至lj Report StudiOo格式化页面并添加文本选择Page Body对象,将左边、上边与右边的Padding设置为100 pixels (px)o这在选项卡的所有边上提供100像素的缓冲区。最后,我们提供一些说明性文本,然后把报表提示放进选项卡中。将标题文本编辑为Revenue Report”图41.格式化页面并添加文本Revenue Reportk HIM Item ; |%b2Cancel Anish把一个块拖到页眉中,作为最后一项:图4

19、2.把一个块拖到页眉中卜仃工氏mRRevenue Report把文本对象拖到这个块中,输入文本“You may switch tabs to choose a different prompt/:图43.输入文本k m Revenue ReportYou may switch tabs to choose a different prompt.选择页面体中的条件块。将Current Block属性设置为Other。我们希望(tabi上的)主提示用于提示Order year。把一个Value Prompt对象拖到块中: 使用现有的参数:p_OrderYear 为Order year创建一个新查询

20、(默认选项)选择提示并把Required属性设置为N。(假如还没有设置的话-)。选择条件块并将Current Block属性设置为Tab2o我们希望(tab 2上的)第二个提示用于提示Product name。把一个Value Prompt对象拖到块中: 使用现有的参数:p_ProductName 为Product name创建一个新查询(默认选项)选择提示并把Required属性设置为N。(假如还没有设置的话)。运行报表。由于这些筛选是可选的,用户能够选择两个提示之一、都选择或者都不选择。6.6结束语这是一种很方便的方法。尽管它使用一些未记录与不受支持的产品功能,但是关于最终用户仍然很有价值

21、。当然,能够根据需要使用这种方法实现更多的选项卡、不一致的提示、文本与许多其他对象与控件,从而满足用户对提示界面体 验的偏好。 prompt()宏函数只同意单一输入值。 能够用prompt()定义多个值:#promptmany ( pOrderNumber , integer )# 离散性:简单值 提示宏总是简单值,而不是范围。可选性:必需的 没有默认值(这个宏函数的第三个可选参数)说明了这一点。 包含可选参数的示比如下:#prompt ( pOrderNumber , integer , 5 )#提示调节如何影响性能?为了执行提示调节,IBM Cognos 8要检查查询,推断有什么参数及其特

22、性。查询越大、越复杂,这个过程花费的时间越长。在IBM Cognos 8.1中,一个包含200多个查询的客户报表需要超过40秒才能显示出第一个提示页面。大多数时间花费在提示调节 方面。3.2 在Cognos 8.2中如何改进提示调节?在IBM Cognos 8.2中通过三种方式改进提示调节: 更快的提示调节 用于提示调节调优的报表服务器属性 用于提示调节调优的查询属性IBM Cognos 8.2中更快的提示调节首先,在IBM Cognos 8.2中提示调节过程已经得到优化,大大提高了速度。与IBM Cognos 8.1相比,这个过程花费的时间减少了75% 至U 90% o比如,在IBM Cog

23、nos 8.2中客户示例报表的提示调节只花费了 5秒,与IBM Cognos 8中的40多秒相比降低了 80%。只需迁移到IBM Cognos 8.2,就实现了 80%的性能改进。不需要采取其他措施。3.3 用于提示调节调优的报表服务器属性IBM Cognos 8.2为整个系统与具体报表的提示调节调优提供了三个相互关联的选项。第一个选项是一个针对整个报表服务器启用的报表服务器高级属性:这个属性有几个值: COMPLETE .在显示第一个提示页面之前,调节所有查询。这是默认设置,用来确保与往常版本的兼容性。CHUNKED -分批调节所有查询,直到调节了第一个提示页面所需的参数为止。以不固定的次序

24、处理查询。能够用高级服务器属性 RSVP.PROIVIPT.RECONCILIATION.CHUNKSIZE 修改 CHUNK 大小。默认的 CHUNK 大小是 5 个查询。GROUPED -按组调节查询,直到调节了第一个提示页面所需的参数为止。这些组如下: 筛选的报表查询 筛选的提示查询 未筛选的报表查询 未筛选的提示查询按这些组的次序处理查询,直到调节了第一个提示页面中引用的所有参数为止。常常只需处理第一个或者前两个组。但是,在某 些情况下,需要处理所有查询。比如,假如在提示查询中的计算查询项中引用参数,就会发生这种情况。报表服务器调节第一个 提示页面的参数之后,向用户显示这个页面。假如后

25、续提示页面引用在已经处理的查询中没有的参数,在显示这些提示页面之 前,报表服务器可能需要调节更多查询。CHUNKED GROUPED -分批调节查询组中的查询,直到调节了第一个提示页面所需的参数为止。我们的客户场景只包含一个筛选的查询,但是假设报表中的所有200个查询都使用相同的参数进行筛选。GROUPED会同时调节这 200个查询,由于所有查询都属于筛选的报表查询组。CHUNKED每次调节x个查询,x是CHUNKED大小(默认值为5)。因此关 于CHUNKED GROUPED,将调节5个查询。假如找到了第一个提示页面所需的参数,就显示页面。假如没有找到,就处理后5个查 询,直到找到参数为止。

26、以我们的客户报表为例,设置RSVP.PROMPT.RECONCILIATION = GROUPED会迫使提示调节首先处理包含筛选的查询(我们只有一个 这样的查询)。这导致客户示例报表的提示调节在IBM Cognos 8.2中只需花费不到1秒,与IBM Cognos 8.1中的40多秒相比性能提高了 98%。 只需设置一个高级服务器属性,就实现了 98%的性能改进。不需要采取其他措施。坦白地说,这个示例不太典型,由于筛选的查询与非筛选的查询的比例高于通常水平。但是,这个示例说明GROUPED调节选项的 优点是只需要处理所有查询中的一部分。关于如何处理大量的筛选查询,请参见用于提示调节调优的查询属

27、性。1.1.1 最佳默认设置是什么?假如使用COMPLETE之外的其他设置,可能会导致运行时错误,由于相同的参数可能在同一报表中以不一致方式定义两次或者更 多次。假设报表中有一个可选的筛选(比如Xin?Pl?)与一个计算Y + ?P1?。筛选把P1定义为可选的与多值的。计算把P1定义为必需的与单值的。假如使用COMPLETE查询调节,就会处理所有查询,而且使用限制性最强的定义修改提示,这会产生必需的单值提示。假如使用GROUPED,就只处理筛选的查询,这同意使用可选的多值提示。假如用户跳过这个提示或者者选择多个值,那么当处理 计算时就会产生运行时错误。说到这里要补充一点,在使用高级调节属性时,

28、正确使用参数并解决这些不匹配的参数定义应该是创建者的责任。在使用CHUNKED GROUPED时,还可能有两个或者更多筛选以不一致方式定义同一个参数。同样,这也是在创建报表时计划与实 现不完善的表现。出于性能考虑,CHUNKED GROUPED是推荐的设置,由于它同意只处理部分查询组。但是,应该进行适当的报表测试,以确保不可 能出现由于报表创建者使用参数的方式不一致所导致的运行时错误。默认的CHUNK大小5关于大多数情况已足够。3.6 用于提示调节调优的查询属性关于某些报表,仅仅设置高级报表服务器属性可能无法实现良好的性能,还需要手动调优。报表创建者能够使用新的Report Studio查询属

29、性Use for Parameter Info决定提示调节的执行方式。这个新属性只能在高级报表服务器属性 RSVP.PROMPT.RECONCILIATION 设置为 GROUPED 或者 CHUNKED GROUPED 时使用。这个属性实际上创建一个新的查询处理组,系统在处理筛选的报表查询之前处理这个组。新的处理次序是: Use for Parameter Info = True 查询 筛选的报表查询 筛选的提示查询 未筛选的报表查询 未筛选的提示查询假如在第一个组中找到了所需的参数,就不再处理其他查询。这个属性在两个场景中很有用。 .6.1在多个查询筛选中使用相同的参数仍然以包含200个查

30、询的示例报表为例,假设所有200个查询中的筛选都引用相同的参数。往常务必处理所有200个查询来调节 参数。实际上,只需处理其中任意一个查询,就能够收集到所需的信息。报表创建者能够选择任何查询,并设置查询属性Use for Parameter Info = Trueo系统只处理这个查询,就会找到所需的参数并显示第一个提示页面,不必处理其他查询。 .6.2在每个查询筛选中使用不一致的参数现在,考虑一个完全不一样(有点儿不真实)的用例。我们有200个查询,每个查询都引用一个不一致的参数,在第一个提示页 面中引用所有200个参数。在这种情况下,务必处理所有查询,这会导致性能降低(回到5秒水平)。有一个

31、非常聪明的办法:创建者能够创建一个定义所有200个参数的查询。不创建任何引用这个新查询的布局(即,没有列表、 交叉表或者图表使用这个查询)。只在这个查询上设置查询属性UseforParameteHnfo = True。现在,在运行报表时,只处理这一 个查询。由于在布局中不引用这个查询,它不可能实际执行。这样就解决了第一个提示页面的性能问题,而且不可能有额外的开 销。包含200个查询而且每个查询使用不一致的参数这样的示例有点儿极端,但是假如处理给定的查询或者查询集造成了性能问题, 就能够考虑使用这种方法。估计只有非常少的报表需要使用Use for Parameter Info查询属性,由于IBM

32、 Cognos 8.2本身与使用RSVP.PROMPT.RECONCILIATION GROUPED产生的性能改进能够解决大多数性能问题。 .6.3提供不利提示要确保您选择的查询提供所需的所有参数。假如在没有定义所有参数的查询集上设置UseForParamete门nfo,查询提示(hint), 会对性能产生消极影响,由于第一个请求没有调节所有参数,还需要通过另一个请求获得其他参数的参数特性。3.7 SAP考虑事项在有非层次化数据源变量的SAP环境中,变量数量大而且这些变量具有许多可能的值,这会显著影响性能。建议不要在这些环境中使用高级服务器属性,但是能够使用,Use For parameter

33、 Info 查询提示改进性能。4提示查询性能提示查询用于填充提示控件。在运行完提示查询之前,无法显示提示页面。在默认情况下,这些查询在每次向用户显示提示页面 时运行一次。在改进提示查询性能时,要关注三个方面:查询的数量避免重复运行提示查询并行地运行提示查询查询的数量查询数量越大,处理提示页面花费的时间越长。尽管下面讨论的机制能够减少所需的时间,但是有的时候候第一个提示页面包含 的提示查询太多,务必处理它们才能显示提示页面。能够把提示分割为两个或者更多页面。这样每个提示页面包含的查询就比较少了。能够使用选项卡式的提示页面。系统只运行实际向用户显示的提示控件所需的查询,不运行不活跃的选项卡的提示查

34、询。附录A 讲解如何创建选项卡式提示界面。能够使用隐藏在条件块中的提示,这些提示只在用户已经响应了一些提示并重新提示报表时显示。同样,由于系统只运行实际向 用户显示的提示控件所需的查询,不运行隐藏块中的提示查询。4.1 适当的提示控件一些提示控件不适合容纳大量数据。比如,包含100,000个条目的值提示(选择列表)性能会很差,而且使用很不方便。关于这 么大量的数据,更合适的控件是Select & search提示、Cascading提示或者Tree提示,由于它们在最初显示时并不装载整个数据 集。注意,假如创建者非要使用包含大量数据的提示,那么在默认情况下数据会在5000行处截断,而且系统并不给

35、出警告。能够使用 提示控件的Rows Per Page属性显示更大的数据集。4.2 缓存提示查询在IBMCognos8.1中,能够缓存提示查询。假如提示中的值不经常变动(比如每天一次而不是随时),而且提示并不依靠另一个 提示的值筛选提示查询,就能够使用这种技术。比如,能够缓存父级联提示的值,但是不能缓存子(或者孙)提示,由于这些后 续提示依靠父提示的值执行查询。使用作业执行提示查询并缓存报表的值。用适当的调度计划(比如每天或者每周)创建作业,从而反映提示值的变动频率。在作 业中添加需要刷新提示查询的报表之后,把Default Run选项设置为Run the report to Refresh

36、the Report Cache (也能够为每个报表 步骤设置这个选项)。当作业运行时,它只执行提示查询并把结果缓存在Content Store中。假如在多个位置有提示,那么在作业步骤中设置这些位置, 就会缓存所有位置的提示值。当用户运行报表时,获取缓存的查询值;这通常会提高性能。注意,不管是否考虑性能因素,这也是减少对数据库的查询数量的好方法,由于在用户每次请求运行报表时不再需要执行提示查 询了。4.3 并行地运行提示查询假如提示值是高度动态的,缓存不是合适的选项,那么能够同时执行多个提示查询。在默认情况下,单一报表中的所有查询一个接一个地运行。能够同时运行提示查询或者数据查询。报表服务器使

37、用helper的概念管理能够在报表服务器中同时执行的查询数量。比如,把helper的数量设置为10就意味着整个报表 服务器实例能够同时执行另外10个查询。报表服务器高级属性用于设置服务器中可用的helper数量。默认值是零。假如 不设置这个属性,就无法同时运行查询。还务必使用报表服务器高级属性配置每个报表能够使用的helper数量。默 认值是1,即只同意每个报表每次执行一个查询;务必把它至少设置为2,才能同意运行并行查询。设置这两个选项之后,在默认情况下只对批执行运行并行查询。这是由于在交互式执行时,这可能会导致运行查询,但是用户根 本不看它的结果,因此不必要地消耗了资源。假设一个报表有两个页

38、面,每个页面有一个列表。用户运行这个报表;启用并行查 询,让这两个列表查询同时运行。用户看了第一个页面/列表,然后关闭浏览器。第二个查询已经并行地运行了,但是未被使 用,这浪费了资源。稍后讨论如何更好地处理这种情况。要想为交互式执行启用并行查询,需要把报表服务器高级属性设置为 True。在给定的报表中,还务必使用查询属性Execution Method决定什么查询能够并行地运行:图 1,查询属性 Execution Method在提示查询上设置这个属性同意它们并行地运行,这常常会提高性能。ProcessingAvokJ Division by ZeroRolup ProcessingExecu

39、tion OptimzatxxiMaximum Rows RetrievedMaximum TabtesMaximum Execution TimeMaximum Text Bob Characters1 Outer Join AlowedSuppressCross Product ABoweduse SQL With Clause-1 CExecutxxi Method 若Concurrent U$e75FParamete Infb.SQL jon syntaxUse l.xBehavwrJ Miscellaneous1 NameQuery 15结束语IBMCognos8.2显著改进了第一个

40、提示页面的基本性能,即使不进行定制配置,性能也很好。还能够通过下列措施进一步提高提示性能: 提示调节 明智的提示页面设计 提示查询缓存 并行的查询执行为了进一步提高提示性能,建议在所有IBM Cognos 8.2服务器上设置RSVP.PROMPT.RECONCILIATION CHUNKED GROUPED (还应该 进行适当的报表测试)。6附录A -选项卡式提示页面注意:这份资料最初是一份单独的Proven Practices文档。这里的内容与原文档中相同。6.1 更快的选项卡式提示页面这里的场景是,客户希望向最终用户提供报表,在提示页面中使用选项卡式用户界面而不是一系列提示页面。最常用的提

41、示出现 在第一个选项卡中,其他选项卡显示不太常用的提示。图2.选项卡式提示页面我们见过的一些应用程序示例有多达60个提示,它们分布在6到8个选项卡上。有两个问题会影响这些报表的性能。首先,提示 数量大意味着Cognos 8在运行报表之前务必分析许多查询。通常情况下,这意味着每个提示有一个查询,还要加上报表查询本 身。这个问题只能通过减少报表中使用的查询数量来解决,这超出了本文的范围。第二,原先使用的HTML/JavaScript技术的性质 决定了它们的性能非常差。生成选项卡的标准HTML/JavaScript技术同意用户在不访问服务器的情况下切换选项卡。这意味着务必 在显示第一个选项卡之前填充

42、所有提示(多达60个)。由于在默认情况下查询是串行运行的,需要的提示查询越多,用户等待 的时间就越长。6.2 解决方案概述这个解决方案使用条件块显示提示。选项卡本身仍然是用HTML与JavaScript创建的。使用条件块的优点是,系统明白隐藏的块中 的提示是不可见的,因此不运行填充它们所需的查询。假如用户切换选项卡,提示变得可见并运行有关联的查询。缺点是切换选 项卡需要向服务器发出请求。实现这种技术的提示页面使用条件块决定显示什么提示。请想像一系列重叠的矩形,在任何时候只显示其中的一个。图3,条件块显示提示这些块在任何时候只有其中的一个是可见的,但是所有选项卡都是一直可见的。当前,选项卡的边框

43、与文本颜色设置为黑色,让它 看起来像在其他选项卡前面。非当前的选项卡是灰色的,让它们不太突出。图4.选定选项卡从某种程度上来说,编写报表相当简单。我们将创建一个条件块与与选项卡数量相同的块一一在以上示例中是4个。然后,以表 格单元格的形式创建基本选项卡结构(矩形),根据需要设置边框。用HTML与一些简单的JavaScript创建选项卡中显示的文本。 当用户单击选项卡(实际上是单击选项卡中的文本)时,显示有关联的条件块,修改选项卡边框与文本颜色,显示有关联的块。 在后台,通过设置一个参数值指定显示哪个选项卡,然后重新提示报表。在理想情况下,我们使用提示控件或者提示按钮设置参 数值并重新提示。但是

44、,没有提示控件或者按钮能够满足要求。一个提示能够设置参数值并重新提示(通过自动提交),但是无 法看起来像文本。6.3 适用范围这种技术应该适用于ReportNet或者IBM Cognos 8的任何版本。6.4 未记录与不受支持的功能正如下面全面讨论的,这个解决方案需要使用两个在IBM Cognos 8中未记录与不受支持的功能。因此,在以后的版本中对这两个 功能的支持可能会改变或者完全取消,从而需要重写这个解决方案。但是,这种风险很低,由于目前在这些方面没有修改计划。 6.5选项卡式提示报表项目在我们的场景中,第一个选项卡让用户选择Order year(s),第二个选项卡让用户选择Product name(s),以便运行一个非常简单的列 表报表。我

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

当前位置:首页 > 应用文书 > 解决方案

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁