Формула Crystal Reports - замена пустого значения на текстовое - PullRequest
0 голосов
/ 10 мая 2018

Итак, я гораздо лучше знаком с Transact-SQL, чем с формулами Crystal. То, что я хотел бы сделать, это преобразовать что-то вроде следующего предложения SQL where для использования в Crystal для условного подавления раздела: , , , AND (osAddressUse.Description <> 'Адрес консерватора' ИЛИ ЖЕ ( ISNULL (bcDocumentDetail.PrimaryStreet, '') = ISNULL (osaddress.PrimaryStreet, '') А ТАКЖЕ ISNULL (bcDocumentDetail.SecondaryStreet, '') = ISNULL (bcDocumentDetail.SecondaryStreet, '') ) ) , , .

По сути, секция должна отображаться только в том случае, если osAddressUse.Description = "Адрес консерватора" ИЛИ и первичная улица, и вторичная улица в обеих таблицах bcDocumentDetail и osAddress не идентичны.

Что я придумал, так это следующее, но это не работает в 100% случаев:

{osAddressUse.Description} <> «Адрес консерватора» ИЛИ ЖЕ ({bcDocumentDetail.PrimaryStreet} = {osAddress.PrimaryStreet} А ТАКЖЕ {bcDocumentDetail.SecondaryStreet} = {osAddress.SecondaryStreet})

В некоторых ситуациях данные в этих полях могут иметь значение NULL или "". Если это значение NULL, я хочу, чтобы оно было преобразовано в "", таким образом, они технически совпадают, и раздел будет исключен.

1 Ответ

0 голосов
/ 11 мая 2018

Nevermind. Я смог понять это:

TRIM ({osAddressUse.Description}) <> «Адрес консерватора»
OR
(
(ЕСЛИ ISNULL ({osAddress.PrimaryStreet}) THEN "" ELSE {osAddress.PrimaryStreet}) = (IF ISNULL ({bcDocumentDetail.PrimaryStreet}) THEN "" ELSE {osAddress.PrimaryStreet})
И
(IF ISNULL ({osAddress.SecondaryStreet}) THEN "" ELSE {osAddress.SecondaryStreet}) = (IF ISNULL ({bcDocumentDetail.SecondaryStreet}) THEN "" ELSE {osAddress.SecondaryStreet})
)

...