Группировка
Таблица отсортирована в порядке возрастания
22,00
22,00
87,30
104,00
480,00
480,15
530,00
552,90
Нужно получить отчет по количеству строк сгруппированных по диапазону до 100, 100-500, свыше 500
1. Сделал отчет двухпроходный.
2. В MasterData вывожу значения таблицы.
3. В GroupHeader установил выражение группировки - переменную GROUP.
4. В GroupFooter подсчитываю количество строк MasterData в получившихся группах.
Сами же группы назначаются в процедуре MasterData1OnBeforePrint следующим образом:
Группа 0
0 22
0 22
0 87,3
1 104
Позиций 4
Группа 1
1 480
1 480,15
2 530
Позиций 3
Группа 2
2 552,9
Позиций 1
Последняя строка почему-то входит в другую группу. Почему? И как это обойти?
22,00
22,00
87,30
104,00
480,00
480,15
530,00
552,90
Нужно получить отчет по количеству строк сгруппированных по диапазону до 100, 100-500, свыше 500
1. Сделал отчет двухпроходный.
2. В MasterData вывожу значения таблицы.
3. В GroupHeader установил выражение группировки - переменную GROUP.
4. В GroupFooter подсчитываю количество строк MasterData в получившихся группах.
Сами же группы назначаются в процедуре MasterData1OnBeforePrint следующим образом:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
if Engine.FinalPass then
begin
GROUP:=2;
if <Отчет."Сумма с уч. скидки"><500 then GROUP:=1;
if <Отчет."Сумма с уч. скидки"><100 then GROUP:=0;
end;
end;
В результате получаю такой отчет:Группа 0
0 22
0 22
0 87,3
1 104
Позиций 4
Группа 1
1 480
1 480,15
2 530
Позиций 3
Группа 2
2 552,9
Позиций 1
Последняя строка почему-то входит в другую группу. Почему? И как это обойти?
Комментарии
Попробуйте в GroupHeader.OnBeforePrint