powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Построение сводного отчёта
7 сообщений из 7, страница 1 из 1
Построение сводного отчёта
    #32020342
Slava_BAZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица со структурой месяц(int), товар(string), сумма(float).
Хочу построить стандартными средствами Delphi отчёт в котором месяца будут вытянуты в строчку и в конце строки сумма за год, а в столбцах - товар (например):
янв фев март ....... дек. За год
пиво 5,5 6,3 5,9 8,3 100,3
водка 4,3 4,9 5,9 8,8 110,6

Возможно ли это, а если да то как это сделать?
...
Рейтинг: 0 / 0
Построение сводного отчёта
    #32020560
Kate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если печатать не надо, а только на экран, то используйте DecussionCube
...
Рейтинг: 0 / 0
Построение сводного отчёта
    #32020631
Slava_BAZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если надо печатать, то как быть?
...
Рейтинг: 0 / 0
Построение сводного отчёта
    #32020639
nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не вижу проблеммы
всё зависит от того что за база
если это какой-нибудь SQL, то для ORACLE это выглядить примерно так
select товар,
sum(decode(месяц,1,сумма,0)) янв,
sum(decode(месяц,2,сумма,0)) февр,
...
sum(decode(месяц,12,сумма,0)) дек,
sum(сумма) год
from table_name
group by товар

этот запрос сделает тебе все что ты хочеш. вставляешь его в любой генератор отчета и все.
...
Рейтинг: 0 / 0
Построение сводного отчёта
    #32020716
Slava_BAZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С Oracl-ом понятно, а есть ли в transact-SQL функция аналогичная DECODE в Oracle. Так как база лежит на SQL сервере.
...
Рейтинг: 0 / 0
Построение сводного отчёта
    #32020753
nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда существует 2 способа решения проблемы
1 (правильный) написать подобную функцию самому
2 заниматься извращениями
один из способов "вырезания гланд через зад" прилагается
select товар,
sum((-sign(abs(месяц-1))+1)*сумма) янв,
sum((-sign(abs(месяц-2))+1)*сумма) февр,
...
sum((-sign(abs(месяц-12))+1)*сумма) дек,
sum(сумма) год
from table_name
group by товар

надеюсь с математическими функциями у твоего SQL все хорошо
...
Рейтинг: 0 / 0
Построение сводного отчёта
    #32020809
Slava_BAZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо nick, всё очень замечательно получилось, у меня бы на такое извращение ума бы не хватило.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Построение сводного отчёта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]