Группировка в отчете (или запросе)

SAS!
Дата: 19.11.2006 14:34:33
Помогите, сам что-то сообразить не могу...
Есть таблица плотностей и объемов:
Плотность Объем
1.00 - - - - 120
1.01 - - - - 51
1.02 - - - - 44
1,03 - - - - 50
1,04 - - - - 48
1,05 - - - - 32
... - - - - ...
1,17 - - - - 12
1,18 - - - - 156
1,19 - - - - 25
1,20 - - - - 65
1,21 - - - - 44

Надо сгруппировать плотности поинтервально и показать сумму объема, например:
Плотность объем
< 1.03 - - - - 215
1,03-1,05 - - - - 130
1,06-1,11 - - - - ...
1,12-1,18 - - - - 168
> 1.19 - - - - 134
проблемка в том, что интервал плотностей неодинаковый...

Как сие воплотить в отчете (или запросе)
mds_world
Дата: 19.11.2006 15:07:02
Очень неочевидные данные, сильно расходятся между собой первая и вторая табличка. Тем не менее, могу предложить вам сделать следующее:
1. Отдельную таблицу интервалов. Поскольку, как вы говорите, шкала плотностей нелинейная, это сделать необходимо.
Интервал-старт Интервал-Финиш
0 1.03
1.03 1.05
1.06 1.11

2. Сделать запрос на попадание записи в определеные интервалы. По-видимому, сразу следует делать группирующим, чтобы не суммировать потом в отчете.
3. В запросе считать как количество попаданий (Count), так и сумму объемов (Sum). Среднее значение, если оно интересует, получится делением Sum/Count. Хотя, конечно, можно и сразу среднее считать.
4. Этот запрос сделать источником записей (RecordSource) отчета.
Владимир Саныч
Дата: 19.11.2006 15:09:11
Заводим табличку:

отдо№ интервала
01.031
1.031.052

Присоединяем ее к данным:

ON полевданных BETWEEN от AND до

№ интервала включаем в список полей и дальше группируем по нему.
Владимир Саныч
Дата: 19.11.2006 15:09:55
Аппиридили...
Модератор: Geo: Почистил оффтопик
Владимир Саныч
Дата: 19.11.2006 16:31:03
Geo
Почистил оффтопик

Спасибо.
SAS!
Дата: 20.11.2006 15:14:45
Уж я с ней и так и этак,
Со словами и без слов...

Не могу сообразить, как сию табличку (с интервалами) к отчету/запросу приладить... Понимаю, что надо источник записей для отчета сделать такой, что б там две таблицы фигурировали... Но как их связать?
mds_world
Дата: 20.11.2006 16:39:14
Может быть вот так вам подойдет. (Названия столбцов таблицы Интервалы в формулировке ВС)
SELECT Sum(Плотность.Объем) AS [Sum-Объем], Интервалы.ID, Count (Плотность.Плотность) AS [Count-Плотность], 
Интервалы.От, Интервалы.До
FROM Плотность, Интервалы
WHERE (([Плотность].[Плотность] Between [Интервалы].[От] And [Интервалы].[До]))
GROUP BY Интервалы.ID, Интервалы.От, Интервалы.До;
SAS!
Дата: 23.11.2006 08:21:29
Сработало! Спасибо