2010-02-18 1 views
1

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

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

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

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

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

РСВ-VAL-0002 Недопустимое выражение IF (. [MyQuery] [год] = [myQuery] [RECENT_YEAR].) ТОГДА ("RecentYearBold"). CRX-API-0005 Ошибка на позиции «34» или вокруг нее. Переменная с именем '[myQuery]. [RECENT_YEAR]' неверна.

ответ

1

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

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

прежде всего спасибо за Ваш ответ ... Потому что я ждал в течение недели, чтобы эта тайна решена. Да, как вы сказали, я не должен был недооценивать вариант «подтвердить» ... Спасибо yaar. спасибо большое ... – Amsakanna

+0

делает это максимальное ключевое слово работает для вас? Я хочу, чтобы весь столбец last_year содержал только «2010». Любая помощь? – Amsakanna

+0

Ваше сообщение указывает, что вы хотите выделить строки, содержащие «последний год», а не фильтровать результаты. Если вы просто хотите видеть записи, содержащие последний год, используйте выражение в # 2 выше в фильтре отчетов. – Jamey

3

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

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