IBM Cognos Report Studio: выбор значения по умолчанию для приглашения из текстового параметра по умолчанию для приглашения

У меня есть приглашение значения, которое ссылается на параметр Year_Parameter, и список с одним столбцом (выражение элемента данных), который ссылается на тот же параметр, что и приглашение значения, таким образом:

#prompt('Year_Parameter')#

В приглашении значения есть несколько статических вариантов выбора: 2011, 2012 и 2013. Следовательно, когда я запускаю свой отчет и ввожу 2012 на странице приглашения, которая появляется перед отображением страницы отчета, 2012 автоматически выбирается в приглашении значения из его список вариантов при отображении страницы отчета.

Кроме того, если я помещаю 2012 в список выбора по умолчанию, страница подсказки не отображается, и 2012 также теперь автоматически выбирается для подсказки значения при отображении отчета.

Однако, если я удалю 2012 год из списка выбранных по умолчанию и изменю свое выражение элемента данных на любое из этих выражений:

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

... ни одна страница приглашения не появляется, как когда 2012 был указан в качестве выбора по умолчанию, но значение для приглашения значения не выбирается автоматически. В подсказке значения отображается текст заголовка по умолчанию: имя параметра - Year_Parameter ".

Помните определение функции подсказки:

подсказка (имя_прошивки, тип данных, текст по умолчанию, текст, элемент запроса, конечный_текст)

Кто-нибудь знает, почему это происходит, и, что более важно, решение того, как выбрать вариант по умолчанию для запроса значения, указав его в выражении элемента данных?

Это потому, что макрос prompt () пытается получить только значение параметра Year_Parameter, но сам по себе не заполняет параметр значением? Параметр должен быть задан в виде подсказки значения (на странице подсказки или встроен в страницу отчета).

Следовательно, аргумент defaultText для функции подсказки НИКОГДА не будет заполнять сам параметр, но будет возвращен этой конкретной функцией подсказки в тех случаях, когда параметр не имеет (действительного) значения?

Заранее большое спасибо за любой вклад!

Изменить: нашел это объяснение о том, как динамически назначать значение по умолчанию для параметров.

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

Финал: я использовал следующий Javascript для динамического выбора запроса значения и обновления отчета:

<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>

person Skovly    schedule 15.11.2013    source источник


Ответы (1)


Точно, как говорит Сковли, макрос подсказки не может заполнить значение параметра. Из предоставленной ссылки я бы выбрал javascipt (первый вариант), но имейте в виду, что IBM меняет синтаксис от версии к версии.

(Я еще не знаю, как публиковать комментарии к ответам, иначе я бы прикрепил их к предыдущему, чтобы укрепить мнение, что вы не можете делать то, что хотите, с помощью макроса подсказки).

person Jan Svatos    schedule 18.11.2013