сложные условия в выражениях итогов отчета

Piter RingPiter Ring Kiev
отредактировано 10:48 Раздел: FastReport 4.0
не получается посчитать сумму в итоге отчета с условиями по двум критериям.
Пример:

поле1 поле2 поле3 сумма1
1 вася 1 100,00
1 коля -1 100,00
2 маша 1 100,00
1 вася 1 100,00

нужен итог по критериям поле1 и поле3 сумма по полу сумма1
по идее выражение должно быть следующим:
[SUM(IIF((<qMain."поле3">>0) AND (<qMain."поле1">=2),<qMain."сумма1">,0),MasterData1)]

Но ничего не работает, ругается, экспектед ")"
Понятное дело что скобки тут ни при чем.
Документация по конструкции IIF(,,) и в частности по допустимым выражениям в "условии" - отсутствует.

Комментарии

  • gpigpi
    отредактировано 10:48
    Должно работать. Вот это работает
    [SUM(IIF(((<Customers."Cust No">>2000) AND (<Customers."Cust No">>2000)), <Customers."Cust No">, 0),Band4)]
    в FRDemo в отчёте 2.fr3
  • Piter RingPiter Ring Kiev
    отредактировано November 2009
    gpi написал: »
    Должно работать. Вот это работает
    [SUM(IIF(((<Customers."Cust No">>2000) AND (<Customers."Cust No">>2000)), <Customers."Cust No">, 0),Band4)]
    в FRDemo в отчёте 2.fr3

    не проходит.

    [SUM(IIF(((<qMain."QtySale">>0) AND (<qMain."market">=2)),<qMain."QtySale">,0),MasterData1)]

    Да, забыл указать, фастрепорт 4.1

    ЗЫ:и у вас в сравнениях одно и то же поле учавствует <Customers."Cust No">
  • gpigpi
    отредактировано 10:48
    И так работает
    [SUM(IIF((<Customers."Cust No">>1000) AND (Trim(<Customers."Company">)='Action Club'), <Customers."Cust No">, 0),Band4)]
  • Piter RingPiter Ring Kiev
    отредактировано 10:48
    gpi написал: »
    И так работает
    [SUM(IIF((<Customers."Cust No">>1000) AND (Trim(<Customers."Company">)='Action Club'), <Customers."Cust No">, 0),Band4)]


    С одним условием - работает без проблем
    [SUM(IIF((<qMain."QtySale">>0),<qMain."QtySale">,0),MasterData1)]
    добавляю "фиктивное условие"
    [SUM(IIF((<qMain."QtySale">>0) AND (2=2),<qMain."QtySale">,0),MasterData1)]
    и все, приехали
  • gpigpi
    отредактировано 10:48
    У меня и так работает
    [SUM(IIF((<Customers."Cust No">>2000) AND (2=2), <Customers."Cust No">, 0),Band4)]
    Приведите пример неработающего выражения на основе отчёта FRDemo
  • Piter RingPiter Ring Kiev
    отредактировано 10:48
    gpi написал: »
    У меня и так работает
    [SUM(IIF((<Customers."Cust No">>2000) AND (2=2), <Customers."Cust No">, 0),Band4)]
    Приведите пример неработающего выражения на основе отчёта FRDemo

    У меня нет FRDemo, у меня фастрепорт как компонента в составе коммерческого ПО.
    Но ошибка похоже кроется в функции SUM(), об этом упоминается в исправлениях версии 4.5 (а у меня версия 4.1)
    Так что буду беспокоить разработчика своего ПО, что бы обновили компонету.

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

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