Расчет промежуточных итогов в процентах от общего итога в Crystal Reports 2008 - PullRequest
0 голосов
/ 17 ноября 2010

Я знаю, что об этом неоднократно спрашивали люди по всей сети, но я не могу понять, почему мое решение не работает.

У меня есть группа групп, и в нижнем колонтитуле каждой группы есть промежуточный итог, который действует как промежуточный итог для этой группы. В самом низу страницы у меня есть промежуточный итог, который складывает все эти промежуточные итоги, чтобы получить общий итог. Это все прекрасно работает.

Справа от каждого промежуточного итога (нижний колонтитул группы) у меня есть поле формулы, которое вычисляет, какую долю от общего итога представляет этот промежуточный итог.
т.е. если общий итог равен 4, а промежуточный итог равен 1, в поле формулы отображается 25%.

Проблема в том, что для каждой группы в отчете итоговый итог еще не был полностью подсчитан (до последней группы), поэтому проценты рассчитываются по неполным итоговым суммам.

Чтобы бороться с этим, я попытался использовать функцию WhilePrintingRecords; в полях моей формулы процента, чтобы гарантировать, что промежуточные проценты не будут рассчитываться до 2-го прохода отчета, к этому времени общий итог должен быть полностью рассчитано.

WhilePrintingRecords;
If {@LoggedToday} > 0 Then
    {#LoggedToday}  / {#TotalLoggedToday} * 100
Else
    0

Это не работает, хотя! Буквально это никак не повлияло: o (

)

Кто-нибудь знает, где я иду не так?
Спасибо.

1 Ответ

3 голосов
/ 18 ноября 2010

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

Вместо этого я предлагаю создать формулу Crystal для вашего процента в форме:

Sum ({ числовое поле }, { элемент группировки }) % Sum ({ числовое поле })

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...