我有一個提示頁面和一個帶有列表的頁面。 用戶從提示頁面中選擇值,然後生成報告頁面。通常的報道。如何計算Cognos中提示值參數的選定值
提示頁面有20個值的多選列表框。
我想要做的是: 當用戶從列表框中選擇最多3個值時,如果用戶選擇多於3個顯示,則報告標題將顯示帶有ParamDisplayValue('param1')的值。已選擇的項目「例如:」已選擇5個項目「
我有一個提示頁面和一個帶有列表的頁面。 用戶從提示頁面中選擇值,然後生成報告頁面。通常的報道。如何計算Cognos中提示值參數的選定值
提示頁面有20個值的多選列表框。
我想要做的是: 當用戶從列表框中選擇最多3個值時,如果用戶選擇多於3個顯示,則報告標題將顯示帶有ParamDisplayValue('param1')的值。已選擇的項目「例如:」已選擇5個項目「
您可以使用Cognos JavaScript API將選擇計數存儲在隱藏提示中供以後使用。以下是具體步驟:
<script>
var report = cognos.Report.getReport('_THIS_');
var multiPrompt = report.prompt.getControlByName('multiPrompt');
var countPrompt = report.prompt.getControlByName('countPrompt');
multiPrompt.setValidator(validateMultiPrompt);
function validateMultiPrompt(values) {
if (values && values.length > 0) {
countPrompt.addValues([{'use':values.length}]);
} else {
countPrompt.addValues([{'use':'0'}]);
}
return true;
}
</script>
在報表上,你可以有一個報告表示,像這樣:
if (ParamDisplayValue('param2') in ('1','2','3'))
then (ParamDisplayValue('param1'))
else (ParamDisplayValue('param2') + ' items selected')
該表達式假定爲多提示分配了參數1,併爲新的隱藏提示分配了參數2。
要使其工作,必須要求多重選擇提示。否則,當沒有選擇任何東西時,您的物品會讀取'0個物品被選中'。這可以通過將渲染變量添加到僅在param1未丟失或param2等於'0'時渲染該項目的項目來解決。
完美!謝謝! – 2015-04-07 07:23:48
哪個版本的Cognos BI?對報告的提示頁面接口進行了各種更改,包括新版本中的穩定(ish)API:http://www-01.ibm.com/support/knowledgecenter/SSEP7J_10.2.1/com.ibm。 swg.ba.cognos.ig_smples.10.2.1.doc/c_rs_smples_prompt_api.html?lang = en – chsh 2015-04-06 13:46:44
我的版本是10.2.1 – 2015-04-06 14:05:18