IBM Cognos BI 最佳实践_报表设计高级提示和提示性能调优5174.docx

上传人:you****now 文档编号:63113133 上传时间:2022-11-23 格式:DOCX 页数:36 大小:305.27KB
返回 下载 相关 举报
IBM Cognos BI 最佳实践_报表设计高级提示和提示性能调优5174.docx_第1页
第1页 / 共36页
IBM Cognos BI 最佳实践_报表设计高级提示和提示性能调优5174.docx_第2页
第2页 / 共36页
点击查看更多>>
资源描述

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

1、IBM Cognos BI 最佳实践: 报表设计高级提示和提示性能调优1 简介1.1 目的本文档旨在向报报表创建者展展示如何处理理第一个提示示页面性能低低下的问题。1.2 适用范范围这里的信息只适适用于 IBBM Coggnos 88.2 BII。2 第一个提示示页面的性能能当用户运行包含含多个复杂查查询的报表时时,常常需要要等待很长时时间才会看到到第一个提示示页面出现。例例如,在一个个客户场景中中,报表用了了 40 秒秒才显示出第第一个提示页页面。可以通过两方面面的努力改进进第一个提示示页面的性能能:1) 减少提示调节(ppromptt recoonciliiationn)的时间 2) 减少

2、为提示控件件获取数据的的时间 3 提示调节3.1 什么是是提示调节?提示调节确保参参数定义与参参数的用法匹匹配。在筛选选和计算中定定义参数。在在提示中使用用定义好的参参数。参数定义包含几几个关键项: 基数 可以以提供给参数数的输入值的的数量。 离散性 决决定输入值是是定义单一值值,还是定义义一个值范围围。 可选性 决决定参数在筛筛选或计算的的上下文中是是必需的,还还是可选的。 数据类型 为了与引用用的其他数据据项或常量匹匹配,在筛选选或计算的上上下文中期望望的数据类型型。数据类型型可以是 NNumeriic、Datte、Timme、Datte Timme、Inttervall、Striing

3、或 Membeer Uniique NName (MUN) 。 3.1.1 筛筛选表达式请考虑可选的筛筛选: Orderr numbber = ?pOrrderNuumber? 通过分析这个筛筛选,可以判判断出参数 pOrdeerNumbber 的一一些性质:基数:单一值 等号表明只能使使用单一值。 使用多个值需要要适当的操作作符,比如“in”: Order numbeer inn ?pOrrderNuumber?离散性:简单值值 等号表明了这一一点。 值的范围需要适适当的操作符符,比如“in_raange”: Order numbeer inn_rangge ?pOOrderNNumberr

4、?o 如果一个参数在在多个上下文文中使用,那那么对于是范范围值的参数数,所有引用用都必须是范范围值。 可选性:可选的的 这个筛选定义为为可选的,所所以参数也是是可选的。 参数也可以是必必需的。如果果一个参数在在多个上下文文中使用,那那么对于可选选的参数,所所有引用都必必须是可选的的。 数据类型:Nuumericc 这个参数是数字字,因为 OOrder numbeer 数据项项是数字。 现在,把参数的的特性应用于于引用它的提提示。这意味味着,提示控控件会体现参参数的一部分分特性,从而而让提示控件件与参数定义义保持兼容。如如果在创建的的提示页面中中引用参数,会会在运行时修修改提示定义义,以便与参参

5、数的基数、可可选性和离散散性匹配。数数据类型不匹匹配可能会导导致运行时错错误。如果没没有创建的提提示页面,那那么这些特性性应用于生成成的提示页面面上的提示。3.1.2 数数据项表达式式与通过宏表达式式定义的参数数不同,在数数据项表达式式中使用的参参数是必需的的。3.1.3 宏宏表达式在宏表达式中定定义的参数 1 可以是是可选的或必必需的,可以以是单一值或或多值。请考虑宏表达式式: #promppt ( pOrdderNummber , integger )# 基数:单一值 prompt() 宏函数数只接受单一一输入值。 可以用 proompt() 定义多个个值: #prompttmany (

6、ppOrderrNumbeer , inntegerr )#离散性:简单值值 提示宏总是简单单值,而不是是范围。 可选性:必需的的 没有默认值(这这个宏函数的的第三个可选选参数)表明明了这一点。 包含可选参数的的示例如下: #promptt ( pOrdeerNumbber , iintegeer , 5 )#3.2 提示调调节如何影响响性能?为了执行提示调调节,IBMM Cognnos 8 要检查查询询,判断有哪哪些参数及其其特性。查询询越大、越复复杂,这个过过程花费的时时间越长。在 IBM CCognoss 8.1 中,一个包包含 2000 多个查询询的客户报表表需要超过 40 秒才才能显

7、示出第第一个提示页页面。大多数数时间花费在在提示调节方方面。3.3 在 CCognoss 8.2 中如何改进进提示调节?在 IBM CCognoss 8.2 中通过三种种方式改进提提示调节: 更快的提示调节节 用于提示调节调调优的报表服服务器属性 用于提示调节调调优的查询属属性 3.4 IBMM Cognnos 8.2 中更快快的提示调节节首先,在 IBBM Coggnos 88.2 中提提示调节过程程已经得到优优化,大大提提高了速度。与与 IBM Cognoos 8.11 相比,这这个过程花费费的时间减少少了 75% 到 900%。例如,在 IBBM Coggnos 88.2 中客客户示例报

8、表表的提示调节节只花费了 5 秒,与与 IBM Cognoos 8.11 中的 440 多秒相相比降低了 80%。只需迁移到 IIBM Coognos 8.2,就就实现了 880% 的性性能改进。不不需要采取其其他措施。3.5 用于提提示调节调优优的报表服务务器属性IBM Coggnos 88.2 为整整个系统和具具体报表的提提示调节调优优提供了三个个相互关联的的选项。第一个选项是一一个针对整个个报表服务器器启用的报表表服务器高级级属性:RSSVP.PRROMPT.RECONNCILIAATION。这这个属性有几几个值:COMPLETTE - 在在显示第一个个提示页面之之前,调节所所有查询。这

9、这是默认设置置,用来确保保与以前版本本的兼容性。CHUNKEDD 分批调节节所有查询,直直到调节了第第一个提示页页面所需的参参数为止。以以不固定的次次序处理查询询。可以用高高级服务器属属性 RSVVP.PROOMPT.RRECONCCILIATTION.CCHUNKSSIZE 修修改 CHUUNK 大小小。默认的 CHUNKK 大小是 5 个查询询。GROUPEDD 按组调节节查询,直到到调节了第一一个提示页面面所需的参数数为止。这些些组如下: 筛选的报表查询询 筛选的提示查询询 未筛选的报表查查询 未筛选的提示查查询 按这些组的次序序处理查询,直直到调节了第第一个提示页页面中引用的的所有参数

10、为为止。常常只只需处理第一一个或前两个个组。但是,在在某些情况下下,需要处理理所有查询。例例如,如果在在提示查询中中的计算查询询项中引用参参数,就会发发生这种情况况。报表服务务器调节第一一个提示页面面的参数之后后,向用户显显示这个页面面。如果后续续提示页面引引用在已经处处理的查询中中没有的参数数,在显示这这些提示页面面之前,报表表服务器可能能需要调节更更多查询。CHUNKEDD GROUUPED 分批调节节查询组中的的查询,直到到调节了第一一个提示页面面所需的参数数为止。我们的客户场景景只包含一个个筛选的查询询,但是假设设报表中的所所有 2000 个查询都都使用相同的的参数进行筛筛选。GROO

11、UPED 会同时调节节这 2000 个查询,因因为所有查询询都属于筛选选的报表查询询组。CHUUNKED 每次调节 x 个查询询,x 是 CHUNKKED 大小小(默认值为为 5)。因因此对于 CCHUNKEED GROOUPED,将将调节 5 个查询。如如果找到了第第一个提示页页面所需的参参数,就显示示页面。如果果没有找到,就就处理后 55 个查询,直直到找到参数数为止。以我们的客户报报表为例,设设置 RSVVP.PROOMPT.RRECONCCILIATTION = GROUUPED 会会迫使提示调调节首先处理理包含筛选的的查询(我们们只有一个这这样的查询)。这导致客户示例例报表的提示示调

12、节在 IIBM Coognos 8.2 中中只需花费不不到 1 秒秒,与 IBBM Coggnos 88.1 中的的 40 多多秒相比性能能提高了 998%。只需设置一个高高级服务器属属性,就实现现了 98% 的性能改改进。不需要要采取其他措措施。坦白地说,这个个示例不太典典型,因为筛筛选的查询和和非筛选的查查询的比例高高于一般水平平。但是,这这个示例说明明 GROUUPED 调调节选项的优优点是只需要要处理所有查查询中的一部部分。关于如如何处理大量量的筛选查询询,请参见“用于提示调调节调优的查查询属性”。3.5.1 最最佳默认设置置是什么?如果使用 COOMPLETTE 之外的的其他设置,可

13、可能会导致运运行时错误,因因为相同的参参数可能在同同一报表中以以不同方式定定义两次或更更多次。假设报表中有一一个可选的筛筛选(比如 X in ?P1?)和和一个计算 Y + ?P1? 。筛选把 P1 定义为可选选的和多值的的。计算把 P1 定义为必需需的和单值的的。如果使用 COOMPLETTE 查询调调节,就会处处理所有查询询,而且使用用限制性最强强的定义修改改提示,这会会产生必需的的单值提示。如果使用 GRROUPEDD,就只处理理筛选的查询询,这允许使使用可选的多多值提示。如如果用户跳过过这个提示或或者选择多个个值,那么当当处理计算时时就会产生运运行时错误。说到这里要补充充一点,在使使用

14、高级调节节属性时,正正确使用参数数并解决这些些不匹配的参参数定义应该该是创建者的的责任。在使用 CHUUNKED GROUPPED 时,还还可能有两个个或更多筛选选以不同方式式定义同一个个参数。同样样,这也是在在创建报表时时计划和实现现不完善的表表现。出于性能考虑,CCHUNKEED GROOUPED 是推荐的设设置,因为它它允许只处理理部分查询组组。但是,应应该进行适当当的报表测试试,以确保不不会出现由于于报表创建者者使用参数的的方式不一致致所导致的运运行时错误。默默认的 CHHUNK 大大小 5 对对于大多数情情况已足够。3.6 用于提提示调节调优优的查询属性性对于某些报表,仅仅仅设置高级

15、级报表服务器器属性可能无无法实现良好好的性能,还还需要手动调调优。报表创创建者可以使使用新的 RReportt Studdio 查询询属性 Usse forr Paraameterr Infoo 决定提示示调节的执行行方式。这个个新属性只能能在高级报表表服务器属性性 RSVPP.PROMMPT.REECONCIILIATIION 设置置为 GROOUPED 或 CHUUNKED GROUPPED 时使使用。这个属性实际上上创建一个新新的查询处理理组,系统在在处理筛选的的报表查询之之前处理这个个组。新的处处理次序是: Use forr Paraameterr Infoo = Trrue 查询询

16、筛选的报表查询询 筛选的提示查询询 未筛选的报表查查询 未筛选的提示查查询 如果在第一个组组中找到了所所需的参数,就就不再处理其其他查询。这这个属性在两两个场景中很很有用。3.6.1 在在多个查询筛筛选中使用相相同的参数仍然以包含 2200 个查查询的示例报报表为例,假假设所有 2200 个查查询中的筛选选都引用相同同的参数。以以前必须处理理所有 2000 个查询询来调节参数数。实际上,只只需处理其中中任意一个查查询,就可以以收集到所需需的信息。报报表创建者可可以选择任何何查询,并设设置查询属性性 Use for PParameeter IInfo = Truee。系统只处处理这个查询询,就会

17、找到到所需的参数数并显示第一一个提示页面面,不必处理理其他查询。3.6.2 在在每个查询筛筛选中使用不不同的参数现在,考虑一个个完全不一样样(有点儿不不真实)的用用例。我们有有 200 个查询,每每个查询都引引用一个不同同的参数,在在第一个提示示页面中引用用所有 2000 个参数数。在这种情情况下,必须须处理所有查查询,这会导导致性能降低低(回到 55 秒水平)。有一个非常聪明明的办法:创创建者可以创创建一个定义义所有 2000 个参数数的查询。不不创建任何引引用这个新查查询的布局(即即,没有列表表、交叉表或或图表使用这这个查询)。只只在这个查询询上设置查询询属性 Usse forr Para

18、ameterr Infoo = Trrue。现在在,在运行报报表时,只处处理这一个查查询。因为在在布局中不引引用这个查询询,它不会实实际执行。这这样就解决了了第一个提示示页面的性能能问题,而且且不会有额外外的开销。包含 200 个查询而且且每个查询使使用不同的参参数这样的示示例有点儿极极端,但是如如果处理给定定的查询或查查询集造成了了性能问题,就就可以考虑使使用这种方法法。估计只有非常少少的报表需要要使用 Usse forr Paraameterr Infoo 查询属性性,因为 IIBM Coognos 8.2 本本身和使用 RSVP.PROMPPT.RECCONCILLIATIOON GRO

19、OUPED 产生的性能能改进能够解解决大多数性性能问题。3.6.3 提提供不利提示示要确保您选择的的查询提供所所需的所有参参数。如果在在没有定义所所有参数的查查询集上设置置 Use For PParameeter IInfo 查询提示(hhint),会会对性能产生生消极影响,因因为第一个请请求没有调节节所有参数,还还需要通过另另一个请求获获得其他参数数的参数特性性。3.7 SAPP 考虑事项项在有非层次化数数据源变量的的 SAP 环境中,变变量数量大而而且这些变量量具有许多可可能的值,这这会显著影响响性能。建议不要在这些些环境中使用用高级服务器器属性,但是是可以使用 Use For ppara

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

21、使用选项卡卡式的提示页页面。系统只只运行实际向向用户显示的的提示控件所所需的查询,不不运行不活跃跃的选项卡的的提示查询。附附录 A 讲讲解如何创建建选项卡式提提示界面。可以使用隐藏在在条件块中的的提示,这些些提示只在用用户已经响应应了一些提示示并重新提示示报表时显示示。同样,因因为系统只运运行实际向用用户显示的提提示控件所需需的查询,不不运行隐藏块块中的提示查查询。4.2 适当的的提示控件一些提示控件不不适合容纳大大量数据。例例如,包含 100,0000 个条条目的值提示示(选择列表表)性能会很很差,而且使使用很不方便便。对于这么么大量的数据据,更合适的的控件是 SSelectt & seea

22、rch 提示、Caascadiing 提示示或 Treee 提示,因因为它们在最最初显示时并并不装载整个个数据集。注意,如果创建建者非要使用用包含大量数数据的提示,那那么在默认情情况下数据会会在 50000 行处截截断,而且系系统并不给出出警告。可以以使用提示控控件的 Roows Peer Pagge 属性显显示更大的数数据集。4.3 缓存提提示查询在 IBM CCognoss 8.1 中,可以缓缓存提示查询询。如果提示示中的值不经经常变动(比比如每天一次次而不是随时时),而且提提示并不依靠靠另一个提示示的值筛选提提示查询,就就可以使用这这种技术。例例如,可以缓缓存父级联提提示的值,但但是不能

23、缓存存子(或孙)提提示,因为这这些后续提示示依靠父提示示的值执行查查询。使用作业执行提提示查询并缓缓存报表的值值。用适当的的调度计划(比比如每天或每每周)创建作作业,从而反反映提示值的的变动频率。在在作业中添加加需要刷新提提示查询的报报表之后,把把 Defaault RRun 选项项设置为 RRun thhe repport tto Reffresh the RReportt Cachhe(也可以以为每个报表表步骤设置这这个选项)。当作业运行时,它它只执行提示示查询并把结结果缓存在 Conteent Sttore 中中。如果在多多个位置有提提示,那么在在作业步骤中中设置这些位位置,就会缓缓存所

24、有位置置的提示值。当用户运行报表表时,获取缓缓存的查询值值;这一般会会提高性能。注意,无论是否否考虑性能因因素,这也是是减少对数据据库的查询数数量的好方法法,因为在用用户每次请求求运行报表时时不再需要执执行提示查询询了。4.4 并行地地运行提示查查询如果提示值是高高度动态的,缓缓存不是合适适的选项,那那么可以同时时执行多个提提示查询。在默认情况下,单单一报表中的的所有查询一一个接一个地地运行。可以以同时运行提提示查询或数数据查询。报表服务器使用用 helpper 的概概念管理可以以在报表服务务器中同时执执行的查询数数量。例如,把把 helpper 的数数量设置为 10 就意意味着整个报报表服务

25、器实实例可以同时时执行另外 10 个查查询。报表服务器高级级属性 RSSVP.COONCURRRENTQUUERY.NNUMHELLPERSPPERPROOCESS 用于设置服服务器中可用用的 hellper 数数量。默认值值是零。如果果不设置这个个属性,就无无法同时运行行查询。还必须使用报表表服务器高级级属性 RSSVP.COONCURRRENTQUUERY.MMAXNUMMHELPEERSPERRREPORRT 配置每每个报表可以以使用的 hhelperr 数量。默默认值是 11,即只允许许每个报表每每次执行一个个查询;必须须把它至少设设置为 2,才才能允许运行行并行查询。设置这两个选项项

26、之后,在默默认情况下只只对批执行运运行并行查询询。这是因为为在交互式执执行时,这可可能会导致运运行查询,但但是用户根本本不看它的结结果,因此不不必要地消耗耗了资源。假假设一个报表表有两个页面面,每个页面面有一个列表表。用户运行行这个报表;启用并行查查询,让这两两个列表查询询同时运行。用用户看了第一一个页面 / 列表,然然后关闭浏览览器。第二个个查询已经并并行地运行了了,但是未被被使用,这浪浪费了资源。稍稍后讨论如何何更好地处理理这种情况。要想为交互式执执行启用并行行查询,需要要把报表服务务器高级属性性 RSVPP.CONCCURRENNTQUERRY.ENAABLEDFFORINTTERACT

27、TIVEOUUTPUT 设置为 TTrue。在给定的报表中中,还必须使使用查询属性性 Execcutionn Methhod 决定定哪些查询可可以并行地运运行:图 1.查询属属性 Exeecutioon Metthod在提示查询上设设置这个属性性允许它们并并行地运行,这这常常会提高高性能。5 结束语IBM Coggnos 88.2 显著著改进了第一一个提示页面面的基本性能能,即使不进进行定制配置置,性能也很很好。还可以通过以下下措施进一步步提高提示性性能: 提示调节 明智的提示页面面设计 提示查询缓存 并行的查询执行行 为了进一步提高高提示性能,建建议在所有 IBM CCognoss 8.2

28、服务器上设设置 RSVVP.PROOMPT.RRECONCCILIATTION CCHUNKEED GROOUPED(还还应该进行适适当的报表测测试)。6 附录 A 选项卡式式提示页面注意:这份资料料最初是一份份单独的 PProvenn Praccticess 文档。这这里的内容与与原文档中相相同。6.1 更快的的选项卡式提提示页面这里的场景是,客客户希望向最最终用户提供供报表,在提提示页面中使使用选项卡式式用户界面而而不是一系列列提示页面。最最常用的提示示出现在第一一个选项卡中中,其他选项项卡显示不太太常用的提示示。图 2.选项卡卡式提示页面面我们见过的一些些应用程序示示例有多达 60 个提

29、提示,它们分分布在 6 到 8 个个选项卡上。有有两个问题会会影响这些报报表的性能。首首先,提示数数量大意味着着 Cognnos 8 在运行报表表之前必须分分析许多查询询。一般情况况下,这意味味着每个提示示有一个查询询,还要加上上报表查询本本身。这个问问题只能通过过减少报表中中使用的查询询数量来解决决,这超出了了本文的范围围。第二,原原来使用的 HTML/JavaSScriptt 技术的性性质决定了它它们的性能非非常差。生成成选项卡的标标准 HTMML/JavvaScriipt 技术术允许用户在在不访问服务务器的情况下下切换选项卡卡。这意味着着必须在显示示第一个选项项卡之前 填填充所有提示示(

30、多达 660 个)。因因为在默认情情况下查询是是串行运行的的,需要的提提示查询越多多,用户等待待的时间就越越长。6.2 解决方方案概述这个解决方案使使用条件块显显示提示。选选项卡本身仍仍然是用 HHTML 和和 JavaaScrippt 创建的的。使用条件件块的优点是是,系统知道道隐藏的块中中的提示是不不可见的,因因此不运行填填充它们所需需的查询。如如果用户切换换选项卡,提提示变得可见见并运行相关关联的查询。缺缺点是切换选选项卡需要向向服务器发出出请求。实现这种技术的的提示页面使使用条件块决决定显示哪些些提示。请想想像一系列重重叠的矩形,在在任何时候只只显示其中的的一个。图 3.条件块块显示提

31、示这些块在任何时时候只有其中中的一个是可可见的,但是是所有选项卡卡都是一直可可见的。当前选项卡的边边框和文本颜颜色设置为黑黑色,让它看看起来像在其其他选项卡前前面。非当前前的选项卡是是灰色的,让让它们不太突突出。图 4.选定选选项卡从某种程度上来来说,编写报报表相当简单单。我们将创创建一个条件件块以及与选选项卡数量相相同的块 在以上上示例中是 4 个。然然后,以表格格单元格的形形式创建基本本选项卡结构构(矩形),根根据需要设置置边框。用 HTML 和一些简单单的 JavvaScriipt 创建建选项卡中显显示的文本。当用户单击选项项卡(实际上上是单击选项项卡中的文本本)时,显示示相关联的条条件

32、块,修改改选项卡边框框和文本颜色色,显示相关关联的块。在后台,通过设设置一个参数数值指定显示示哪个选项卡卡,然后重新新提示报表。在在理想情况下下,我们使用用提示控件或或提示按钮设设置参数值并并重新提示。但但是,没有提提示控件或按按钮能够满足足要求。一个个提示可以设设置参数值并并重新提示(通通过自动提交交),但是无无法看起来像像文本。6.3 适用范范围这种技术应该适适用于 ReeportNNet 或 IBM CCognoss 8 的任任何版本。6.4 未记录录和不受支持持的功能正如下面详细讨讨论的,这个个解决方案需需要使用两个个在 IBMM Cognnos 8 中未记录和和不受支持的的功能。因此

33、此,在以后的的版本中对这这两个功能的的支持可能会会改变或完全全取消,从而而需要重写这这个解决方案案。但是,这这种风险很低低,因为目前前在这些方面面没有修改计计划。6.5 选项卡卡式提示报表表项目在我们的场景中中,第一个选选项卡让用户户选择 Orrder yyear(ss),第二个个选项卡让用用户选择 PProducct namme(s),以以便运行一个个非常简单的的列表报表。我们将从头到尾尾介绍创建示示例报表的整整个过程。为为方便起见,我我们只使用两两个选项卡,每每个选项卡上上各有一个提提示。6.5.1 创创建基本报表表打开 Repoort Sttudio 和 GO Saless and Re

34、taiilers 包。创建一个新的列列表报表: OrderssOrdeer yeaar OrderssProdduct nname OrderssReveenue 如图所示:图 5.创建基基本报表创建两个可选的的 详细信息息筛选: Order year in ?p_OrdderYeaar? Producct namme inn ?p_PProducctNamee? 这样就行了。这这就是将用来来演示这种技技术的基本报报表。6.5.2 创创建基本提示示页面尽管创建选项卡卡式提示用户户界面并不难难,但是过程程很长。大多多数时间花在在格式化方面面。实际功能能花费的时间间很少。首先我们需要一一个提示页面

35、面。在报表中添加一一个提示页面面:图 6.添加一一个提示页面面把一个一行两列列的表格拖到到提示页面体体中,如图所所示:图 7.把一个个一行两列的的表格拖到提提示页面体中中我们暂时不管这这个表格,但但是稍后要使使用它。6.5.3 创创建选项卡体体条件块最终包含含出现在每个个选项卡上的的提示。图 8.创建选选项卡体我们首先创建基基本的选项卡卡体结构并使使用一些文本本项,让我们们可以看出哪哪个选项卡是是当前的。把一个 Connditioonal BBlock 对象拖到页页面体中:图 9.把一个个 Condditionnal Bllock 对对象拖到页面面体中选择条件块对象象然后选择 Blockk V

36、ariiable 属性。创建一个 ,像像这样: Name: TTabToSShow Values: Tab22 Expresssion: ParammValuee(pTaabToShhow) 变量名 TabbToShoow、值 TTab2 和和参数 pTTabToSShow 很很重要,这个个项目要多次次引用它们。选择好块之后,把把 Currrent BBlock 属性设置为为 Otheer。把一个文本项 Tab 1 拖到块中,像像这样:图 10.把一一个文本项 Tab 1 拖到块中这个文本用于提提醒我们哪个个选项卡是当当前正在查看看的。选择块,把 CCurrennt Bloock 属性性设置为

37、 TTab2。 Tab 11 文本项会从从块中消失。把文本项 TTab 2 拖到块中,像像这样:图 11.把文文本项 Tab 2 拖到块中同样,这个文本本用于提醒我我们哪个选项项卡是当前正正在查看的。选择块,在 OOther 和 Tabb2 之间来来回变换 CCurrennt Bloock 属性性值,应该可可以看到 RReportt Studdio 中的的选项卡随之之切换。6.5.4 创创建选项卡正如前面所说的的,我们要使使用 HTMML 项和一一些未记录和和不受支持的的功能实现选选项卡。首先要做的是,使使用 Repport VViewerr 将参数值值传递给服务务器。作为表表单变量传递递参数

38、值,表表单变量的名名称是参数名名(比如 ppTabTooShow)前前面加上 pp_,比如 p_pTaabToShhow。这种参数传递机机制是未记录录和不受支持持的。请注意意本文前面的的说明。我们使用一个 HTML 对象创建这这个表单变量量。把一个 HTMML 项目拖拖到 Pagge Heaader 中中,像这样:图 12.把一一个 HTMML 项目拖拖到 Pagge Heaader 中中这个项的位置无无所谓,因为为它不向用户户显示。选择 HTMLL 项并把 HTML 属性设置为为: 这行 HTMLL 代码创建建表单变量 p_pTaabToShhow 并将将值设置为 Tab1。这个表单变量让让

39、服务器认为为报表中已经经定义了名为为 pTabbToShoow 的参数数,所以服务务器会保留它它的值并在重重新提示报表表时把它传递递回 Repport VViewerr。现在,回到前面面在该示例中中添加的表格格。尽管目前还看不不出来,但是是这个表格中中的两个单元元格将变成用用户可以单击击的选项卡。图 13.单击击的选项卡出现在选项卡上上的文本项将将是 HTMML 项。在每个表格单元元格中添加一一个 HTMML 项,让让它们在单元元格中居中:图 13.在每每个表格单元元格中添加一一个 HTMML 项选择左边的 HHTML 项项并把 HTTML 属性性设置为: Shhow Taab 1 这段 Ja

40、vaaScrippt 创建一一个按钮: 按钮标题(工具具提示文本) Showw Tab 1 操作: o 将表单变量 pp_pTabbToShoow 设置为为 Tab11 o 运行函数 reepromppt 按钮标签 Show Tab 11 换句话说,当用用户按这个按按钮时,它会会设置表单变变量并重新提提示报表。注意,reprrompt 函数是未记记录和不受支支持的。请注注意本文前面面的说明。选择右边的 HHTML 项项并把 HTTML 属性性设置为: Shhow Taab 2 运行报表:图 15.运行行报表可以通过单击按按钮在选项卡卡之间切换,显显示相应的文文本。图 16.切换换选项卡核心选项

41、卡功能能现在完成了了。剩下的工工作都是装饰饰性的;这个个用户界面是是有效的,但但是看起来不不像选项卡式式用户界面。另另外,还要把把提示放到选选项卡上。返回到 Repport SStudioo。6.5.5 设设置选项卡的的样式我们要用边框、对对齐和其他样样式改变 HHTML 按按钮和块的外外观,让它们们看起来像选选项卡。首先,处理 HHTML 按按钮。选择父表格,在在 Tablle Proopertiies 属性性中选择 FFixed Size。仍然选择表格,选选择 Sizze andd Overrflow 属性并删除除当前的宽度度设置。选择每个表格单单元格并把宽宽度都设置为为 100 pixe

42、lls (pxx)。在实际的报表中中,必须调整整宽度,让宽宽度与每个选选项卡中的文文本匹配。请请记住,为了了让选项卡更更美观,所有有选项卡常常常采用相同的的宽度。现在,表格单元元格和 HTTML 按钮钮有点儿像选选项卡了:图 17.设置置选项卡的样样式现在,需要重新新设置 HTTML 按钮钮的样式,让让它们只显示示文本。选择 HTMLL 对象之一一,会看到没没有样式属性性:图 18. 重重新设置 HHTML 按按钮的样式在 IBM CCognoss 8 中,可可以在报表中中定义样式并并把它们应用用于报表对象象。同样,也也可以把这些些样式应用于于 HTMLL 对象。6.5.6 IIBM Coog

43、nos 8 按钮样样式在 IBM CCognoss 8 中,可可以定义一个个类,然后在在 HTMLL 按钮定义义中引用它。使用 Pagee Expllorer 打开 Cllassess。把一个 Claass 对象象从工具箱拖拖到 Loccal Cllassess 区域:选择这个新的类类对象并设置置属性: Name: HHTMLBuuttonss Border: Nonee Box Typpe: Bllock Backgroound CColor: Whitte Class oor Sellectorr: HB 返回到提示页面面。Class/SSelecttor 属性性是在把样式式应用于 HHT

44、ML 项项时使用的标标识符。选择左边 Taab 1 的的 HTMLL 对象并把把 HTMLL 属性改为为: buttoon tittle=SShow TTab 1 onclickk=doccumentt.formmWarpRRequesst.eleementssp_ppTabTooShow.vallue= Tab1;SetPrommptConntrol(reprrompt) cllass=HBShhow Taab 1 选择右边 Taab 2 的的 HTMLL 对象并把把 HTMLL 属性改为为: SShow TTab 2 6.5.7 RReporttNet 按按钮样式在 ReporrtNet 和 IBMM Cognnos 8 中都可以使使用这种方法法。我们使用 HTTML 样式式属性在 HHTML 按按钮定义中直直接应用样式式,而不是引引用在报表级级定义的通用用样式定义。选择左边的 HHTML 对对象并把 HHTML 属属性改为: buttoon tittle=SShow TTab 1 o

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

当前位置:首页 > 管理文献 > 电力管理

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

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