Элемент динамического запроса, используемый для сортировки
Вопрос
Я использую Cognos Framework Manager и создаю элемент данных для динамической сортировки.Я создаю элемент данных, используя СЛУЧАЙ, когда, вот мой пример кода:
CASE #prompt('SortOrder', 'string')#
WHEN 'Date' THEN <Date Column>
WHEN 'ID' THEN <String Column>
END
Я получаю эту ошибку QE-DEF-0405 Incompatible data types in case statement
.Хотя я могу преобразовать столбец даты в строку, не приведет ли это к неправильной сортировке для параметра "дата"?Должен ли я использовать столбец даты по-другому, использовать весь регистр, или я лаю не на то дерево?В соответствии с моим вопросом, должно ли существовать общее правило при создании динамических столбцов с помощью CASE
с несколькими типами данных столбцов?
Решение
Столбец в Framework Manager должен иметь тип данных.Только один тип данных.Таким образом, вам нужно преобразовать ваш столбец даты в корректно сортируемую строку.Напр.формат "гггг-мм-дд".
Другие советы
Вы используете два разных типа формата данных, поэтому в функции prompt используйте токен вместо строки (#prompt('sortorder','token')#)