




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、更多企業(yè)學(xué)院:中小企業(yè)管理全能版183套講座+89700份資料總經(jīng)理、高層管理49套講座+16388份資料中層管理學(xué)院46套講座+6020份資料國(guó)學(xué)智慧、易經(jīng)46套講座人力資源學(xué)院56套講座+27123份資料各階段員工培訓(xùn)學(xué)院77套講座+ 324份資料員工管理企業(yè)學(xué)院67套講座+ 8720份資料工廠生產(chǎn)管理學(xué)院52套講座+ 13920份資料財(cái)務(wù)管理學(xué)院53套講座+ 17945份資料銷售經(jīng)理學(xué)院56套講座+ 14350份資料銷售人員培訓(xùn)學(xué)院72套講座+ 4879份資料更多企業(yè)學(xué)院:中小企業(yè)管理全能版183套講座+89700份資料總經(jīng)理、高層管理49套講座+16388份資料中層管理學(xué)院46套講座+
2、6020份資料國(guó)學(xué)智慧、易經(jīng)46套講座人力資源學(xué)院56套講座+27123份資料各階段員工培訓(xùn)學(xué)院77套講座+ 324份資料員工管理企業(yè)學(xué)院67套講座+ 8720份資料工廠生產(chǎn)管理學(xué)院52套講座+ 13920份資料財(cái)務(wù)管理學(xué)院53套講座+ 17945份資料銷售經(jīng)理學(xué)院56套講座+ 14350份資料銷售人員培訓(xùn)學(xué)院72套講座+ 4879份資料更多企業(yè)學(xué)院:中小企業(yè)管理全能版183套講座+89700份資料總經(jīng)理、高層管理49套講座+16388份資料中層管理學(xué)院46套講座+6020份資料國(guó)學(xué)智慧、易經(jīng)46套講座人力資源學(xué)院56套講座+27123份資料各階段員工培訓(xùn)學(xué)院77套講座+ 324份資料員工管理
3、企業(yè)學(xué)院67套講座+ 8720份資料工廠生產(chǎn)管理學(xué)院52套講座+ 13920份資料財(cái)務(wù)管理學(xué)院53套講座+ 17945份資料銷售經(jīng)理學(xué)院56套講座+ 14350份資料銷售人員培訓(xùn)學(xué)院72套講座+ 4879份資料IBM Cog nos BI最佳實(shí)踐:報(bào)表設(shè)計(jì)高級(jí)提示和提示性能調(diào)優(yōu)1簡(jiǎn)介1.1目的本文檔旨在向報(bào)表創(chuàng)建者展示如何處理第一個(gè)提示頁(yè)面性能低下的問(wèn)題。1.2適用范圍這里的信息只適用于IBM Cognos 8.2 B。2第一個(gè)提示頁(yè)面的性能當(dāng)用戶運(yùn)行包含多個(gè)復(fù)雜查詢的報(bào)表時(shí),常常需要等待很長(zhǎng)時(shí)間才會(huì)看到第一個(gè)提示頁(yè)面岀現(xiàn)。例如,在一個(gè)客戶場(chǎng)景中,報(bào)表 用了 40秒才顯示出第一個(gè)提示頁(yè)面。可以
4、通過(guò)兩方面的努力改進(jìn)第一個(gè)提示頁(yè)面的性能:1) 減少提示調(diào)節(jié)(prompt reconciliation )的時(shí)間2) 減少為提示控件獲取數(shù)據(jù)的時(shí)間3提示調(diào)節(jié)3.1什么是提示調(diào)節(jié)?提示調(diào)節(jié)確保參數(shù)定義與參數(shù)的用法匹配。在篩選和計(jì)算中定義參數(shù)。在提示中使用定義好的參數(shù)。 參數(shù)定義包含幾個(gè)關(guān)鍵項(xiàng):? 基數(shù)-可以提供給參數(shù)的輸入值的數(shù)量。? 離散性-決定輸入值是定義單一值,還是定義一個(gè)值范圍。? 可選性-決定參數(shù)在篩選或計(jì)算的上下文中是必需的,還是可選的。? 數(shù)據(jù)類型-為了與引用的其他數(shù)據(jù)項(xiàng)或常量匹配,在篩選或計(jì)算的上下文中期望的數(shù)據(jù)類型。數(shù)據(jù)類型可以是Numeric、Date、Time、Date
5、Time、Interval、String 或 Member Unique Name (MUN)。篩選表達(dá)式請(qǐng)考慮可選的篩選:Order number = ?pOrderNumber?通過(guò)分析這個(gè)篩選,可以判斷出參數(shù)pOrderNumber的一些性質(zhì):基數(shù):?jiǎn)我恢?等號(hào)表明只能使用單一值。?使用多個(gè)值需要適當(dāng)?shù)牟僮鞣?,比如“n ”:Order number in ?pOrderNumber?離散性:簡(jiǎn)單值?等號(hào)表明了這一點(diǎn)。? 值的范圍需要適當(dāng)?shù)牟僮鞣?,比如in_range":Order number in_range ?pOrderNumber?o如保一個(gè)參數(shù)在多個(gè)上下文中使用,那么
6、對(duì)于是范圍值的參數(shù),所有引用都必須是范圍值??蛇x性:可選的?這個(gè)篩選定義為可選的,所以參數(shù)也是可選的。?參數(shù)也可以是必需的。如果一個(gè)參數(shù)在多個(gè)上下文中使用,那么對(duì)于可選的參數(shù),所有引用都必須是可選的數(shù)據(jù)類型:Numeric?這個(gè)參數(shù)是數(shù)字,因?yàn)?Order number數(shù)據(jù)項(xiàng)是數(shù)字?,F(xiàn)在,把參數(shù)的特性應(yīng)用于引用它的提示。這意味著,提示控件會(huì)體現(xiàn)參數(shù)的一部分特性,從而讓提示控件與參數(shù)定義保持兼 容。如果在創(chuàng)建的提示頁(yè)面中引用參數(shù),會(huì)在運(yùn)行時(shí)修改提示定義,以便與參數(shù)的基數(shù)、可選性和離散性匹配。數(shù)據(jù)類型不匹配 可能會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。如果沒(méi)有創(chuàng)建的提示頁(yè)面,那么這些特性應(yīng)用于生成的提示頁(yè)面上的提示。3
7、.1.2 數(shù)據(jù)項(xiàng)表達(dá)式與通過(guò)宏表達(dá)式定義的參數(shù)不同,在數(shù)據(jù)項(xiàng)表達(dá)式中使用的參數(shù)是必需的。3.1.3 宏表達(dá)式在宏表達(dá)式中定義的參數(shù) 1 可以是可選的或必需的,可以是單一值或多值。請(qǐng)考慮宏表達(dá)式:#prompt ( pOrderNumber ' , integer ' )#基數(shù):?jiǎn)我恢? prompt() 宏函數(shù)只接受單一輸入值。? 可以用 prompt() 定義多個(gè)值:#promptmany ( pOrderNumber ' , integer ' )#離散性:簡(jiǎn)單值? 提示宏總是簡(jiǎn)單值,而不是范圍。可選性:必需的? 沒(méi)有默認(rèn)值(這個(gè)宏函數(shù)的第三個(gè)可選參數(shù))表明
8、了這一點(diǎn)。? 包含可選參數(shù)的示例如下:#prompt ( pOrderNumber ' , integer ' , 5 ' )#3.2 提示調(diào)節(jié)如何影響性能?為了執(zhí)行提示調(diào)節(jié), IBM Cognos 8 要檢查查詢,判斷有哪些參數(shù)及其特性。查詢?cè)酱?、越?fù)雜,這個(gè)過(guò)程花費(fèi)的時(shí)間越長(zhǎng)。在 IBM Cognos 8.1 中,一個(gè)包含 200 多個(gè)查詢的客戶報(bào)表需要超過(guò) 40 秒才能顯示出第一個(gè)提示頁(yè)面。大多數(shù)時(shí)間花費(fèi)在提示調(diào)節(jié) 方面。3.3 在 Cognos 8.2中如何改進(jìn)提示調(diào)節(jié)?在 IBM Cognos 8.2 中通過(guò)三種方式改進(jìn)提示調(diào)節(jié):? 更快的提示調(diào)節(jié)? 用于提示
9、調(diào)節(jié)調(diào)優(yōu)的報(bào)表服務(wù)器屬性? 用于提示調(diào)節(jié)調(diào)優(yōu)的查詢屬性3.4 IBM Cognos 8.2 中更快的提示調(diào)節(jié)首先,在 IBM Cognos 8.2 中提示調(diào)節(jié)過(guò)程已經(jīng)得到優(yōu)化,大大提高了速度。與IBM Cognos 8.1 相比,這個(gè)過(guò)程花費(fèi)的時(shí)間減少了75% 到 90%。例如,在 IBM Cognos 8.2 中客戶示例報(bào)表的提示調(diào)節(jié)只花費(fèi)了5 秒,與 IBM Cognos 8.1 中的 40 多秒相比降低了 80%。只需遷移到 IBM Cognos 8.2,就實(shí)現(xiàn)了 80% 的性能改進(jìn)。不需要采取其他措施。3.5 用于提示調(diào)節(jié)調(diào)優(yōu)的報(bào)表服務(wù)器屬性IBM Cognos 8.2 為整個(gè)系統(tǒng)和具
10、體報(bào)表的提示調(diào)節(jié)調(diào)優(yōu)提供了三個(gè)相互關(guān)聯(lián)的選項(xiàng)。第一個(gè)選項(xiàng)是一個(gè)針對(duì)整個(gè)報(bào)表服務(wù)器啟用的報(bào)表服務(wù)器高級(jí)屬性:這個(gè)屬性有幾個(gè)值:COMPLETE -在顯示第一個(gè)提示頁(yè)面之前,調(diào)節(jié)所有查詢。這是默認(rèn)設(shè)置,用來(lái)確保與以前版本的兼容性。CHUNKED-分批調(diào)節(jié)所有查詢,直到調(diào)節(jié)了第一個(gè)提示頁(yè)面所需的參數(shù)為止。以不固定的次序處理查詢。可以用高級(jí)服務(wù)器屬性 修改 CHUNK大 小。默認(rèn)的 CHUNK 大小是 5 個(gè)查詢。GROUPED- 按組調(diào)節(jié)查詢,直到調(diào)節(jié)了第一個(gè)提示頁(yè)面所需的參數(shù)為止。這些組如下:? 篩選的報(bào)表查詢? 篩選的提示查詢? 未篩選的報(bào)表查詢? 未篩選的提示查詢 按這些組的次序處理查詢,直到
11、調(diào)節(jié)了第一個(gè)提示頁(yè)面中引用的所有參數(shù)為止。常常只需處理第一個(gè)或前兩個(gè)組。但是,在某些 情況下,需要處理所有查詢。例如,如果在提示查詢中的計(jì)算查詢項(xiàng)中引用參數(shù),就會(huì)發(fā)生這種情況。報(bào)表服務(wù)器調(diào)節(jié)第一個(gè)提 示頁(yè)面的參數(shù)之后,向用戶顯示這個(gè)頁(yè)面。如果后續(xù)提示頁(yè)面引用在已經(jīng)處理的查詢中沒(méi)有的參數(shù),在顯示這些提示頁(yè)面之前, 報(bào)表服務(wù)器可能需要調(diào)節(jié)更多查詢。CHUNKED GROUPE-D 分批調(diào)節(jié)查詢組中的查詢,直到調(diào)節(jié)了第一個(gè)提示頁(yè)面所需的參數(shù)為止。我們的客戶場(chǎng)景只包含一個(gè)篩選的查詢,但是假設(shè)報(bào)表中的所有200個(gè)查詢都使用相同的參數(shù)進(jìn)行篩選。GROUPED會(huì)同時(shí)調(diào)節(jié)這200個(gè)查詢,因?yàn)樗胁樵兌紝儆诤Y選
12、的報(bào)表查詢組。CHUNKED每次調(diào)節(jié)x個(gè)查詢,x是CHUNKED大?。J(rèn)值為 5)。因此對(duì)于CHUNKED GROUPED將調(diào)節(jié)5個(gè)查詢。如果找到了第一個(gè)提示頁(yè)面所需的參數(shù),就顯示頁(yè)面。如果沒(méi)有找到,就處理后5個(gè)查詢,直到找到參數(shù)為止。以我們的客戶報(bào)表為例,設(shè)置= GROUP會(huì)迫使提示調(diào)節(jié)首先處理包含篩選的查詢(我們只有一個(gè)這樣的查詢)。這導(dǎo)致客戶示例報(bào)表的提示調(diào)節(jié)在IBM Cognos 8.2中只需花費(fèi)不到 1 秒,與 IBM Cognos 8.1 中的 40 多秒相比性能提高了 98%。只需設(shè)置一個(gè)高級(jí)服務(wù)器屬性,就實(shí)現(xiàn)了 98% 的性能改進(jìn)。不需要采取其他措施。坦白地說(shuō),這個(gè)示例不太典
13、型,因?yàn)楹Y選的查詢和非篩選的查詢的比例高于一般水平。但是,這個(gè)示例說(shuō)明GROUPED調(diào)節(jié)選項(xiàng)的優(yōu)點(diǎn)是只需要處理所有查詢中的一部分。關(guān)于如何處理大量的篩選查詢,請(qǐng)參見(jiàn)“用于提示調(diào)節(jié)調(diào)優(yōu)的查詢屬性 ”。3.5.1 最佳默認(rèn)設(shè)置是什么?如果使用COMPLETE之外的其他設(shè)置,可能會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,因?yàn)橄嗤膮?shù)可能在同一報(bào)表中以不同方式定義兩次或更多 次。假設(shè)報(bào)表中有一個(gè)可選的篩選(比如X in ?P1?)和一個(gè)計(jì)算 Y + ?P1?o篩選把 P1 定義為可選的和多值的。計(jì)算把 P1 定義為必需的和單值的。如果使用COMPLETE查詢調(diào)節(jié),就會(huì)處理所有查詢,而且使用限制性最強(qiáng)的定義修改提示,這會(huì)產(chǎn)生
14、必需的單值提示。如果使用GROUPED就只處理篩選的查詢,這允許使用可選的多值提示。如果用戶跳過(guò)這個(gè)提示或者選擇多個(gè)值,那么當(dāng)處理計(jì) 算時(shí)就會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。說(shuō)到這里要補(bǔ)充一點(diǎn),在使用高級(jí)調(diào)節(jié)屬性時(shí),正確使用參數(shù)并解決這些不匹配的參數(shù)定義應(yīng)該是創(chuàng)建者的責(zé)任。在使用CHUNKED GROUPE時(shí),還可能有兩個(gè)或更多篩選以不同方式定義同一個(gè)參數(shù)。同樣,這也是在創(chuàng)建報(bào)表時(shí)計(jì)劃和實(shí)現(xiàn)不 完善的表現(xiàn)。出于性能考慮,CHUNKED GROUPE是推薦的設(shè)置,因?yàn)樗试S只處理部分查詢組。但是,應(yīng)該進(jìn)行適當(dāng)?shù)膱?bào)表測(cè)試,以確保不會(huì) 出現(xiàn)由于報(bào)表創(chuàng)建者使用參數(shù)的方式不一致所導(dǎo)致的運(yùn)行時(shí)錯(cuò)誤。默認(rèn)的CHUNK大小5
15、對(duì)于大多數(shù)情況已足夠。3.6 用于提示調(diào)節(jié)調(diào)優(yōu)的查詢屬性 對(duì)于某些報(bào)表,僅僅設(shè)置高級(jí)報(bào)表服務(wù)器屬性可能無(wú)法實(shí)現(xiàn)良好的性能,還需要手動(dòng)調(diào)優(yōu)。報(bào)表創(chuàng)建者可以使用新的ReportStudio 查詢屬性 Use for Parameter Info 決定提示調(diào)節(jié)的執(zhí)行方式。這個(gè)新屬性只能在高級(jí)報(bào)表服務(wù)器屬性置 GROUPED或 CHUNKED GROUPE時(shí)使用。 這個(gè)屬性實(shí)際上創(chuàng)建一個(gè)新的查詢處理組,系統(tǒng)在處理篩選的報(bào)表查詢之前處理這個(gè)組。新的處理次序是:? Use for Parameter Info = True 查詢? 篩選的報(bào)表查詢? 篩選的提示查詢? 未篩選的報(bào)表查詢? 未篩選的提示查詢
16、如果在第一個(gè)組中找到了所需的參數(shù),就不再處理其他查詢。這個(gè)屬性在兩個(gè)場(chǎng)景中很有用。3.6.1 在多個(gè)查詢篩選中使用相同的參數(shù)仍然以包含 200 個(gè)查詢的示例報(bào)表為例,假設(shè)所有 200 個(gè)查詢中的篩選都引用相同的參數(shù)。以前必須處理所有 200 個(gè)查詢來(lái)調(diào)節(jié) 參數(shù)。實(shí)際上,只需處理其中任意一個(gè)查詢,就可以收集到所需的信息。報(bào)表創(chuàng)建者可以選擇任何查詢,并設(shè)置查詢屬性Use forParameter Info = True。系統(tǒng)只處理這個(gè)查詢,就會(huì)找到所需的參數(shù)并顯示第一個(gè)提示頁(yè)面,不必處理其他查詢。3.6.2 在每個(gè)查詢篩選中使用不同的參數(shù)現(xiàn)在,考慮一個(gè)完全不一樣(有點(diǎn)兒不真實(shí))的用例。我們有 20
17、0 個(gè)查詢,每個(gè)查詢都引用一個(gè)不同的參數(shù),在第一個(gè)提示頁(yè)面 中引用所有 200 個(gè)參數(shù)。在這種情況下,必須處理所有查詢,這會(huì)導(dǎo)致性能降低(回到5 秒水平)。有一個(gè)非常聰明的辦法:創(chuàng)建者可以創(chuàng)建一個(gè)定義所有 200 個(gè)參數(shù)的查詢。不創(chuàng)建任何引用這個(gè)新查詢的布局(即,沒(méi)有列表、 交叉表或圖表使用這個(gè)查詢)。只在這個(gè)查詢上設(shè)置查詢屬性Use for Parameter Info = True?,F(xiàn)在,在運(yùn)行報(bào)表時(shí),只處理這一個(gè)查詢。因?yàn)樵诓季种胁灰眠@個(gè)查詢,它不會(huì)實(shí)際執(zhí)行。這樣就解決了第一個(gè)提示頁(yè)面的性能問(wèn)題,而且不會(huì)有額外的開銷。包含 200 個(gè)查詢而且每個(gè)查詢使用不同的參數(shù)這樣的示例有點(diǎn)兒極端,
18、但是如果處理給定的查詢或查詢集造成了性能問(wèn)題,就可 以考慮使用這種方法。估計(jì)只有非常少的報(bào)表需要使用 Use for Parameter Info 查詢屬性,因?yàn)?IBM Cognos 8.2 本身和使用 產(chǎn)生的性能改進(jìn)能夠解決大多數(shù)性能問(wèn)題。3.6.3 提供不利提示要確保您選擇的查詢提供所需的所有參數(shù)。如果在沒(méi)有定義所有參數(shù)的查詢集上設(shè)置Use For Parameter Info '查詢提示(hint),會(huì)對(duì)性能產(chǎn)生消極影響,因?yàn)榈谝粋€(gè)請(qǐng)求沒(méi)有調(diào)節(jié)所有參數(shù),還需要通過(guò)另一個(gè)請(qǐng)求獲得其他參數(shù)的參數(shù)特性。3.7 SAP考慮事項(xiàng)在有非層次化數(shù)據(jù)源變量的SAP環(huán)境中,變量數(shù)量大而且這些變量
19、具有許多可能的值,這會(huì)顯著影響性能。建議不要在這些環(huán)境中使用高級(jí)服務(wù)器屬性,但是可以使用Use For parameter Info '查詢提示改進(jìn)性能。4提示查詢性能提示查詢用于填充提示控件。在運(yùn)行完提示查詢之前,無(wú)法顯示提示頁(yè)面。在默認(rèn)情況下,這些查詢?cè)诿看蜗蛴脩麸@示提示頁(yè)面 時(shí)運(yùn)行一次。在改進(jìn)提示查詢性能時(shí),要關(guān)注三個(gè)方面:查詢的數(shù)量避免重復(fù)運(yùn)行提示查詢并行地運(yùn)行提示查詢4.1查詢的數(shù)量查詢數(shù)量越大,處理提示頁(yè)面花費(fèi)的時(shí)間越長(zhǎng)。盡管下面討論的機(jī)制可以減少所需的時(shí)間,但是有時(shí)候第一個(gè)提示頁(yè)面包含的提 示查詢太多,必須處理它們才能顯示提示頁(yè)面??梢园烟崾痉指顬閮蓚€(gè)或更多頁(yè)面。這樣每個(gè)
20、提示頁(yè)面包含的查詢就比較少了??梢允褂眠x項(xiàng)卡式的提示頁(yè)面。系統(tǒng)只運(yùn)行實(shí)際向用戶顯示的提示控件所需的查詢,不運(yùn)行不活躍的選項(xiàng)卡的提示查詢。附錄A講解如何創(chuàng)建選項(xiàng)卡式提示界面??梢允褂秒[藏在條件塊中的提示,這些提示只在用戶已經(jīng)響應(yīng)了一些提示并重新提示報(bào)表時(shí)顯示。同樣,因?yàn)橄到y(tǒng)只運(yùn)行實(shí)際向 用戶顯示的提示控件所需的查詢,不運(yùn)行隱藏塊中的提示查詢。4.2適當(dāng)?shù)奶崾究丶恍┨崾究丶贿m合容納大量數(shù)據(jù)。例如,包含100,000個(gè)條目的值提示(選擇列表)性能會(huì)很差,而且使用很不方便。對(duì)于這么大量的數(shù)據(jù),更合適的控件是Select & search提示、Cascading提示或Tree提示,因?yàn)樗鼈冊(cè)?/p>
21、最初顯示時(shí)并不裝載整個(gè)數(shù)據(jù)集。注意,如果創(chuàng)建者非要使用包含大量數(shù)據(jù)的提示,那么在默認(rèn)情況下數(shù)據(jù)會(huì)在5000行處截?cái)?,而且系統(tǒng)并不給出警告??梢允褂锰崾究丶腞ows Per Page屬性顯示更大的數(shù)據(jù)集。4.3緩存提示查詢?cè)贗BM Cognos 8.1中,可以緩存提示查詢。如果提示中的值不經(jīng)常變動(dòng)(比如每天一次而不是隨時(shí)),而且提示并不依靠另一個(gè) 提示的值篩選提示查詢,就可以使用這種技術(shù)。例如,可以緩存父級(jí)聯(lián)提示的值,但是不能緩存子(或?qū)O)提示,因?yàn)檫@些后續(xù) 提示依靠父提示的值執(zhí)行查詢。使用作業(yè)執(zhí)行提示查詢并緩存報(bào)表的值。用適當(dāng)?shù)恼{(diào)度計(jì)劃(比如每天或每周)創(chuàng)建作業(yè),從而反映提示值的變動(dòng)頻率。在
22、作業(yè)中添加需要刷新提示查詢的報(bào)表之后,把Default Run選項(xiàng)設(shè)置為 Run the report to Refresh the Report Cache (也可以為每個(gè)報(bào)表步驟設(shè)置這個(gè)選項(xiàng))。當(dāng)作業(yè)運(yùn)行時(shí),它只執(zhí)行提示查詢并把結(jié)果緩存在Content Store中。如果在多個(gè)位置有提示,那么在作業(yè)步驟中設(shè)置這些位置,就會(huì)緩存所有位置的提示值。當(dāng)用戶運(yùn)行報(bào)表時(shí),獲取緩存的查詢值;這一般會(huì)提高性能。注意,無(wú)論是否考慮性能因素,這也是減少對(duì)數(shù)據(jù)庫(kù)的查詢數(shù)量的好方法,因?yàn)樵谟脩裘看握?qǐng)求運(yùn)行報(bào)表時(shí)不再需要執(zhí)行提示查 詢了。4.4并行地運(yùn)行提示查詢 如果提示值是高度動(dòng)態(tài)的,緩存不是合適的選項(xiàng),那么可
23、以同時(shí)執(zhí)行多個(gè)提示查詢。在默認(rèn)情況下,單一報(bào)表中的所有查詢一個(gè)接一個(gè)地運(yùn)行??梢酝瑫r(shí)運(yùn)行提示查詢或數(shù)據(jù)查詢。報(bào)表服務(wù)器使用helper的概念管理可以在報(bào)表服務(wù)器中同時(shí)執(zhí)行的查詢數(shù)量。例如,把helper的數(shù)量設(shè)置為10就意味著整個(gè)報(bào)表服務(wù)器實(shí)例可以同時(shí)執(zhí)行另外10個(gè)查詢。報(bào)表服務(wù)器高級(jí)屬性 于設(shè)置服務(wù)器中可用的helper數(shù)量。默認(rèn)值是零。如果不設(shè)置這個(gè)屬性,就無(wú)法同時(shí)運(yùn)行查詢。還必須使用報(bào)表服務(wù)器高級(jí)屬性置每個(gè)報(bào)表可以使用的 helper數(shù)量。默認(rèn)值是1,即只允許每個(gè)報(bào)表每次執(zhí)行一個(gè)查詢;必須把它至少設(shè)置為2,才能允許運(yùn)行并行查詢。設(shè)置這兩個(gè)選項(xiàng)之后,在默認(rèn)情況下只對(duì)批執(zhí)行運(yùn)行并行查詢。這是
24、因?yàn)樵诮换ナ綀?zhí)行時(shí),這可能會(huì)導(dǎo)致運(yùn)行查詢,但是用戶根 本不看它的結(jié)果,因此不必要地消耗了資源。假設(shè)一個(gè)報(bào)表有兩個(gè)頁(yè)面,每個(gè)頁(yè)面有一個(gè)列表。用戶運(yùn)行這個(gè)報(bào)表;啟用并行查 詢,讓這兩個(gè)列表查詢同時(shí)運(yùn)行。用戶看了第一個(gè)頁(yè)面/列表,然后關(guān)閉瀏覽器。第二個(gè)查詢已經(jīng)并行地運(yùn)行了,但是未被使用,這浪費(fèi)了資源。稍后討論如何更好地處理這種情況。要想為交互式執(zhí)行啟用并行查詢,需要把報(bào)表服務(wù)器高級(jí)屬性設(shè)置為True。在給定的報(bào)表中,還必須使用查詢屬性Execution Method決定哪些查詢可以并行地運(yùn)行:圖 1.查詢屬性 Execution Method在提示查詢上設(shè)置這個(gè)屬性允許它們并行地運(yùn)行,這常常會(huì)提高性
25、能。5結(jié)束語(yǔ)IBM Cognos 8.2顯著改進(jìn)了第一個(gè)提示頁(yè)面的基本性能,即使不進(jìn)行定制配置,性能也很好。還可以通過(guò)以下措施進(jìn)一步提高提示性能:? 提示調(diào)節(jié)?明智的提示頁(yè)面設(shè)計(jì)? 提示查詢緩存? 并行的查詢執(zhí)行為了進(jìn)一步提高提示性能,建議在所有IBM Cognos 8.2服務(wù)器上設(shè)置 應(yīng)該進(jìn)行適當(dāng)?shù)膱?bào)表測(cè)試)。6附錄A -選項(xiàng)卡式提示頁(yè)面注意:這份資料最初是一份單獨(dú)的Proven Practices文檔。這里的內(nèi)容與原文檔中相同。6.1更快的選項(xiàng)卡式提示頁(yè)面這里的場(chǎng)景是,客戶希望向最終用戶提供報(bào)表,在提示頁(yè)面中使用選項(xiàng)卡式用戶界面而不是一系列提示頁(yè)面。最常用的提示出現(xiàn) 在第一個(gè)選項(xiàng)卡中,其他
26、選項(xiàng)卡顯示不太常用的提示。圖2.選項(xiàng)卡式提示頁(yè)面我們見(jiàn)過(guò)的一些應(yīng)用程序示例有多達(dá)60個(gè)提示,它們分布在 6到8個(gè)選項(xiàng)卡上。有兩個(gè)問(wèn)題會(huì)影響這些報(bào)表的性能。首先,提示數(shù)量大意味著Cognos 8在運(yùn)行報(bào)表之前必須分析許多查詢。一般情況下,這意味著每個(gè)提示有一個(gè)查詢,還要加上報(bào)表查詢本身。這個(gè)問(wèn)題只能通過(guò)減少報(bào)表中使用的查詢數(shù)量來(lái)解決,這超出了本文的范圍。第二,原來(lái)使用的HTML/JavaScript技術(shù)的性質(zhì)決定了它們的性能非常差。生成選項(xiàng)卡的標(biāo)準(zhǔn)HTML/JavaScript技術(shù)允許用戶在不訪問(wèn)服務(wù)器的情況下切換選項(xiàng)卡。這意味著必須在顯示第一個(gè)選項(xiàng)卡之前 填充所有提示(多達(dá)60個(gè))。因?yàn)樵谀J(rèn)
27、情況下查詢是串行運(yùn)行的,需要的提示查詢?cè)蕉?,用戶等?的時(shí)間就越長(zhǎng)。6.2解決方案概述這個(gè)解決方案使用條件塊顯示提示。選項(xiàng)卡本身仍然是用HTML和JavaScript創(chuàng)建的。使用條件塊的優(yōu)點(diǎn)是,系統(tǒng)知道隱藏的塊中的提示是不可見(jiàn)的,因此不運(yùn)行填充它們所需的查詢。如果用戶切換選項(xiàng)卡,提示變得可見(jiàn)并運(yùn)行相關(guān)聯(lián)的查詢。缺點(diǎn)是切換選 項(xiàng)卡需要向服務(wù)器發(fā)岀請(qǐng)求。實(shí)現(xiàn)這種技術(shù)的提示頁(yè)面使用條件塊決定顯示哪些提示。請(qǐng)想像一系列重疊的矩形,在任何時(shí)候只顯示其中的一個(gè)。圖3.條件塊顯示提示這些塊在任何時(shí)候只有其中的一個(gè)是可見(jiàn)的,但是所有選項(xiàng)卡都是一直可見(jiàn)的。當(dāng)前'選項(xiàng)卡的邊框和文本顏色設(shè)置為黑色,讓它看起
28、來(lái)像在其他選項(xiàng)卡前面。非當(dāng)前的選項(xiàng)卡是灰色的,讓它們不太突出。圖4.選定選項(xiàng)卡從某種程度上來(lái)說(shuō),編寫報(bào)表相當(dāng)簡(jiǎn)單。我們將創(chuàng)建一個(gè)條件塊以及與選項(xiàng)卡數(shù)量相同的塊一一在以上示例中是4個(gè)。然后,以表格單元格的形式創(chuàng)建基本選項(xiàng)卡結(jié)構(gòu)(矩形),根據(jù)需要設(shè)置邊框。用HTML和一些簡(jiǎn)單的JavaScript創(chuàng)建選項(xiàng)卡中顯示的文本。當(dāng)用戶單擊選項(xiàng)卡(實(shí)際上是單擊選項(xiàng)卡中的文本)時(shí),顯示相關(guān)聯(lián)的條件塊,修改選項(xiàng)卡邊框和文本顏色,顯示相關(guān)聯(lián)的塊。 在后臺(tái),通過(guò)設(shè)置一個(gè)參數(shù)值指定顯示哪個(gè)選項(xiàng)卡,然后重新提示報(bào)表。在理想情況下,我們使用提示控件或提示按鈕設(shè)置參數(shù) 值并重新提示。但是,沒(méi)有提示控件或按鈕能夠滿足要求。一
29、個(gè)提示可以設(shè)置參數(shù)值并重新提示(通過(guò)自動(dòng)提交),但是無(wú)法看 起來(lái)像文本。6.3適用范圍這種技術(shù)應(yīng)該適用于 ReportNet 或 IBM Cognos 8的任何版本。6.4 未記錄和不受支持的功能 正如下面詳細(xì)討論的,這個(gè)解決方案需要使用兩個(gè)在 IBM Cognos 8 中未記錄和不受支持的功能。因此,在以后的版本中對(duì)這兩個(gè) 功能的支持可能會(huì)改變或完全取消,從而需要重寫這個(gè)解決方案。但是,這種風(fēng)險(xiǎn)很低,因?yàn)槟壳霸谶@些方面沒(méi)有修改計(jì)劃。6.5 選項(xiàng)卡式提示報(bào)表項(xiàng)目在我們的場(chǎng)景中,第一個(gè)選項(xiàng)卡讓用戶選擇Order year(s),第二個(gè)選項(xiàng)卡讓用戶選擇Product name(s),以便運(yùn)行一個(gè)非
30、常簡(jiǎn)單的列表報(bào)表。我們將從頭到尾介紹創(chuàng)建示例報(bào)表的整個(gè)過(guò)程。為方便起見(jiàn),我們只使用兩個(gè)選項(xiàng)卡,每個(gè)選項(xiàng)卡上各有一個(gè)提示。6.5.1 創(chuàng)建基本報(bào)表打開 Report Studio 和 GO Sales and Retailers包。創(chuàng)建一個(gè)新的列表報(bào)表:? OrdersOrder year? OrdersProduct name? OrdersRevenue如圖所示:圖 5.創(chuàng)建基本報(bào)表創(chuàng)建兩個(gè)可選的 詳細(xì)信息篩選:? Order year in ?p_OrderYear? Product name in ?p_ProductName?這樣就行了。這就是將用來(lái)演示這種技術(shù)的基本報(bào)表。6.5.2
31、創(chuàng)建基本提示頁(yè)面 盡管創(chuàng)建選項(xiàng)卡式提示用戶界面并不難,但是過(guò)程很長(zhǎng)。大多數(shù)時(shí)間花在格式化方面。實(shí)際功能花費(fèi)的時(shí)間很少。 首先我們需要一個(gè)提示頁(yè)面。在報(bào)表中添加一個(gè)提示頁(yè)面:圖 6.添加一個(gè)提示頁(yè)面把一個(gè)一行兩列的表格拖到提示頁(yè)面體中,如圖所示:圖 7.把一個(gè)一行兩列的表格拖到提示頁(yè)面體中我們暫時(shí)不管這個(gè)表格,但是稍后要使用它。6.5.3 創(chuàng)建選項(xiàng)卡體 條件塊最終包含出現(xiàn)在每個(gè)選項(xiàng)卡上的提示。圖 8.創(chuàng)建選項(xiàng)卡體我們首先創(chuàng)建基本的選項(xiàng)卡體結(jié)構(gòu)并使用一些文本項(xiàng),讓我們可以看出哪個(gè)選項(xiàng)卡是當(dāng)前的。把一個(gè) Conditional Block 對(duì)象拖到頁(yè)面體中:圖 9.把一個(gè) Conditional B
32、lock 對(duì)象拖到頁(yè)面體中選擇條件塊對(duì)象然后選擇 Block Variable 屬性。創(chuàng)建一個(gè) <New String Variable,像這樣:? Name: TabToShow? Values: Tab2? Expression: ParamValue('pTabToShow')變量名TabToShow、值Tab2和參數(shù)pTabToShow很重要,這個(gè)項(xiàng)目要多次引用它們。選擇好塊之后,把 Current Block 屬性設(shè)置為 Other。 把一個(gè)文本項(xiàng) Tab 1 '拖到塊中,像這樣:圖 10.把一個(gè)文本項(xiàng) Tab 1 '拖到塊中 這個(gè)文本用于提醒我
33、們哪個(gè)選項(xiàng)卡是當(dāng)前正在查看的。選擇塊,把 Current Block 屬性設(shè)置為 Tab2。 Tab 1 '文本項(xiàng)會(huì)從塊中消失。把文本項(xiàng) Tab 2 '拖到塊中,像這樣:圖 11.把文本項(xiàng) Tab 2 '拖到塊中同樣,這個(gè)文本用于提醒我們哪個(gè)選項(xiàng)卡是當(dāng)前正在查看的。選擇塊,在 Other 和 Tab2 之間來(lái)回變換 Current Block 屬性值,應(yīng)該可以看到 Report Studio 中的選項(xiàng)卡隨之切換。6.5.4 創(chuàng)建選項(xiàng)卡 正如前面所說(shuō)的,我們要使用HTML 項(xiàng)和一些未記錄和不受支持的功能實(shí)現(xiàn)選項(xiàng)卡。首先要做的是,使用 Report Viewer 將參數(shù)值傳
34、遞給服務(wù)器。作為表單變量傳遞參數(shù)值,表單變量的名稱是參數(shù)名(比如pTabToShow)前面加上 p_,比如 p_pTabToShow。 這種參數(shù)傳遞機(jī)制是未記錄和不受支持的。請(qǐng)注意本文前面的說(shuō)明。我們使用一個(gè) HTML 對(duì)象創(chuàng)建這個(gè)表單變量。把一個(gè) HTML項(xiàng)目拖到 Page Header中,像這樣:圖12.把一個(gè)HTML項(xiàng)目拖到 Page Header中這個(gè)項(xiàng)的位置無(wú)所謂,因?yàn)樗幌蛴脩麸@示。選擇 HTML 項(xiàng)并把 HTML 屬性設(shè)置為:<input type="hidden" name="p_pTabToShow" value="Ta
35、b1"/>這行HTML代碼創(chuàng)建表單變量 p_pTabToShow并將值設(shè)置為Table這個(gè)表單變量讓服務(wù)器認(rèn)為報(bào)表中已經(jīng)定義了名為pTabToShow的參數(shù),所以服務(wù)器會(huì)保留它的值并在重新提示報(bào)表時(shí)把它傳遞回 Report Viewer 。現(xiàn)在,回到前面在該示例中添加的表格。 盡管目前還看不出來(lái),但是這個(gè)表格中的兩個(gè)單元格將變成用戶可以單擊的選項(xiàng)卡。圖 13.單擊的選項(xiàng)卡出現(xiàn)在選項(xiàng)卡上的文本項(xiàng)將是HTML 項(xiàng)。在每個(gè)表格單元格中添加一個(gè)HTML 項(xiàng),讓它們?cè)趩卧裰芯又校簣D 13.在每個(gè)表格單元格中添加一個(gè) HTML 項(xiàng)選擇左邊的 HTML 項(xiàng)并把 HTML 屬性設(shè)置為:<
36、;button title="Show Tab 1" SetPromptControl('reprompt')">Show Tab 1</button>這段JavaScript創(chuàng)建一個(gè)按鈕:? 按鈕標(biāo)題(工具提示文本)-Show Tab 1? 操作:o將表單變量p_pTabToShow設(shè)置為Tab1o 運(yùn)行函數(shù) reprompt? 按鈕標(biāo)簽 - Show Tab 1 換句話說(shuō),當(dāng)用戶按這個(gè)按鈕時(shí),它會(huì)設(shè)置表單變量并重新提示報(bào)表。注意, reprompt 函數(shù)是未記錄和不受支持的。請(qǐng)注意本文前面的說(shuō)明。選擇右邊的 HTML 項(xiàng)并把
37、HTML 屬性設(shè)置為:<button title="Show Tab 2" Tab2'SetPromptControl('reprompt')">Show Tab 2</button>運(yùn)行報(bào)表:圖 15. 運(yùn)行報(bào)表可以通過(guò)單擊按鈕在選項(xiàng)卡之間切換,顯示相應(yīng)的文本。圖 16. 切換選項(xiàng)卡核心選項(xiàng)卡功能現(xiàn)在完成了。剩下的工作都是裝飾性的;這個(gè)用戶界面是有效的,但是看起來(lái)不像選項(xiàng)卡式用戶界面。另外,還 要把提示放到選項(xiàng)卡上。返回到 Report Studio 。6.5.5 設(shè)置選項(xiàng)卡的樣式 我們要用邊框、對(duì)齊和其他樣式改變
38、 HTML 按鈕和塊的外觀,讓它們看起來(lái)像選項(xiàng)卡。 首先,處理 HTML 按鈕。選擇父表格,在 Table Properties 屬性中選擇 Fixed Size。 仍然選擇表格,選擇 Size and Overflow 屬性并刪除當(dāng)前的寬度設(shè)置。選擇每個(gè)表格單元格并把寬度都設(shè)置為100 pixels (px)。在實(shí)際的報(bào)表中,必須調(diào)整寬度,讓寬度與每個(gè)選項(xiàng)卡中的文本匹配。請(qǐng)記住,為了讓選項(xiàng)卡更美觀,所有選項(xiàng)卡常常采用相同 的寬度?,F(xiàn)在,表格單元格和 HTML 按鈕有點(diǎn)兒像選項(xiàng)卡了:圖 17. 設(shè)置選項(xiàng)卡的樣式現(xiàn)在,需要重新設(shè)置 HTML 按鈕的樣式,讓它們只顯示文本。選擇 HTML 對(duì)象之一
39、,會(huì)看到?jīng)]有樣式屬性:圖 18. 重新設(shè)置 HTML 按鈕的樣式在 IBM Cognos 8 中,可以在報(bào)表中定義樣式并把它們應(yīng)用于報(bào)表對(duì)象。同樣,也可以把這些樣式應(yīng)用于 HTML 對(duì)象。6.5.6 IBM Cognos 8 按鈕樣式在 IBM Cognos 8 中,可以定義一個(gè)類,然后在 HTML 按鈕定義中引用它。使用 Page Explorer 打開 Classes。把一個(gè)Class對(duì)象從工具箱拖到 Local Classes區(qū)域:選擇這個(gè)新的類對(duì)象并設(shè)置屬性:? Name: HTMLButtons? Border: None? Box Type: Block? Background C
40、olor: White? Class or Selector: HB返回到提示頁(yè)面。Class/Selector 屬性是在把樣式應(yīng)用于 HTML 項(xiàng)時(shí)使用的標(biāo)識(shí)符。選擇左邊Tab 1的HTML對(duì)象并把HTML屬性改為:<button title="Show Tab 1" SetPromptControl('reprompt')" class="HB"Show Tab 1</button>選擇右邊Tab 2的HTML對(duì)象并把HTML屬性改為:<button title="Show Tab 2&qu
41、ot; SetPromptControl('reprompt')" class="HB">Show Tab 2</button>6.5.7 ReportNet 按鈕樣式在 ReportNet 和 IBM Cognos 8 中都可以使用這種方法。我們使用HTML樣式屬性在HTML按鈕定義中直接應(yīng)用樣式,而不是引用在報(bào)表級(jí)定義的通用樣式定義。選擇左邊的HTML對(duì)象并把HTML屬性改為:<button title="Show Tab 1" SetPromptControl('reprompt')
42、"style="border-top- style:none;border-left-style:none;border-right-style:none;border- bottom-style:none;display:block;background-color:white">Show Tab1</button>選擇右邊的HTML對(duì)象并把HTML屬性改為:<button title="Show Tab 2" SetPromptControl('reprompt')"style="
43、border-top- style:none;border-left-style:none;border-right-style:none;border- bottom-style:none;display:block;background-color:white">Show Tab2</button>6.5.8 運(yùn)行報(bào)表 運(yùn)行報(bào)表。刪除按鈕的按鈕式外觀,只留下文本。圖 19. 運(yùn)行報(bào)表6.5.9 顯示活躍的和不活躍的選項(xiàng)卡 我們現(xiàn)在需要通過(guò)設(shè)置選項(xiàng)卡的樣式表明哪個(gè)選項(xiàng)卡是活躍的?;钴S的選項(xiàng)卡將采用黑色的邊框和文本。不活躍的選項(xiàng)卡將采用 灰色的邊框和文本。選擇左邊的
44、表格單元格。將 Style Variable 設(shè)置為 TabToShow。使用 Variable Explorer 選擇 TabToShow,再選擇 Other:圖 20.仍然選擇左邊的表格單元格,將左邊、上邊和右邊的 Border 設(shè)置為 Black、Solid Line、 1.5 point (pt) :圖 21.Border 設(shè)置圖 22. Tab 1 選項(xiàng)卡使用 Variable Explorer 選擇 TabToShow,再選擇 Tab2:仍然選擇左邊的表格單元格,將左邊、上邊和右邊的 Border 設(shè)置為 Silver、Solid line、1.5 point (pt) :圖 23
45、. Tab2 Border 設(shè)置圖 24. Tab 2 選項(xiàng)卡運(yùn)行報(bào)表: 圖 25. 運(yùn)行報(bào)表 Tab 1單擊 Show Tab 2,讓 Tab 1變成非當(dāng)前的:圖 26. 運(yùn)行報(bào)表 Tab 2對(duì) Tab 2(右邊的表格單元格)重復(fù)相似的步驟。返回到 Report Studio 。選擇右邊的表格單元格。將 Style Variable 設(shè)置為 TabToShow。使用 Variable Explorer 選擇 TabToShow,再選擇 Other:圖 27. 將 Style Variable 設(shè)置為 TabToShow仍然選擇右邊的表格單元格,將左邊、上邊和右邊的 Border 設(shè)置為 Silver、Solid Line、 1.5 point (pt) :圖 28. Border 設(shè)置使用 Variable Explorer 選擇 TabToShow,再選擇 Tab2:仍然選擇右邊的表格單元格,將左邊、上邊和右邊的 Border 設(shè)置為 Black、Solid Line、 1.5 point (pt) :圖 29. Tab2 Border 設(shè)置運(yùn)行報(bào)表:圖 30. 運(yùn)行報(bào)表單擊 Show Tab 2:圖 31. 運(yùn)行報(bào)表 Show Tab 2兩個(gè)表格單元格之間的邊框是灰色,但是我們?cè)谟疫叺谋砀駟卧裆?/p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房產(chǎn)租賃權(quán)轉(zhuǎn)讓與租賃合同續(xù)簽通知協(xié)議
- 二零二五年度企業(yè)購(gòu)房擔(dān)保服務(wù)合同
- 二零二五年度電子產(chǎn)品研發(fā)資金支持與撥款合同
- 二零二五年度境外勞務(wù)派遣及國(guó)際物流服務(wù)合同
- 二零二五年度股東責(zé)任追究與公司合規(guī)經(jīng)營(yíng)合同
- 二零二五年度冷凍蔬菜直銷凍貨采購(gòu)合同
- 2024農(nóng)村房屋買賣合同模板
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)師資培訓(xùn)及職業(yè)規(guī)劃服務(wù)轉(zhuǎn)讓合同
- 二零二五年度人才公寓房東租賃合同及政策支持協(xié)議
- 武漢市2025年度房屋租賃市場(chǎng)租金評(píng)估合同
- 子宮內(nèi)膜癌教學(xué)查房
- 預(yù)防深靜脈血栓VTE持續(xù)改進(jìn)QCC品管圈PDCA案例3例
- 水環(huán)境綜合治理服務(wù)方案(技術(shù)標(biāo))
- 【原創(chuàng)】頭腦特工隊(duì)開的那些心理學(xué)腦洞
- 美甲藝術(shù)全套教學(xué)課件
- 高等數(shù)學(xué)上冊(cè)目錄同濟(jì)第七版
- 中國(guó)古代餐具
- 電動(dòng)執(zhí)行機(jī)構(gòu)安裝施工工藝標(biāo)準(zhǔn)
- 施工日志模板
- 粗原料氣的凈化-二氧化碳的脫除(合成氨生產(chǎn))
- Agilent7820A氣相色譜儀操作規(guī)程知識(shí)講解
評(píng)論
0/150
提交評(píng)論