|
Обсуждение вопросов, связанных с Crystal Reports 2008, Crystal Reports Server, Crystal Xcelsius, BusinessObjects Enterprise, BusinessObjects Edge и другими продуктами Business Objects.
Тема "Как посчитать итоги?"
Автор:
Sveta
|
Дата: 22.07.2008 21:14 |
| PS: да, если 'Running_Total' создан для группы, то поставь его в GF для соответствующей группы, если для всего отчета, то в RF.
afal пишет 15.07.2008 16:07: >Спасибо, все получилось! >А как посчитать строки, в которых проставлена дата? Т.е., например, когда объект выбывает ставиться дата выбытия. Вот как такие строки, посчитать? >Попробовал написать по аналогии для деталей формулу: >Global numberVar Cntdl; >if not isnull({_stdRect.EndDat}) then Cntdl:=Cntdl+1 >а он считает все подряд строки и где дата проставлена, и где нет. Т.е. isnull({_stdRect.EndDat}) всегда ложно, а пустая строка ({_stdRect.EndDat}=””) вообще выдает ошибку. Что здесь нужно сделать? > |
Ответить на сообщение » |
Автор:
Sveta
|
Дата: 22.07.2008 20:52 |
| Я бы все это считала через Running Total (зачем делать 2-3 формулы, если можно сделать 1 Running Total), но кому как удобнее.
->Field Explorer ->правый клик на Running Total Fields ->New Fields to summarize: {таблица.поле} //лучше брать ключевое поле Type of summary -> выбери 'Count' Evaluate: чекни 'Use a formula' и кликни на 'x+2', что справа У тебя откроется 'Formula Workshop' окошко, в нем напиши условие:
not isnull({таблица.твое_поле_где_дата})
кликни на 'Save and close' Теперь, если ты считаешь это для какой-то группы, то в секции "Reset" (сброс) чекни 'On change of group' и выбери соответствующую группу, если для всего отчета, то оставь "Reset" в состоянии "Never" (никогда)
afal пишет 15.07.2008 16:07: >Спасибо, все получилось! >А как посчитать строки, в которых проставлена дата? Т.е., например, когда объект выбывает ставиться дата выбытия. Вот как такие строки, посчитать? >Попробовал написать по аналогии для деталей формулу: >Global numberVar Cntdl; >if not isnull({_stdRect.EndDat}) then Cntdl:=Cntdl+1 >а он считает все подряд строки и где дата проставлена, и где нет. Т.е. isnull({_stdRect.EndDat}) всегда ложно, а пустая строка ({_stdRect.EndDat}=””) вообще выдает ошибку. Что здесь нужно сделать? > |
Ответить на сообщение » |
Автор:
afal
|
Дата: 15.07.2008 16:07 |
| Спасибо, все получилось! А как посчитать строки, в которых проставлена дата? Т.е., например, когда объект выбывает ставиться дата выбытия. Вот как такие строки, посчитать? Попробовал написать по аналогии для деталей формулу: Global numberVar Cntdl; if not isnull({_stdRect.EndDat}) then Cntdl:=Cntdl+1 а он считает все подряд строки и где дата проставлена, и где нет. Т.е. isnull({_stdRect.EndDat}) всегда ложно, а пустая строка ({_stdRect.EndDat}=””) вообще выдает ошибку. Что здесь нужно сделать? |
Ответить на сообщение » |
Автор:
Zzh
|
Дата: 14.07.2008 10:24 |
| >Простой отчет, без группировки, содержит три поля: Фамилия, ИНН и Кол-во посещений. В поле «Кол-во посещений» значения от 1 до 5. Как посчитать, сколько записей в отчете со значением 1, а сколько со значением 5.
Если без группировки, то я попробовала так: Создаете 2 формулы, одну размещаете в деталях и делаете супрес, вторую в репортфутере. 1: Global numbervar y; if {поле.Количество}=1 then y:=y+1;
2: EvaluateAfter ({@1_формула}); numbervar y; y |
Ответить на сообщение » |
Автор:
afal
|
Дата: 11.07.2008 08:48 |
| Простой отчет, без группировки, содержит три поля: Фамилия, ИНН и Кол-во посещений. В поле «Кол-во посещений» значения от 1 до 5. Как посчитать, сколько записей в отчете со значением 1, а сколько со значением 5. |
Ответить на сообщение » |
|