LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: Sironis on February 27, 2017, 11:10:15 am
-
Доброго времени суток.
Заметил проблему связанную с работой функций SUM, AVG и прочие. Внутри Horizontal layout они не работают.
-
Вопрос скорее к Алексу, но, кажется уже обсуждали с ним и так и должно быть.
Агрегатные функции работают в футерах бэндов нормально.
Я же решал вопрос просто и эффективно. Создавал новый источник данных, например из одного отчета
students - существующий, созданный из программы через createCallbackDataSource источник
exam_chart - выпускные гос экзамены, мне нужно в произвольном месте отчета кол-во экзаменов знать
select count(id) as exam_count from exam_chart where student_id=$D{students.id}
Ну еще Алекса подождем, может что-то изменилось с тех пор как мы с ним обсуждали этот вопрос
-
Как правильно сказал Subst агрегатные функции работают только в футерах. В процессе генерации бандов значения накапливаются и в момент генерации футера вычисляются. И наличие горизонтальной группировки на это не влияет. Если это не так, можно заслать пример, я гляну.
-
Спасибо за ответ! Тогда можно другой вопрос? У меня функция SUM() работает по значению ячейки в GroupBandHeader, и при условии если групп больше одной она отрабатывает нормально. Однако, как только появляется вариант данных когда группа всего одна мне на месте SUM прилетает пустая ячейка.
С чем это может быть связано?
-
На данный момент нормальная работа групповых функций гарантированна только в футере :) в заголовке эти функции могут возвращать вовсе не то, что от них ожидается
-
Если очень надо, могу подумать над использованием групповых функций в заголовках
-
Было бы замечательно. Думаю такой функционал очень добавил гибкости в работе с библиотекой.
Тем не менее, посмотрите ещё пожалуйста. Вы не правильно поняли вопрос. Повторю момент вышеописанный, у меня в футтере находится агрегатная функция sum берущая значение из groupheadera того же dataBand'a что и у футтера.
Проблема проявляется когда строка groupHeader всего одна, в этом случае summ просто не вызывается и ничего не считает. Ту же ситуацию обнаружил когда попробовал в футтере разместить summ считающий значение из ячейки в dataBand. Когда данных на одну строку, sum не работает.
-
А можно пример для верности ?
-
Да, конечно. Сейчас будет.
-
Хм.. Извиняюсь. В тестовом всё нормально работает. похоже что-то в файле шаблона было. Пересохранил, всё в норме.
Спасибо за помощь)