Cognos: использование значения DataItem в выражении условной переменной - PullRequest
1 голос
/ 18 февраля 2010

У меня есть список, в котором есть столбец «ГОД». Я хочу, чтобы последний год (2010) был выделен жирным шрифтом в колонке «ГОД». Я попробовал это выражение

IF ( [myQuery].[YEAR] = [myQuery].[RECENT_YEAR]) THEN ( "RecentYearBold" )

где [RECENT_YEAR] - это DataItem с выражением maximum([YEAR])

Это приводит к ошибке и не позволяет использовать DataItem в выражении условной переменной. Кто-нибудь может помочь?

Ошибка, которую я получаю:

RSV-VAL-0002 Неверное выражение IF ([myQuery]. [YEAR] = [myQuery]. [RECENT_YEAR]) THEN ("RecentYearBold"). CRX-API-0005 Ошибка в позиции 34 или около нее. Переменная с именем '[myQuery]. [RECENT_YEAR]' недопустима.

Ответы [ 2 ]

3 голосов
/ 13 ноября 2012

Проблема в том, что Cognos 8 удаляет из запроса переменные, которые не используются объектом отчета (в вашем случае это объект List). Если вы хотите, чтобы они были доступны, вам нужно добавить элемент запроса в свойства данных объекта отчета. Обратите внимание, что вы МОЖЕТЕ добавить элемент в свой список (но тогда вы должны его скрыть, это ужасно). Гораздо лучше поручить Cognos включить элемент запроса в объект отчета, чтобы избежать ненужных уловок.

Эта ссылка объясняет проблему и решение более подробно: http://www -01.ibm.com / support / docview.wss? Uid = swg21339433

1 голос
/ 27 февраля 2010

Мне удалось выполнить то, что вы пытаетесь (после получения той же ошибки, что и вы), применив следующий подход:

  1. Я создал столбец [Recent_year], который будет следующим: maximum ([cognos_test].[year] for report). (Вы можете использовать другую область, если хотите.)
  2. Создал логическую переменную в Conditon Explorer с именем recent year со следующим выражением: [Query1].[year] = [Query1].[recent_year]
  3. Я добавил столбец года в список, установил переменную стиля = recent year и применил условное форматирование жирным шрифтом к столбцу года, когда recent year = true
  4. В этот момент, когда я выполнил отчет, я получил ту же ошибку, что и вы. Проверка отчета дала немного больше информации, что указывало на то, что поле [Query1].[recent_year] также должно быть в списке. Когда я добавил его в список, сработало условное форматирование. (Действительно не уверен, почему это так, но я пошел с этим.)
  5. Чтобы скрыть столбец [recent_year] (оставляя его в списке), можно установить для свойства «Тип коробки» для объектов «Тело столбца списка» и «Заголовок столбца списка» для столбца недавнего года значение «Нет». .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...