Условный счет () в отчете Crystal - PullRequest
3 голосов
/ 29 марта 2012

Как получить результат, используя поле формулы в crystalreport для подсчета количества записей, где fieldname = xxx

нравится: выберите количество (*) как cnt из таблицы, где f1 = xxx

и более подробно с примерами для функции Crystal Report Count ().

Проект: VB.Net С уважением, Sensa.

Ответы [ 3 ]

6 голосов
/ 30 марта 2012

вы в основном создаете поле формулы, например:

if {mytable.field} = 'xxx' then
 {mytable.field};

, затем count({formula});

или используйте промежуточные суммы с формулой оценки: {mytable.field} = 'xxx'

0 голосов
/ 12 февраля 2018

Вы можете попробовать это:

FormulaField1:

if {anytable.yourfield} = 'xxx' then 1 Else 0;

А потом:

FormulaField2:

sum({formula1});

Для целых чисел:

FormulaField2:

CSTR (sum({formula1}),0);
0 голосов
/ 15 октября 2013

Есть несколько альтернатив, каждая из которых имеет определенные недостатки.

1) Используйте эксперта выбора для условного ограничения записей в отчете. Основным недостатком в этом случае, конечно, является потеря данных, вероятно, относящихся к другим частям отчета

2) Решение 1) с использованием подотчета, интегрированного в основной отчет. Проблема в этом случае - ограничения форматирования

3) Используйте группировку. И.Е. группировать по mytable.field использовать промежуточные итоги по записям в группе и вставьте в заголовок группы. Скрыть группу выборочно через эксперта раздела. Здесь снова возникает проблема дополнительных ограничений форматирования.

4) Наконец, если у вас есть доступ к фактической базе данных. Создайте представление, это будет лучшим решением с точки зрения производительности и проблем с форматированием в отчетах Crystal. Однако создание представления каждый раз, когда возникает такая проблема, может привести к загрязнению вашей базы данных представлениями, которые будут использоваться редко.

...