понедельник, 18 марта 2013 г.

OBIEE 11g (11.1.1.6.8) + MS SQL 2008



Ошибка появляется при попытке выбрать показатель из факт + что-то из несвязанного с ним измерения. По идее мы просто должны получить наименования из измерений и пустые поля в показателях, однако на деле BI выдает следующее:
[nQSError: 16001] ODBC error state: 37000 code: 145 message: [Microsoft][SQL Server Native Client 10.0][SQL Server]ORDER BY items must appear in the select list if SELECT DISTINCT is specified.. [nQSError: 16002] Cannot obtain number of columns for the query result. (HY000)

На металинке есть нота 1308545.1 и баг 11786576, в которых советуют выставить параметры БД (IS_)EXPRESSIONS_IN_ORDERBY_SUPPORTED в NO (UNCHECKED) и, если не помогает, NESTED_ORDERBY_SUPPORTED  в NO. Но у меня ни то, ни другое не помогло.

Проблема в физическом запросе была в секции ORDER BY, где BI упорно пытался сделать что-то вроде "order by case when D1.c4 is null then 1 else 0 end ....".

Просмотрев доступные опции базы, было найдено NULL_VALUES_SORT_FIRST. Выставив этот параметр в NO, все заработало.

Комментариев нет:

Отправить комментарий