[英]How to set most recently used parameter value as Default in value prompt or text prompt in Cognos Bi
我正在使用Cognos Bi 10.2.2版本。
我為帶有值提示的參數創建了一個提示頁面。我將參數用作“ Term_Code”,其中包含諸如201410,201420,201510...
值,並且我將首次選擇參數值“ 201420”運行報告。 當我將來再次運行報表時,我必須獲取默認值201420,即最近使用的參數值。 任何人都可以知道
如何獲取最近使用的參數值作為值Prompt中的默認值 。 請幫我。
提前致謝。
您可以創建一個cookie,以將其值設置為用戶上一次選擇的值。 我這樣做的方法是將HTML項目拖到提示后,然后放在HTML元素內,您可以放置JavaScript來創建cookie並設置其值。
這是我使用的JavaScript:
<script>
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function subtractDay ()
{
var dtToday = new Date();
var dtYesterday = new Date( dtToday - 86400000 ); // 86400000 = 24 hours * 60 (minutes per hour) * 60 (seconds per minute) * 1000 (milliseconds per second)
var strYesterday = [dtYesterday.getUTCFullYear(), dtYesterday.getMonth()+1, dtYesterday.getDate()].join("-");
return strYesterday;
}
var x = readCookie('MyCookie');
while (x != 'Value'){
pickerControlpDatePicked.setValue(subtractDay() );
createCookie('MyCookie','Value',0);
x = readCookie('MyCookie');
}
</script>
函數pickerControlpDatePicked
獲取選擇的日期(這是我的用例)。 我認為String應該有一個類似的功能
這只是可能解決方案的建議。
在Framework Manager中,您可以使查詢主題鏈接到存儲過程。 每次執行該報告時,都會將參數Team_Code傳遞給鏈接到該存儲過程的查詢,並且該存儲過程會將其值保存在數據庫表中。
下次執行該報告時,提示頁面將查詢已保存參數的表以獲取最后保存的參數,並且使用JavaScript Prompt API將此值設置為提示頁面中提示控件的默認值。
希望對您有幫助,祝您好運!
除報表視圖外,Cognos並非旨在存儲有關提示選擇的信息。 但是,這不會幫助您,因為報表視圖提示值不是動態的。 您設置了一個固定值,並保持該值,直到您手動更改它為止。
我要做的是設置一個小型Web服務。 這將是一個網頁,其目的是通過Web URL接收請求並返回信息或執行某些操作。 可以創建一個頁面以:
Cognos提示頁面將具有在首次生成提示頁面時觸發的JavaScript,以通過Web服務檢索存儲的值並將提示值設置為先前的選擇。 當用戶選擇一個新值時,還將觸發JavaScript,該新值會將選擇發送到Web服務進行存儲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.