Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: CL | DM;

Вниз

Как грамотно представить годовой репорт?   Найти похожие ветки 

 
Бывающий   (2004-01-22 12:39) [0]

Собственно надо расположить данные о годовых финансах примерно так:
--------------------------------------------------------------
| Jan | Feb | Mar | Jun | Jul |.....
--------------------------------------------------------------
планируемый оборот
Оборот по факту
Недополучено
Планируемый расход
....
--------------------------------------------------------------

Данные считываю запросом, проверил все считается правильно:

SELECT BudjetPeriodID, SUM(Prixod) AS Oborot, SUM(Polucheno) AS OborotFact, SUM(Debet) AS Nedopolucheno, SUM(Rasxod) AS PlannedRasx, SUM(Oplacheno) AS RasxodFact, SUM(Kredit) AS Zadolzhennost FROM dbo.BudjetsMain
WHERE (BudjetPeriodID IN
(SELECT BudjetPeriodID FROM BudjetsPeriods WHERE
BPYear = 2004))
GROUP BY BudjetPeriodID


Но, полученный рекордсет надо ТРАНСПОНИРОВАТЬ дабт выпихнуть в требуемом виде. Есть какие идеи/опыт как это проще и ПРАВИЛЬНЕЙ сделать?

ЗЫ: Используется QuickReports.


 
Бывающий   (2004-01-22 12:40) [1]

GROUP BY BudjetPeriodID в моем случае как раз и осуществляет разбивку по месяцам.


 
Johnmen ©   (2004-01-22 12:51) [2]

Временная таблица в общем случае...


 
Бывающий   (2004-01-22 13:23) [3]

А поточнее? Как ее создать?


 
LordOfSilence ©   (2004-01-22 13:29) [4]

Открой BOL и поищи по ключевому слову pivot table


 
Academic ©   (2004-01-22 13:48) [5]

В общем случае, я создаю локальный TClientDataSet.
Добавляю нужные поля и перебором заполняю в процедуре.


 
Stas ©   (2004-01-22 13:51) [6]

Можешь создать таблицу Table c двумя полями:
ID,NAME:
ID 1,2,3,4...
Name планируемый оборот,Оборот по факту
А потом в своем запросе делаешь так:
Select Name,
Jun:=Case
When BudjetPeriodID=1 and Id=1 then sum () //Планируемый расход
...
When BudjetPeriodID=1 and Id=4 then sum (Rasxod)
...
From ButjetsMain,Table
...

Group by Table.ID, BudjetPeriodID


 
Stas ©   (2004-01-22 13:54) [7]

Можешь создать таблицу Table c двумя полями:
ID,NAME:
ID 1,2,3,4...
Name планируемый оборот,Оборот по факту
А потом в своем запросе делаешь так:
Select Name,
Jun:=Case
When BudjetPeriodID=1 and Id=1 then sum () //Планируемый Оборот
...
When BudjetPeriodID=1 and Id=4 then sum (Rasxod)
...
From ButjetsMain,Table
...

Group by Table.ID, BudjetPeriodID



Страницы: 1 вся ветка

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
3-38755
Крутыш
2004-01-25 13:43
2004.02.13
Простенький запрос, а работать не хочет.


3-38705
чайник1
2004-01-22 14:19
2004.02.13
Access violation


14-39070
iudjen
2004-01-23 21:40
2004.02.13
по истечении 30 дней программа не работает если не ввел пароль


14-39068
vopros
2004-01-27 11:32
2004.02.13
Где хранит RemoteAdministrator список компьютеров для просмотра?


3-38746
VladimirKVT
2004-01-21 07:58
2004.02.13
Как правильно и/или лучше сделать откат?