IBM Cognos BI 最佳實踐-報表設(shè)計高級提示和提示性能調(diào)優(yōu)_第1頁
IBM Cognos BI 最佳實踐-報表設(shè)計高級提示和提示性能調(diào)優(yōu)_第2頁
IBM Cognos BI 最佳實踐-報表設(shè)計高級提示和提示性能調(diào)優(yōu)_第3頁
IBM Cognos BI 最佳實踐-報表設(shè)計高級提示和提示性能調(diào)優(yōu)_第4頁
IBM Cognos BI 最佳實踐-報表設(shè)計高級提示和提示性能調(diào)優(yōu)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、IBM Cognos BI 最佳實踐: 報表設(shè)計高級提示和提示性能調(diào)優(yōu)1 簡介1.1 目的本文檔旨在向報報表創(chuàng)建者展展示如何處理理第一個提示示頁面性能低低下的問題。1.2 適用范范圍這里的信息只適適用于 IBBM Coggnos 88.2 BII。2 第一個提示示頁面的性能能當(dāng)用戶運(yùn)行包含含多個復(fù)雜查查詢的報表時時,常常需要要等待很長時時間才會看到到第一個提示示頁面出現(xiàn)。例例如,在一個個客戶場景中中,報表用了了 40 秒秒才顯示出第第一個提示頁頁面。可以通過兩方面面的努力改進(jìn)進(jìn)第一個提示示頁面的性能能:減少提示調(diào)節(jié)(ppromptt recoonciliiationn)的時間 減少為提示控件件

2、獲取數(shù)據(jù)的的時間 3 提示調(diào)節(jié)3.1 什么是是提示調(diào)節(jié)?提示調(diào)節(jié)確保參參數(shù)定義與參參數(shù)的用法匹匹配。在篩選選和計算中定定義參數(shù)。在在提示中使用用定義好的參參數(shù)。參數(shù)定義包含幾幾個關(guān)鍵項:基數(shù) 可以以提供給參數(shù)數(shù)的輸入值的的數(shù)量。 離散性 決決定輸入值是是定義單一值值,還是定義義一個值范圍圍。 可選性 決決定參數(shù)在篩篩選或計算的的上下文中是是必需的,還還是可選的。 數(shù)據(jù)類型 為了與引用用的其他數(shù)據(jù)據(jù)項或常量匹匹配,在篩選選或計算的上上下文中期望望的數(shù)據(jù)類型型。數(shù)據(jù)類型型可以是 NNumeriic、Datte、Timme、Datte Timme、Inttervall、Striing 或 Membe

3、er Uniique NName (MUN) 。 3.1.1 篩篩選表達(dá)式請考慮可選的篩篩選: Orderr numbber = ?pOrrderNuumber? 通過分析這個篩篩選,可以判判斷出參數(shù) pOrdeerNumbber 的一一些性質(zhì):基數(shù):單一值等號表明只能使使用單一值。 使用多個值需要要適當(dāng)?shù)牟僮髯鞣热纭癷n”: Order numbeer inn ?pOrrderNuumber?離散性:簡單值值等號表明了這一一點。 值的范圍需要適適當(dāng)?shù)牟僮鞣热纭癷n_raange”: Order numbeer inn_rangge ?pOOrderNNumberr?如果一個參數(shù)在在

4、多個上下文文中使用,那那么對于是范范圍值的參數(shù)數(shù),所有引用用都必須是范范圍值。 可選性:可選的的這個篩選定義為為可選的,所所以參數(shù)也是是可選的。 參數(shù)也可以是必必需的。如果果一個參數(shù)在在多個上下文文中使用,那那么對于可選選的參數(shù),所所有引用都必必須是可選的的。 數(shù)據(jù)類型:Nuumericc這個參數(shù)是數(shù)字字,因為 OOrder numbeer 數(shù)據(jù)項項是數(shù)字。 現(xiàn)在,把參數(shù)的的特性應(yīng)用于于引用它的提提示。這意味味著,提示控控件會體現(xiàn)參參數(shù)的一部分分特性,從而而讓提示控件件與參數(shù)定義義保持兼容。如如果在創(chuàng)建的的提示頁面中中引用參數(shù),會會在運(yùn)行時修修改提示定義義,以便與參參數(shù)的基數(shù)、可可選性和離散散

5、性匹配。數(shù)數(shù)據(jù)類型不匹匹配可能會導(dǎo)導(dǎo)致運(yùn)行時錯錯誤。如果沒沒有創(chuàng)建的提提示頁面,那那么這些特性性應(yīng)用于生成成的提示頁面面上的提示。3.1.2 數(shù)數(shù)據(jù)項表達(dá)式式與通過宏表達(dá)式式定義的參數(shù)數(shù)不同,在數(shù)數(shù)據(jù)項表達(dá)式式中使用的參參數(shù)是必需的的。3.1.3 宏宏表達(dá)式在宏表達(dá)式中定定義的參數(shù) 1 可以是是可選的或必必需的,可以以是單一值或或多值。請考慮宏表達(dá)式式: #promppt ( pOrdderNummber , integger )# 基數(shù):單一值prompt() 宏函數(shù)數(shù)只接受單一一輸入值。 可以用 proompt() 定義多個個值: #prompttmany ( ppOrderrNumbee

6、r , inntegerr )#離散性:簡單值值提示宏總是簡單單值,而不是是范圍。 可選性:必需的的沒有默認(rèn)值(這這個宏函數(shù)的的第三個可選選參數(shù))表明明了這一點。 包含可選參數(shù)的的示例如下: #promptt ( pOrdeerNumbber , iintegeer , 5 )#3.2 提示調(diào)調(diào)節(jié)如何影響響性能?為了執(zhí)行提示調(diào)調(diào)節(jié),IBMM Cognnos 8 要檢查查詢詢,判斷有哪哪些參數(shù)及其其特性。查詢詢越大、越復(fù)復(fù)雜,這個過過程花費(fèi)的時時間越長。在 IBM CCognoss 8.1 中,一個包包含 2000 多個查詢詢的客戶報表表需要超過 40 秒才才能顯示出第第一個提示頁頁面。大多數(shù)數(shù)

7、時間花費(fèi)在在提示調(diào)節(jié)方方面。3.3 在 CCognoss 8.2 中如何改進(jìn)進(jìn)提示調(diào)節(jié)?在 IBM CCognoss 8.2 中通過三種種方式改進(jìn)提提示調(diào)節(jié):更快的提示調(diào)節(jié)節(jié) 用于提示調(diào)節(jié)調(diào)調(diào)優(yōu)的報表服服務(wù)器屬性 用于提示調(diào)節(jié)調(diào)調(diào)優(yōu)的查詢屬屬性 3.4 IBMM Cognnos 8.2 中更快快的提示調(diào)節(jié)節(jié)首先,在 IBBM Coggnos 88.2 中提提示調(diào)節(jié)過程程已經(jīng)得到優(yōu)優(yōu)化,大大提提高了速度。與與 IBM Cognoos 8.11 相比,這這個過程花費(fèi)費(fèi)的時間減少少了 75% 到 900%。例如,在 IBBM Coggnos 88.2 中客客戶示例報表表的提示調(diào)節(jié)節(jié)只花費(fèi)了 5 秒,

8、與與 IBM Cognoos 8.11 中的 440 多秒相相比降低了 80%。只需遷移到 IIBM Coognos 8.2,就就實現(xiàn)了 880% 的性性能改進(jìn)。不不需要采取其其他措施。3.5 用于提提示調(diào)節(jié)調(diào)優(yōu)優(yōu)的報表服務(wù)務(wù)器屬性IBM Coggnos 88.2 為整整個系統(tǒng)和具具體報表的提提示調(diào)節(jié)調(diào)優(yōu)優(yōu)提供了三個個相互關(guān)聯(lián)的的選項。第一個選項是一一個針對整個個報表服務(wù)器器啟用的報表表服務(wù)器高級級屬性:RSSVP.PRROMPT.RECONNCILIAATION。這這個屬性有幾幾個值:COMPLETTE - 在在顯示第一個個提示頁面之之前,調(diào)節(jié)所所有查詢。這這是默認(rèn)設(shè)置置,用來確保保與以前版

9、本本的兼容性。CHUNKEDD 分批調(diào)節(jié)節(jié)所有查詢,直直到調(diào)節(jié)了第第一個提示頁頁面所需的參參數(shù)為止。以以不固定的次次序處理查詢詢。可以用高高級服務(wù)器屬屬性 RSVVP.PROOMPT.RRECONCCILIATTION.CCHUNKSSIZE 修修改 CHUUNK 大小小。默認(rèn)的 CHUNKK 大小是 5 個查詢詢。GROUPEDD 按組調(diào)節(jié)節(jié)查詢,直到到調(diào)節(jié)了第一一個提示頁面面所需的參數(shù)數(shù)為止。這些些組如下:篩選的報表查詢詢 篩選的提示查詢詢 未篩選的報表查查詢 未篩選的提示查查詢 按這些組的次序序處理查詢,直直到調(diào)節(jié)了第第一個提示頁頁面中引用的的所有參數(shù)為為止。常常只只需處理第一一個或前兩

10、個個組。但是,在在某些情況下下,需要處理理所有查詢。例例如,如果在在提示查詢中中的計算查詢詢項中引用參參數(shù),就會發(fā)發(fā)生這種情況況。報表服務(wù)務(wù)器調(diào)節(jié)第一一個提示頁面面的參數(shù)之后后,向用戶顯顯示這個頁面面。如果后續(xù)續(xù)提示頁面引引用在已經(jīng)處處理的查詢中中沒有的參數(shù)數(shù),在顯示這這些提示頁面面之前,報表表服務(wù)器可能能需要調(diào)節(jié)更更多查詢。CHUNKEDD GROUUPED 分批調(diào)節(jié)節(jié)查詢組中的的查詢,直到到調(diào)節(jié)了第一一個提示頁面面所需的參數(shù)數(shù)為止。我們的客戶場景景只包含一個個篩選的查詢詢,但是假設(shè)設(shè)報表中的所所有 2000 個查詢都都使用相同的的參數(shù)進(jìn)行篩篩選。GROOUPED 會同時調(diào)節(jié)節(jié)這 2000

11、個查詢,因因為所有查詢詢都屬于篩選選的報表查詢詢組。CHUUNKED 每次調(diào)節(jié) x 個查詢詢,x 是 CHUNKKED 大小小(默認(rèn)值為為 5)。因因此對于 CCHUNKEED GROOUPED,將將調(diào)節(jié) 5 個查詢。如如果找到了第第一個提示頁頁面所需的參參數(shù),就顯示示頁面。如果果沒有找到,就就處理后 55 個查詢,直直到找到參數(shù)數(shù)為止。以我們的客戶報報表為例,設(shè)設(shè)置 RSVVP.PROOMPT.RRECONCCILIATTION = GROUUPED 會會迫使提示調(diào)調(diào)節(jié)首先處理理包含篩選的的查詢(我們們只有一個這這樣的查詢)。這導(dǎo)致客戶示例例報表的提示示調(diào)節(jié)在 IIBM Coognos 8.

12、2 中中只需花費(fèi)不不到 1 秒秒,與 IBBM Coggnos 88.1 中的的 40 多多秒相比性能能提高了 998%。只需設(shè)置一個高高級服務(wù)器屬屬性,就實現(xiàn)現(xiàn)了 98% 的性能改改進(jìn)。不需要要采取其他措措施。坦白地說,這個個示例不太典典型,因為篩篩選的查詢和和非篩選的查查詢的比例高高于一般水平平。但是,這這個示例說明明 GROUUPED 調(diào)調(diào)節(jié)選項的優(yōu)優(yōu)點是只需要要處理所有查查詢中的一部部分。關(guān)于如如何處理大量量的篩選查詢詢,請參見“用于提示調(diào)調(diào)節(jié)調(diào)優(yōu)的查查詢屬性”。3.5.1 最最佳默認(rèn)設(shè)置置是什么?如果使用 COOMPLETTE 之外的的其他設(shè)置,可可能會導(dǎo)致運(yùn)運(yùn)行時錯誤,因因為相同的

13、參參數(shù)可能在同同一報表中以以不同方式定定義兩次或更更多次。假設(shè)報表中有一一個可選的篩篩選(比如 X in ?P1?)和和一個計算 Y + ?P1? 。篩選把 P1 定義為可選選的和多值的的。計算把 P1 定義為必需需的和單值的的。如果使用 COOMPLETTE 查詢調(diào)調(diào)節(jié),就會處處理所有查詢詢,而且使用用限制性最強(qiáng)強(qiáng)的定義修改改提示,這會會產(chǎn)生必需的的單值提示。如果使用 GRROUPEDD,就只處理理篩選的查詢詢,這允許使使用可選的多多值提示。如如果用戶跳過過這個提示或或者選擇多個個值,那么當(dāng)當(dāng)處理計算時時就會產(chǎn)生運(yùn)運(yùn)行時錯誤。說到這里要補(bǔ)充充一點,在使使用高級調(diào)節(jié)節(jié)屬性時,正正確使用參數(shù)數(shù)并

14、解決這些些不匹配的參參數(shù)定義應(yīng)該該是創(chuàng)建者的的責(zé)任。在使用 CHUUNKED GROUPPED 時,還還可能有兩個個或更多篩選選以不同方式式定義同一個個參數(shù)。同樣樣,這也是在在創(chuàng)建報表時時計劃和實現(xiàn)現(xiàn)不完善的表表現(xiàn)。出于性能考慮,CCHUNKEED GROOUPED 是推薦的設(shè)設(shè)置,因為它它允許只處理理部分查詢組組。但是,應(yīng)應(yīng)該進(jìn)行適當(dāng)當(dāng)?shù)膱蟊頊y試試,以確保不不會出現(xiàn)由于于報表創(chuàng)建者者使用參數(shù)的的方式不一致致所導(dǎo)致的運(yùn)運(yùn)行時錯誤。默默認(rèn)的 CHHUNK 大大小 5 對對于大多數(shù)情情況已足夠。3.6 用于提提示調(diào)節(jié)調(diào)優(yōu)優(yōu)的查詢屬性性對于某些報表,僅僅僅設(shè)置高級級報表服務(wù)器器屬性可能無無法實現(xiàn)良好

15、好的性能,還還需要手動調(diào)調(diào)優(yōu)。報表創(chuàng)創(chuàng)建者可以使使用新的 RReportt Studdio 查詢詢屬性 Usse forr Paraameterr Infoo 決定提示示調(diào)節(jié)的執(zhí)行行方式。這個個新屬性只能能在高級報表表服務(wù)器屬性性 RSVPP.PROMMPT.REECONCIILIATIION 設(shè)置置為 GROOUPED 或 CHUUNKED GROUPPED 時使使用。這個屬性實際上上創(chuàng)建一個新新的查詢處理理組,系統(tǒng)在在處理篩選的的報表查詢之之前處理這個個組。新的處處理次序是:Use forr Paraameterr Infoo = Trrue 查詢詢 篩選的報表查詢詢 篩選的提示查詢詢 未

16、篩選的報表查查詢 未篩選的提示查查詢 如果在第一個組組中找到了所所需的參數(shù),就就不再處理其其他查詢。這這個屬性在兩兩個場景中很很有用。3.6.1 在在多個查詢篩篩選中使用相相同的參數(shù)仍然以包含 2200 個查查詢的示例報報表為例,假假設(shè)所有 2200 個查查詢中的篩選選都引用相同同的參數(shù)。以以前必須處理理所有 2000 個查詢詢來調(diào)節(jié)參數(shù)數(shù)。實際上,只只需處理其中中任意一個查查詢,就可以以收集到所需需的信息。報報表創(chuàng)建者可可以選擇任何何查詢,并設(shè)設(shè)置查詢屬性性 Use for PParameeter IInfo = Truee。系統(tǒng)只處處理這個查詢詢,就會找到到所需的參數(shù)數(shù)并顯示第一一個提示頁

17、面面,不必處理理其他查詢。3.6.2 在在每個查詢篩篩選中使用不不同的參數(shù)現(xiàn)在,考慮一個個完全不一樣樣(有點兒不不真實)的用用例。我們有有 200 個查詢,每每個查詢都引引用一個不同同的參數(shù),在在第一個提示示頁面中引用用所有 2000 個參數(shù)數(shù)。在這種情情況下,必須須處理所有查查詢,這會導(dǎo)導(dǎo)致性能降低低(回到 55 秒水平)。有一個非常聰明明的辦法:創(chuàng)創(chuàng)建者可以創(chuàng)創(chuàng)建一個定義義所有 2000 個參數(shù)數(shù)的查詢。不不創(chuàng)建任何引引用這個新查查詢的布局(即即,沒有列表表、交叉表或或圖表使用這這個查詢)。只只在這個查詢詢上設(shè)置查詢詢屬性 Usse forr Paraameterr Infoo = Trr

18、ue。現(xiàn)在在,在運(yùn)行報報表時,只處處理這一個查查詢。因為在在布局中不引引用這個查詢詢,它不會實實際執(zhí)行。這這樣就解決了了第一個提示示頁面的性能能問題,而且且不會有額外外的開銷。包含 200 個查詢而且且每個查詢使使用不同的參參數(shù)這樣的示示例有點兒極極端,但是如如果處理給定定的查詢或查查詢集造成了了性能問題,就就可以考慮使使用這種方法法。估計只有非常少少的報表需要要使用 Usse forr Paraameterr Infoo 查詢屬性性,因為 IIBM Coognos 8.2 本本身和使用 RSVP.PROMPPT.RECCONCILLIATIOON GROOUPED 產(chǎn)生的性能能改進(jìn)能夠解解決

19、大多數(shù)性性能問題。3.6.3 提提供不利提示示要確保您選擇的的查詢提供所所需的所有參參數(shù)。如果在在沒有定義所所有參數(shù)的查查詢集上設(shè)置置 Use For PParameeter IInfo 查詢提示(hhint),會會對性能產(chǎn)生生消極影響,因因為第一個請請求沒有調(diào)節(jié)節(jié)所有參數(shù),還還需要通過另另一個請求獲獲得其他參數(shù)數(shù)的參數(shù)特性性。3.7 SAPP 考慮事項項在有非層次化數(shù)數(shù)據(jù)源變量的的 SAP 環(huán)境中,變變量數(shù)量大而而且這些變量量具有許多可可能的值,這這會顯著影響響性能。建議不要在這些些環(huán)境中使用用高級服務(wù)器器屬性,但是是可以使用 Use For pparameeter IInfo 查詢提示改改

20、進(jìn)性能。4 提示查詢性性能提示查詢用于填填充提示控件件。在運(yùn)行完完提示查詢之之前,無法顯顯示提示頁面面。在默認(rèn)情情況下,這些些查詢在每次次向用戶顯示示提示頁面時時運(yùn)行一次。在改進(jìn)提示查詢詢性能時,要要關(guān)注三個方方面:查詢的數(shù)量 避免重復(fù)運(yùn)行提提示查詢 并行地運(yùn)行提示示查詢 4.1 查詢的的數(shù)量查詢數(shù)量越大,處處理提示頁面面花費(fèi)的時間間越長。盡管管下面討論的的機(jī)制可以減減少所需的時時間,但是有有時候第一個個提示頁面包包含的提示查查詢太多,必必須處理它們們才能顯示提提示頁面。可以把提示分割割為兩個或更更多頁面。這這樣每個提示示頁面包含的的查詢就比較較少了。可以使用選項卡卡式的提示頁頁面。系統(tǒng)只只運(yùn)

21、行實際向向用戶顯示的的提示控件所所需的查詢,不不運(yùn)行不活躍躍的選項卡的的提示查詢。附附錄 A 講講解如何創(chuàng)建建選項卡式提提示界面。可以使用隱藏在在條件塊中的的提示,這些些提示只在用用戶已經(jīng)響應(yīng)應(yīng)了一些提示示并重新提示示報表時顯示示。同樣,因因為系統(tǒng)只運(yùn)運(yùn)行實際向用用戶顯示的提提示控件所需需的查詢,不不運(yùn)行隱藏塊塊中的提示查查詢。4.2 適當(dāng)?shù)牡奶崾究丶恍┨崾究丶徊贿m合容納大大量數(shù)據(jù)。例例如,包含 100,0000 個條條目的值提示示(選擇列表表)性能會很很差,而且使使用很不方便便。對于這么么大量的數(shù)據(jù)據(jù),更合適的的控件是 SSelectt & seearch 提示、Caascadiing

22、提示示或 Treee 提示,因因為它們在最最初顯示時并并不裝載整個個數(shù)據(jù)集。注意,如果創(chuàng)建建者非要使用用包含大量數(shù)數(shù)據(jù)的提示,那那么在默認(rèn)情情況下數(shù)據(jù)會會在 50000 行處截截斷,而且系系統(tǒng)并不給出出警告。可以以使用提示控控件的 Roows Peer Pagge 屬性顯顯示更大的數(shù)數(shù)據(jù)集。4.3 緩存提提示查詢在 IBM CCognoss 8.1 中,可以緩緩存提示查詢詢。如果提示示中的值不經(jīng)經(jīng)常變動(比比如每天一次次而不是隨時時),而且提提示并不依靠靠另一個提示示的值篩選提提示查詢,就就可以使用這這種技術(shù)。例例如,可以緩緩存父級聯(lián)提提示的值,但但是不能緩存存子(或?qū)O)提提示,因為這這些后續(xù)

23、提示示依靠父提示示的值執(zhí)行查查詢。使用作業(yè)執(zhí)行提提示查詢并緩緩存報表的值值。用適當(dāng)?shù)牡恼{(diào)度計劃(比比如每天或每每周)創(chuàng)建作作業(yè),從而反反映提示值的的變動頻率。在在作業(yè)中添加加需要刷新提提示查詢的報報表之后,把把 Defaault RRun 選項項設(shè)置為 RRun thhe repport tto Reffresh the RReportt Cachhe(也可以以為每個報表表步驟設(shè)置這這個選項)。當(dāng)作業(yè)運(yùn)行時,它它只執(zhí)行提示示查詢并把結(jié)結(jié)果緩存在 Conteent Sttore 中中。如果在多多個位置有提提示,那么在在作業(yè)步驟中中設(shè)置這些位位置,就會緩緩存所有位置置的提示值。當(dāng)用戶運(yùn)行報表表時,

24、獲取緩緩存的查詢值值;這一般會會提高性能。注意,無論是否否考慮性能因因素,這也是是減少對數(shù)據(jù)據(jù)庫的查詢數(shù)數(shù)量的好方法法,因為在用用戶每次請求求運(yùn)行報表時時不再需要執(zhí)執(zhí)行提示查詢詢了。4.4 并行地地運(yùn)行提示查查詢?nèi)绻崾局凳歉吒叨葎討B(tài)的,緩緩存不是合適適的選項,那那么可以同時時執(zhí)行多個提提示查詢。在默認(rèn)情況下,單單一報表中的的所有查詢一一個接一個地地運(yùn)行。可以以同時運(yùn)行提提示查詢或數(shù)數(shù)據(jù)查詢。報表服務(wù)器使用用 helpper 的概概念管理可以以在報表服務(wù)務(wù)器中同時執(zhí)執(zhí)行的查詢數(shù)數(shù)量。例如,把把 helpper 的數(shù)數(shù)量設(shè)置為 10 就意意味著整個報報表服務(wù)器實實例可以同時時執(zhí)行另外 10 個查

25、查詢。報表服務(wù)器高級級屬性 RSSVP.COONCURRRENTQUUERY.NNUMHELLPERSPPERPROOCESS 用于設(shè)置服服務(wù)器中可用用的 hellper 數(shù)數(shù)量。默認(rèn)值值是零。如果果不設(shè)置這個個屬性,就無無法同時運(yùn)行行查詢。還必須使用報表表服務(wù)器高級級屬性 RSSVP.COONCURRRENTQUUERY.MMAXNUMMHELPEERSPERRREPORRT 配置每每個報表可以以使用的 hhelperr 數(shù)量。默默認(rèn)值是 11,即只允許許每個報表每每次執(zhí)行一個個查詢;必須須把它至少設(shè)設(shè)置為 2,才才能允許運(yùn)行行并行查詢。設(shè)置這兩個選項項之后,在默默認(rèn)情況下只只對批執(zhí)行運(yùn)運(yùn)行

26、并行查詢詢。這是因為為在交互式執(zhí)執(zhí)行時,這可可能會導(dǎo)致運(yùn)運(yùn)行查詢,但但是用戶根本本不看它的結(jié)結(jié)果,因此不不必要地消耗耗了資源。假假設(shè)一個報表表有兩個頁面面,每個頁面面有一個列表表。用戶運(yùn)行行這個報表;啟用并行查查詢,讓這兩兩個列表查詢詢同時運(yùn)行。用用戶看了第一一個頁面 / 列表,然然后關(guān)閉瀏覽覽器。第二個個查詢已經(jīng)并并行地運(yùn)行了了,但是未被被使用,這浪浪費(fèi)了資源。稍稍后討論如何何更好地處理理這種情況。要想為交互式執(zhí)執(zhí)行啟用并行行查詢,需要要把報表服務(wù)務(wù)器高級屬性性 RSVPP.CONCCURRENNTQUERRY.ENAABLEDFFORINTTERACTTIVEOUUTPUT 設(shè)置為 TTr

27、ue。在給定的報表中中,還必須使使用查詢屬性性 Execcutionn Methhod 決定定哪些查詢可可以并行地運(yùn)運(yùn)行:圖 1.查詢屬屬性 Exeecutioon Metthod在提示查詢上設(shè)設(shè)置這個屬性性允許它們并并行地運(yùn)行,這這常常會提高高性能。5 結(jié)束語IBM Coggnos 88.2 顯著著改進(jìn)了第一一個提示頁面面的基本性能能,即使不進(jìn)進(jìn)行定制配置置,性能也很很好。還可以通過以下下措施進(jìn)一步步提高提示性性能:提示調(diào)節(jié) 明智的提示頁面面設(shè)計 提示查詢緩存 并行的查詢執(zhí)行行 為了進(jìn)一步提高高提示性能,建建議在所有 IBM CCognoss 8.2 服務(wù)器上設(shè)設(shè)置 RSVVP.PROOMP

28、T.RRECONCCILIATTION CCHUNKEED GROOUPED(還還應(yīng)該進(jìn)行適適當(dāng)?shù)膱蟊頊y測試)。6 附錄 A 選項卡式式提示頁面注意:這份資料料最初是一份份單獨(dú)的 PProvenn Praccticess 文檔。這這里的內(nèi)容與與原文檔中相相同。6.1 更快的的選項卡式提提示頁面這里的場景是,客客戶希望向最最終用戶提供供報表,在提提示頁面中使使用選項卡式式用戶界面而而不是一系列列提示頁面。最最常用的提示示出現(xiàn)在第一一個選項卡中中,其他選項項卡顯示不太太常用的提示示。圖 2.選項卡卡式提示頁面面我們見過的一些些應(yīng)用程序示示例有多達(dá) 60 個提提示,它們分分布在 6 到 8 個個選項

29、卡上。有有兩個問題會會影響這些報報表的性能。首首先,提示數(shù)數(shù)量大意味著著 Cognnos 8 在運(yùn)行報表表之前必須分分析許多查詢詢。一般情況況下,這意味味著每個提示示有一個查詢詢,還要加上上報表查詢本本身。這個問問題只能通過過減少報表中中使用的查詢詢數(shù)量來解決決,這超出了了本文的范圍圍。第二,原原來使用的 HTML/JavaSScriptt 技術(shù)的性性質(zhì)決定了它它們的性能非非常差。生成成選項卡的標(biāo)標(biāo)準(zhǔn) HTMML/JavvaScriipt 技術(shù)術(shù)允許用戶在在不訪問服務(wù)務(wù)器的情況下下切換選項卡卡。這意味著著必須在顯示示第一個選項項卡之前 填填充所有提示示(多達(dá) 660 個)。因因為在默認(rèn)情情況下

30、查詢是是串行運(yùn)行的的,需要的提提示查詢越多多,用戶等待待的時間就越越長。6.2 解決方方案概述這個解決方案使使用條件塊顯顯示提示。選選項卡本身仍仍然是用 HHTML 和和 JavaaScrippt 創(chuàng)建的的。使用條件件塊的優(yōu)點是是,系統(tǒng)知道道隱藏的塊中中的提示是不不可見的,因因此不運(yùn)行填填充它們所需需的查詢。如如果用戶切換換選項卡,提提示變得可見見并運(yùn)行相關(guān)關(guān)聯(lián)的查詢。缺缺點是切換選選項卡需要向向服務(wù)器發(fā)出出請求。實現(xiàn)這種技術(shù)的的提示頁面使使用條件塊決決定顯示哪些些提示。請想想像一系列重重疊的矩形,在在任何時候只只顯示其中的的一個。圖 3.條件塊塊顯示提示這些塊在任何時時候只有其中中的一個是可

31、可見的,但是是所有選項卡卡都是一直可可見的。當(dāng)前選項卡的邊邊框和文本顏顏色設(shè)置為黑黑色,讓它看看起來像在其其他選項卡前前面。非當(dāng)前前的選項卡是是灰色的,讓讓它們不太突突出。圖 4.選定選選項卡從某種程度上來來說,編寫報報表相當(dāng)簡單單。我們將創(chuàng)創(chuàng)建一個條件件塊以及與選選項卡數(shù)量相相同的塊 在以上上示例中是 4 個。然然后,以表格格單元格的形形式創(chuàng)建基本本選項卡結(jié)構(gòu)構(gòu)(矩形),根根據(jù)需要設(shè)置置邊框。用 HTML 和一些簡單單的 JavvaScriipt 創(chuàng)建建選項卡中顯顯示的文本。當(dāng)用戶單擊選項項卡(實際上上是單擊選項項卡中的文本本)時,顯示示相關(guān)聯(lián)的條條件塊,修改改選項卡邊框框和文本顏色色,顯示

32、相關(guān)關(guān)聯(lián)的塊。在后臺,通過設(shè)設(shè)置一個參數(shù)數(shù)值指定顯示示哪個選項卡卡,然后重新新提示報表。在在理想情況下下,我們使用用提示控件或或提示按鈕設(shè)設(shè)置參數(shù)值并并重新提示。但但是,沒有提提示控件或按按鈕能夠滿足足要求。一個個提示可以設(shè)設(shè)置參數(shù)值并并重新提示(通通過自動提交交),但是無無法看起來像像文本。6.3 適用范范圍這種技術(shù)應(yīng)該適適用于 ReeportNNet 或 IBM CCognoss 8 的任任何版本。6.4 未記錄錄和不受支持持的功能正如下面詳細(xì)討討論的,這個個解決方案需需要使用兩個個在 IBMM Cognnos 8 中未記錄和和不受支持的的功能。因此此,在以后的的版本中對這這兩個功能的的支

33、持可能會會改變或完全全取消,從而而需要重寫這這個解決方案案。但是,這這種風(fēng)險很低低,因為目前前在這些方面面沒有修改計計劃。6.5 選項卡卡式提示報表表項目在我們的場景中中,第一個選選項卡讓用戶戶選擇 Orrder yyear(ss),第二個個選項卡讓用用戶選擇 PProducct namme(s),以以便運(yùn)行一個個非常簡單的的列表報表。我們將從頭到尾尾介紹創(chuàng)建示示例報表的整整個過程。為為方便起見,我我們只使用兩兩個選項卡,每每個選項卡上上各有一個提提示。6.5.1 創(chuàng)創(chuàng)建基本報表表打開 Repoort Sttudio 和 GO Saless and Retaiilers 包。創(chuàng)建一個新的列列表

34、報表:OrderssOrdeer yeaar OrderssProdduct nname OrderssReveenue 如圖所示:圖 5.創(chuàng)建基基本報表創(chuàng)建兩個可選的的 詳細(xì)信息息篩選:Order year in ?p_OrdderYeaar? Producct namme inn ?p_PProducctNamee? 這樣就行了。這這就是將用來來演示這種技技術(shù)的基本報報表。6.5.2 創(chuàng)創(chuàng)建基本提示示頁面盡管創(chuàng)建選項卡卡式提示用戶戶界面并不難難,但是過程程很長。大多多數(shù)時間花在在格式化方面面。實際功能能花費(fèi)的時間間很少。首先我們需要一一個提示頁面面。在報表中添加一一個提示頁面面:圖 6.添

35、加一一個提示頁面面把一個一行兩列列的表格拖到到提示頁面體體中,如圖所所示:圖 7.把一個個一行兩列的的表格拖到提提示頁面體中中我們暫時不管這這個表格,但但是稍后要使使用它。6.5.3 創(chuàng)創(chuàng)建選項卡體體條件塊最終包含含出現(xiàn)在每個個選項卡上的的提示。圖 8.創(chuàng)建選選項卡體我們首先創(chuàng)建基基本的選項卡卡體結(jié)構(gòu)并使使用一些文本本項,讓我們們可以看出哪哪個選項卡是是當(dāng)前的。把一個 Connditioonal BBlock 對象拖到頁頁面體中:圖 9.把一個個 Condditionnal Bllock 對對象拖到頁面面體中選擇條件塊對象象然后選擇 Blockk Variiable 屬性。創(chuàng)建一個 ,像像這樣

36、:Name: TTabToSShow Values: Tab22 Expresssion: ParammValuee(pTaabToShhow) 變量名 TabbToShoow、值 TTab2 和和參數(shù) pTTabToSShow 很很重要,這個個項目要多次次引用它們。選擇好塊之后,把把 Currrent BBlock 屬性設(shè)置為為 Otheer。把一個文本項 Tab 1 拖到塊中,像像這樣:圖 10.把一一個文本項 Tab 1 拖到塊中這個文本用于提提醒我們哪個個選項卡是當(dāng)當(dāng)前正在查看看的。選擇塊,把 CCurrennt Bloock 屬性性設(shè)置為 TTab2。 Tab 11 文本項會從從塊中

37、消失。把文本項 TTab 2 拖到塊中,像像這樣:圖 11.把文文本項 Tab 2 拖到塊中同樣,這個文本本用于提醒我我們哪個選項項卡是當(dāng)前正正在查看的。選擇塊,在 OOther 和 Tabb2 之間來來回變換 CCurrennt Bloock 屬性性值,應(yīng)該可可以看到 RReportt Studdio 中的的選項卡隨之之切換。6.5.4 創(chuàng)創(chuàng)建選項卡正如前面所說的的,我們要使使用 HTMML 項和一一些未記錄和和不受支持的的功能實現(xiàn)選選項卡。首先要做的是,使使用 Repport VViewerr 將參數(shù)值值傳遞給服務(wù)務(wù)器。作為表表單變量傳遞遞參數(shù)值,表表單變量的名名稱是參數(shù)名名(比如 ppT

38、abTooShow)前前面加上 pp_,比如 p_pTaabToShhow。這種參數(shù)傳遞機(jī)機(jī)制是未記錄錄和不受支持持的。請注意意本文前面的的說明。我們使用一個 HTML 對象創(chuàng)建這這個表單變量量。把一個 HTMML 項目拖拖到 Pagge Heaader 中中,像這樣:圖 12.把一一個 HTMML 項目拖拖到 Pagge Heaader 中中這個項的位置無無所謂,因為為它不向用戶戶顯示。選擇 HTMLL 項并把 HTML 屬性設(shè)置為為: 這行 HTMLL 代碼創(chuàng)建建表單變量 p_pTaabToShhow 并將將值設(shè)置為 Tab1。這個表單變量讓讓服務(wù)器認(rèn)為為報表中已經(jīng)經(jīng)定義了名為為 pTab

39、bToShoow 的參數(shù)數(shù),所以服務(wù)務(wù)器會保留它它的值并在重重新提示報表表時把它傳遞遞回 Repport VViewerr。現(xiàn)在,回到前面面在該示例中中添加的表格格。盡管目前還看不不出來,但是是這個表格中中的兩個單元元格將變成用用戶可以單擊擊的選項卡。圖 13.單擊擊的選項卡出現(xiàn)在選項卡上上的文本項將將是 HTMML 項。在每個表格單元元格中添加一一個 HTMML 項,讓讓它們在單元元格中居中:圖 13.在每每個表格單元元格中添加一一個 HTMML 項選擇左邊的 HHTML 項項并把 HTTML 屬性性設(shè)置為: Shhow Taab 1 這段 JavaaScrippt 創(chuàng)建一一個按鈕:按鈕標(biāo)題

40、(工具具提示文本) Showw Tab 1 操作: 將表單變量 pp_pTabbToShoow 設(shè)置為為 Tab11 運(yùn)行函數(shù) reepromppt 按鈕標(biāo)簽 Show Tab 11 換句話說,當(dāng)用用戶按這個按按鈕時,它會會設(shè)置表單變變量并重新提提示報表。注意,reprrompt 函數(shù)是未記記錄和不受支支持的。請注注意本文前面面的說明。選擇右邊的 HHTML 項項并把 HTTML 屬性性設(shè)置為: Shhow Taab 2 運(yùn)行報表:圖 15.運(yùn)行行報表可以通過單擊按按鈕在選項卡卡之間切換,顯顯示相應(yīng)的文文本。圖 16.切換換選項卡核心選項卡功能能現(xiàn)在完成了了。剩下的工工作都是裝飾飾性的;這個個

41、用戶界面是是有效的,但但是看起來不不像選項卡式式用戶界面。另另外,還要把把提示放到選選項卡上。返回到 Repport SStudioo。6.5.5 設(shè)設(shè)置選項卡的的樣式我們要用邊框、對對齊和其他樣樣式改變 HHTML 按按鈕和塊的外外觀,讓它們們看起來像選選項卡。首先,處理 HHTML 按按鈕。選擇父表格,在在 Tablle Proopertiies 屬性性中選擇 FFixed Size。仍然選擇表格,選選擇 Sizze andd Overrflow 屬性并刪除除當(dāng)前的寬度度設(shè)置。選擇每個表格單單元格并把寬寬度都設(shè)置為為 100 pixells (pxx)。在實際的報表中中,必須調(diào)整整寬度,讓

42、寬寬度與每個選選項卡中的文文本匹配。請請記住,為了了讓選項卡更更美觀,所有有選項卡常常常采用相同的的寬度。現(xiàn)在,表格單元元格和 HTTML 按鈕鈕有點兒像選選項卡了:圖 17.設(shè)置置選項卡的樣樣式現(xiàn)在,需要重新新設(shè)置 HTTML 按鈕鈕的樣式,讓讓它們只顯示示文本。選擇 HTMLL 對象之一一,會看到?jīng)]沒有樣式屬性性:圖 18. 重重新設(shè)置 HHTML 按按鈕的樣式在 IBM CCognoss 8 中,可可以在報表中中定義樣式并并把它們應(yīng)用用于報表對象象。同樣,也也可以把這些些樣式應(yīng)用于于 HTMLL 對象。6.5.6 IIBM Coognos 8 按鈕樣樣式在 IBM CCognoss 8

43、中,可可以定義一個個類,然后在在 HTMLL 按鈕定義義中引用它。使用 Pagee Expllorer 打開 Cllassess。把一個 Claass 對象象從工具箱拖拖到 Loccal Cllassess 區(qū)域:選擇這個新的類類對象并設(shè)置置屬性:Name: HHTMLBuuttonss Border: Nonee Box Typpe: Bllock Backgroound CColor: Whitte Class oor Sellectorr: HB 返回到提示頁面面。Class/SSelecttor 屬性性是在把樣式式應(yīng)用于 HHTML 項項時使用的標(biāo)標(biāo)識符。選擇左邊 Taab 1 的的

44、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 中都可以使使用這種方法法

45、。我們使用 HTTML 樣式式屬性在 HHTML 按按鈕定義中直直接應(yīng)用樣式式,而不是引引用在報表級級定義的通用用樣式定義。選擇左邊的 HHTML 對對象并把 HHTML 屬屬性改為: Shoow Tabb 1 選擇右邊的 HHTML 對對象并把 HHTML 屬屬性改為: Shoow Tabb 2 6.5.8 運(yùn)運(yùn)行報表運(yùn)行報表。刪除除按鈕的按鈕鈕式外觀,只只留下文本。圖 19.運(yùn)行行報表6.5.9 顯顯示活躍的和和不活躍的選選項卡我們現(xiàn)在需要通通過設(shè)置選項項卡的樣式表表明哪個選項項卡是活躍的的。活躍的選選項卡將采用用黑色的邊框框和文本。不不活躍的選項項卡將采用灰灰色的邊框和和文本。選擇左邊的

46、表格格單元格。將 Stylee Variiable 設(shè)置為 TTabToSShow。使用 Variiable Exploorer 選選擇 TabbToShoow,再選擇擇 Otheer:圖 20. 仍然選擇左邊的的表格單元格格,將左邊、上上邊和右邊的的 Bordder 設(shè)置置為 Blaack、Soolid LLine、11.5 pooint (pt):圖 21.Boorder 設(shè)置 圖 22. TTab 1 選項卡使用 Variiable Exploorer 選選擇 TabbToShoow,再選擇擇 Tab22:仍然選擇左邊的的表格單元格格,將左邊、上上邊和右邊的的 Bordder 設(shè)置置為

47、Sillver、SSolid line、11.5 pooint (pt):圖 23. TTab2 BBorderr 設(shè)置圖 24. TTab 2 選項卡運(yùn)行報表:圖 25.運(yùn)行行報表 Taab 1單擊 Showw Tab 2,讓 TTab 1 變成非當(dāng)前前的:圖 26.運(yùn)行行報表 Taab 2對 Tab 22(右邊的表表格單元格)重重復(fù)相似的步步驟。返回到 Repport SStudioo。選擇右邊的表格格單元格。將 Stylee Variiable 設(shè)置為 TTabToSShow。使用 Variiable Exploorer 選選擇 TabbToShoow,再選擇擇 Otheer:圖 27.

48、 將將 Stylle Varriablee 設(shè)置為 TabTooShow仍然選擇右邊的的表格單元格格,將左邊、上上邊和右邊的的 Bordder 設(shè)置置為 Sillver、SSolid Line、11.5 pooint (pt):圖 28. BBorderr 設(shè)置使用 Variiable Exploorer 選選擇 TabbToShoow,再選擇擇 Tab22:仍然選擇右邊的的表格單元格格,將左邊、上上邊和右邊的的 Bordder 設(shè)置置為 Blaack、Soolid LLine、11.5 pooint (pt):圖 29. TTab2 BBorderr 設(shè)置運(yùn)行報表:圖 30. 運(yùn)運(yùn)行報表單擊 Showw Tab 2:圖 31. 運(yùn)運(yùn)行報表 SShow TTab 2兩個表格單元格格之間的邊框框是灰色,但但是我們在右右邊的表格單單元格上已經(jīng)經(jīng)把它設(shè)置為為黑色了。因因此它既有灰灰色也有黑色色。每個表格格單元格實際際上有自己的的邊框,但是是在默認(rèn)情況況下它們是重重疊的。也就是說,不會會看到下面這這樣并列的邊邊框:圖 3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論