агрегатная функция "count" в Crosstab

отредактировано April 2013 Раздел: FastReport 4.0
Зачем, при использовании агрегатной функции "COUNT", присваивать значения ячейке "0" или "1", можно на NULL проверять значение при расчете, в процедуре:

procedure TfrxCrossHeader.AddFuncValues(const Values, Counts: array of Variant; const CellFunctions: array of TfrxCrossFunction);

нужно использовать
cfCount: if Values[i]<>null then
                 h.FFuncValues[i] := h.FFuncValues[i] + 1;

a не
h.FFuncValues[i] := h.FFuncValues[i] + Values[i];

получается нормальный подсчет не пустых ячеек, а с заменой содержимого на '0' и '1', она не нужна.

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

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