|
Обсуждение вопросов, связанных с Crystal Reports 2008, Crystal Reports Server, Crystal Xcelsius, BusinessObjects Enterprise, BusinessObjects Edge и другими продуктами Business Objects.
Тема "Re[2]: Сравнение значений полей соседних строк в пределах группы"
Автор:
Oleg A.
|
Дата: 04.07.2006 12:31 |
| Зуля пишет 03.07: >Oleg A. пишет 29.06: >>Есть ли возможность сравнить значения полей соседних строк в пределах группировки? >Можно с помощью формулы. Задаете 2 переменные. В первую записываете текущее значение, во второй хранится предыдущее, таким образом можно сравнивать. Формулу вставляете в details. >WhilePrintingRecords; >numberVar pred; >numberVar tek; > pred:=tek; > if pred<> (текущее значение) then ..... > tek:=(текущее значение) > Спасибо за ответ, но я думаю это всё же неверное решение. Вы не учитываете то что нужно сравнивать строки в пределах группы. Я вобщем-то решение уже нашёл. Создаём две формулы : 1-ую помещаем в Group Header
WhilePrintingRecords; numberVar i := 0; //сброс номера строки в группе
2-ую помещаем в секцию Details
WhilePrintingRecords; numberVar i; i:=i+1; //номер текущей строки в группе if Count({Asset.InstanceId},{Asset.InstanceId})-i>0 //проверка что строка не последняя в группе //("количество"-"номер текущей строки">0) and Next({BeginDateTime})-{BeginDateTime}>1 //сравниваем значения полей соседних строк then DateValue(Next(.BeginDateTime})) //выводим значение поля следующей строки |
Ответить на сообщение » |
Автор:
Зуля
|
Дата: 03.07.2006 15:43 |
| Oleg A. пишет 29.06: >Есть ли возможность сравнить значения полей соседних строк в пределах группировки? Можно с помощью формулы. Задаете 2 переменные. В первую записываете текущее значение, во второй хранится предыдущее, таким образом можно сравнивать. Формулу вставляете в details. WhilePrintingRecords; numberVar pred; numberVar tek; pred:=tek; if pred<> (текущее значение) then ..... tek:=(текущее значение) |
Ответить на сообщение » |
|