BIRT: использование параметра в «group by» части SELECT - PullRequest
1 голос
/ 29 ноября 2011

Я схожу с ума от этой проблемы:

У меня есть несколько Oracle SQL-Reports, чтобы перепроектировать их с BIRT.Первые вещи работали отлично, но теперь в отчете есть SELECT, который использует GROUP BY, и по какой-то причине он не работает в BIRT ...

Всегда есть ошибка типа "Предложение GROUP BY - нет GROUPВыражение BY.

Кажется, проблема в том, что я использую параметр в части GROUP BY, потому что когда я удаляю параметр и передаю любое значение в запросе, он работает.

Кто-нибудь знает, как решить эту проблему?

Привет

Ответы [ 2 ]

1 голос
/ 21 июня 2012

Кажется, проблема в том, что мне пришлось добавить один и тот же параметр дважды (один? Для выбора, один для группировки по), а BIRT не заменяет? с его значением, но с использованием параметров SQL, и они отличаются также, когда они указывают на одну и ту же цель. Или что-то типа того. Использование «временной таблицы», как описано в связанной теме (stackoverflow.com/questions/6059412/…), сработало для меня!

0 голосов
/ 05 декабря 2011

Я бы предложил оставить SQL без выражения GROUP BY и выполнить группировку по таблице или диаграмме с отображением данных.Когда вы добавляете группировку в таблицу, вы сможете определить группу по выражению как что-то вроде:

row[params["MY_PARAMETER"].value]

Передача параметра в группу Oracle будет затруднена, поскольку сгруппированные столбцы являютсятолько те, которые могут появляться непосредственно в предложении SELECT (все, что не входит в группу, может появляться только внутри групповой функции, такой как SUM, MIN, MAX, COUNT и т. д.), поэтому вам нужно будет изменить SQL на летудобавить / удалить столбцы в предложении SELECT.Это возможно, но сложно.

...