Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите возможную реализацию отчета, Oracle, FastReport 
V
    Опции темы
Kbl4AH
Дата 9.2.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 6
Всего: 15



Здравствуйте, сабж.
Есть таблица вида:
--------------------------------------------------------
| дата     | человек  | локация  | значение |
--------------------------------------------------------
01.01.09 | Вася        | Европа    | 05             |
02.01.09 | Вася        | Европа    | 10             |
01.01.09 | Вася        | Африка   | 15             |
01.01.09 | Коля        | Африка   | 20             |
01.01.09 | Саша      | Европа    | 25             |
01.02.09 | Петя       | Америка  | 30             |
--------------------------------------------------------


Нужно сделать отчет вида:
Отчет за январь
------------------------------------------------
Локация | Вася | Коля | Петя | Саша |
------------------------------------------------
Африка   | 15    | 20    | -        | -         |
Европа    | 15    | -       | -        | 25      |
-------------------------------------------------


То есть в шапке всегда полный список человеков (список людей постоянный), а в столбце 'локация' только те локации, которые есть для данного месяца...
В ячейках соответственно суммы...
Как это можно сделать?
Сделать одним запросом для ДатаСета у меня не получается...
В самом ФастРепорте как-то хитро сделать - не могу придумать...
С ходу только такой выход - создать промежуточную таблицу, в которой поля - человеки, заполнить ее для нужного месяца, а уже из нее выбирать данные для отчета... но это очень не рационально и остается только на крайний случай...
Посоветуйте, что-нибудь, буду признателен.

Это сообщение отредактировал(а) Kbl4AH - 9.2.2009, 15:17
PM MAIL ICQ   Вверх
Kbl4AH
Дата 9.2.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 6
Всего: 15



В принципе придумал запрос, но как-то криво мне кажется (частный случай)(((
Код

select locaciya, 
sum(decode(chelovek, 'Вася', znachenie, null)) 'Вася',
sum(decode(chelovek, 'Коля', znachenie, null)) 'Коля',
sum(decode(chelovek, 'Петя', znachenie, null)) 'Петя',
sum(decode(chelovek, 'Саша', znachenie, null)) 'Саша'
from table
where trunc(data, 'mm') = trunc(:Data, 'mm')
group by locaciya;

PM MAIL ICQ   Вверх
Frees
Дата 9.2.2009, 15:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



в Faste смотри frxCrossObject


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Kbl4AH
Дата 9.2.2009, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 6
Всего: 15



Спасибо, Frees.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.