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>