Cognos Report Studio If then или Case Statement, сравнивающий два разных типа данных

Мне нужно найти мои продажи / доходы по основному счету и основной группе

Я продолжаю получать следующую ошибку

В этом примере я пытаюсь рассказать о моих восстановленных продажах, оба находятся в основном счете 4100, но мои восстановленные производственные продажи имеют G/L Group PRODUCTION

Я создал новый запрос и положил

if ([G/L Account] = 4100 and [G/L Group] = 'PRODUCTION') THEN ([Credit Amount] - [Debit Amount]) ELSE (0)

Когда я проверяю, я не получаю ошибок, но когда я пытаюсь просмотреть табличные данные, я получаю следующую ошибку. Произошла ошибка при выполнении операции "sqlPrepareWithOptions" status='-126'.

Я тогда попробовал это

[Rebuilt_calc1]

[G/L Account] = 4100

[Rebuilt_calc2]

CASE [rebuilt_calc1]
WHEN ([G/L Group] = 'PRODUCTION')
THEN ([Credit Amount] - [Debit Amount]) 
ELSE (0)
END

Это из-за таблиц, которые я пытаюсь сравнить? GL аккаунт и GL группа? Учетная запись GL находится в [Система управления распределением]. [Подробный регистр]. [Основной счет] Группа GL находится в [Система управления распределением]. [Элемент Основная группа основной записи]. [Основная группа]

Оба в модели отчета Главной книги

1 ответ

Решение

Пытаться

if (([G/L Account] = '4100') и ([G/L Group] = 'PRODUCTION')) THEN ([Сумма кредита] - [Сумма дебета]) ELSE (0)

Ошибка 126 иногда вызывается неподдерживаемыми функциями преобразования типов, поэтому может оказаться целесообразным поместить выражения в Cast varchar(50), чтобы проверить, так ли это. Вы также можете проверить файл cogserver.log в папке cognos_installation / logs, там должно быть подробное описание ошибки.

Другие вопросы по тегам