簡體   English   中英

如何在Cognos Bi中的值提示或文本提示中將最近使用的參數值設置為“默認”

[英]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接收請求並返回信息或執行某些操作。 可以創建一個頁面以:

  1. 接收新值並將其存儲在數據庫中,甚至存儲在cookie中
  2. 從數據庫/ cookie中檢索一個值並將其返回給請求者

Cognos提示頁面將具有在首次生成提示頁面時觸發的JavaScript,以通過Web服務檢索存儲的值並將提示值設置為先前的選擇。 當用戶選擇一個新值時,還將觸發JavaScript,該新值會將選擇發送到Web服務進行存儲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM