Суммирование

отредактировано 14:48 Раздел: FastReport 2.xx VCL
Есть связка master-detail. В отчете два бенда master и соотвественно detail. Так вот я хочу в каждой записи mastera выводить общую сумму поля всех записей detail. Вроде прописал все но в итоге, либо получается Ноль , либо только сумма первой записи detail. Если кому не трудно поделитесь примерчиком или объсните как сделать суммирование.

ipavel666(dog)pisem.net <- мое мыло.

Комментарии

  • UnMiUnMi Питер
    отредактировано 14:48
    Там вроде как можно указать откуда суммировать, если использовать агрегатную функцию <span style='color:blue'>[SUM([POLE1], DetailData1)]</span>. А чтобы обработать невидимые бэнды
    там же после DetailData1 ставишь 1 (<span style='color:blue'>[SUM([POLE1], DetailData1,1)]</span>). Вроде так, по крайней мере у меня так получалось. ;)
  • отредактировано 14:48
    UnMi написал:
    Там вроде как можно указать откуда суммировать, если использовать агрегатную функцию <span style='color:blue'>[SUM([POLE1], DetailData1)]</span>. А чтобы обработать невидимые бэнды
    там же после DetailData1 ставишь 1 (<span style='color:blue'>[SUM([POLE1], DetailData1,1)]</span>). Вроде так, по крайней мере у меня так получалось. ;)
    а в какой бэнд вставлять эту агрегатную функцию имеет значение или нет?
  • отредактировано 14:48
    Так вроде понял куда вставлять агрегатные функции. Похоже это footer`ы, значит в заголовок таблицы общую сумму нельзя засунуть или все таки как то можно?
  • UnMiUnMi Питер
    отредактировано 14:48
    Чтобы добавить в заголовок общую сумму, необходимо воспользоваться группами. Посмотри пример Reports из поставки, там есть отчет Group Totals In Header . Думаю это то, что тебе нужно.
  • отредактировано 14:48
    UnMi написал:
    Чтобы добавить в заголовок общую сумму, необходимо воспользоваться группами. Посмотри пример Reports из поставки, там есть отчет Group Totals In Header . Думаю это то, что тебе нужно.
    Пример я этот смотрел, там Group Header просить указать поле базы данных, но я так и не понял для чего ону нужно. Скорее всего для фильтрации.
  • отредактировано 14:48
    Я посоветовал бы, так сделать.

    Первое - Report с 2 пробегами сделать.
    Второе – в Detailfooter.OnBeforePrint записать
    Begin
    If not FINALPASS then begin
    SumValue1 := Sum(Field1,Detaildaten1,1);
    SumValue2 := Sum(Field2,Detaildaten1,1);
    End;
    End

    А на Masterdaten1 положить frMemoView1 и frMemoView2 и занести:
    [SumValue1] или [SumValue2]

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.