Измените имя группы в Crystal Reports на значение, не относящееся к базе данных, с помощью формулы

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

например у меня есть поле «статус», которое может быть «i» или «a». Я хотел бы, чтобы они отображались как «неактивные» или «активные» в заголовках групп. Код, который у меня сейчас есть в «Использовать формулу как имя группы», таков:

stringvar newGroupName;
if (groupname = "I") THEN newGroupName:= "Inactive" ELSE
if (groupname = "A") THEN newGroupName:= "Active" ELSE
newGroupName:= groupName;
newGroupName

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

Посмотрел в сети, но не нашел ничего для определения имен, отличных от баз данных, с помощью функции groupname. Любая помощь очень ценится.


person BiGXERO    schedule 16.05.2012    source источник


Ответы (2)


Просто чтобы добавить, я всегда добавляю стандартную формулу в список формул для вычисления имен групп:

if {table.field} = 'I' then
    'inactive'
Else if {table.field} = 'a' then
    'active'
Else
    'unknown'

Затем в формуле имени группы в эксперте группы я ссылаюсь на формулу типа {MyGroupName}

Это значительно упрощает и ускоряет редактирование имен, но также не будет потеряно при редактировании поля группы (очень полезно, если у вас большой объем кода).

person bendataclear    schedule 16.05.2012

Убедитесь, что вы выбрали поля из окна, они будут отображаться как {table.field} и т. д.

Здесь нет необходимости в переменной, просто сделайте что-то вроде:

if {table.field} = 'I' then
 'inactive'
Else if {table.field} = 'a' then
 'active'
Else
 'unknown';
person Lee Tickett    schedule 16.05.2012
comment
Завтра проверю на работе. Будет очень разочарован, если решение было таким простым - person BiGXERO; 16.05.2012
comment
Вероятно, вам следует проверить нулевые значения в первой строке: If Isnull({table.field}) Then 'missing' Else If ... - person craig; 16.05.2012
comment
Я всегда меняю раскрывающийся список (устанавливаю значение по умолчанию в кристалле для всех отчетов/формул) на значения по умолчанию для NULL вместо исключений. Это спасает от многих проблем :) - person Lee Tickett; 16.05.2012