2013-11-15 11 views
5

Mam monit o wartość, który odwołuje się do parametru "Year_Parameter", oraz listę z jedną kolumną (wyrażenie pozycji danych), która odwołuje się do tego samego parametru, co monit wartość w ten sposób:IBM Cognos Report Studio: Domyślny wybór wartości podpowiedzi od parametru "domyślny tekst" zachęty

#prompt('Year_Parameter')# 

monit wartość ma kilka statycznych wyborów: 2011, 2012 i 2013. Stąd, gdy uruchomię mój raport i wprowadź 2012 w szybkim stronie, która pojawia się przed raportem strona jest wyświetlana, rok 2012 został automatycznie wybrany w wierszu wartości z listy opcji dostępnych na stronie raportu.

Ponadto, jeśli umieszczę rok 2012 na liście domyślnych wyborów, nie zostanie wyświetlona żadna strona z pytaniem, a rok 2012 został również automatycznie wybrany dla wiersza wartości, kiedy raport jest wyświetlany.

Jednakże, jeśli usunę 2012 z listy wyboru domyślnych i zmienić moje dane Item wyrażenie do jednej z tych wyrażeń:

#prompt('Year_Parameter', 'token', '2012')# 
#prompt('Year_Parameter', 'token', 2012)# 
#prompt('Year_Parameter', 'string', 2012)# 
#prompt('Year_Parameter', 'string', '2012')# 

... nie szybka strona wyskakuje jak przy 2012 zostały określone jako domyślny wybór, ale żadna wartość nie jest automatycznie wybierana dla zachęty wartości. Monit wartość pokazuje jego domyślny tekst nagłówka. Nazwa parametru - Year_Parameter”

Pamiętaj szybką definicję funkcji:

prompt (prompt_name, typ danych, defaultText, tekst, queryItem, trailing_text)

Ktoś wie, dlaczego tak się dzieje, a co ważniejsze, czy można wybrać domyślny wybór dla monitu o wartość, określając go w wyrażeniu pozycji danych?

Czy to dlatego, że makro prompt() próbuje jedynie pobrać wartość parametru "Year_Parameter", ale samo w sobie nie wypełnia tego parametru wartością? Parametr musi być podany w podpowiedzi o wartości (na stronie zachęty lub osadzonej na stronie raportu).

W związku z tym argument defaultText dla funkcji prompt NIGDY nie zapełni samego parametru, ale zostanie zwrócony przez tę konkretną funkcję prompt w przypadkach, gdy parametr nie ma (prawidłowej) wartości?

Z góry dziękujemy za wszelkie uwagi!

Edytuj: Znaleziono to wyjaśnienie, w jaki sposób dynamicznie przypisać wartość domyślną parametrom.

http://cognosknowhow.blogspot.no/2013/04/how-to-dynamically-set-up-default-value.html

końcowa: skończyło się stosując następujący Javascript dynamicznie wybierz wiersz i aktualizować wartość raportu:

<script type="text/javascript"> 
// This function updates the report dynamically for the current year 
// The function is wrapped inside a setTimeout call in order to avoid an error caused by too frequent requests 
setTimeout(function updatePrompt() { 
    var oCR = cognos.Report.getReport("_THIS_"); 
    var yearPrompt = oCR.prompt.getControlByName("YearPrompt"); 
    var selectedValue = yearPrompt.getValues()[0]; 

    if (typeof selectedValue === "undefined") { 
     currentYear = new Date().getFullYear(); 
     yearPrompt.setValues([{'use':currentYear}]); 
     // Update report 
     oCR.sendRequest(cognos.Report.Action.FINISH); 
    } 
}, 50); 
</script> 

Odpowiedz

4

Dokładnie, jak Skovly mówi, monit makro nie może wpisz wartość do parametru. Z podanego linku wybrałbym javascipt (pierwsza opcja), ale należy pamiętać, że IBM zmienia składnię z wersji na wersję.

(Nie wiem jeszcze, jak publikować komentarze na temat odpowiedzi, w przeciwnym razie dołączę go do poprzedniego, aby podkreślić opinię, że nie można zrobić tego, co się chce, za pomocą makr).

Powiązane problemy