SSRS IIF Expression - IFF не объявлен? - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь написать оператор IFF в отчете SSRS в Visual Studio.

Для этого сценария, в моих данных у меня есть следующие два поля, MaxCompareDateLapse и MaxCompareDateLapse2. Оба из них возвращают целочисленные значения. У меня также есть параметр, который имеет следующие значения, доступные для использования: 3, 6, 9, 12

Я ввожу выражение IFF в выражение и получаю сообщение об ошибке 'Выражение значения для textrun' MaxCompareDateLapse.Paragraphs [0] 'содержит ошибку: [BC30451]' IFF 'есть не объявлено Может быть недоступен из-за уровня защиты '

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

Код # 1

=IFF(Fields!MaxCompareDateLapse.Value < 
Parameters!pMonthsNoActivity.Value, Fields!MaxCompareDateLapse2.Value, 
IFF(Fields!MaxCompareDateLapse.Value >= 
Parameters!pMonthsNoActivity.Value, Fields!MaxCompareDateLapse.Value))

Код № 2

=IFF(Fields!MaxCompareDateLapse.Value < 
Parameters!pMonthsNoActivity.Value, 
Fields!MaxCompareDateLapse2.Value, 
Fields!MaxCompareDateLapse.Value)

Так, например, 1. Если MaxCompareDateLapse = 1, Parameter = 6 и MaxCompareDateLapse = 20, то будет возвращено 20. Если MaxCompareDateLapse = 7, Parameter = 6 и MaxCompareDateLapse = 5, будет возвращено 7

Заранее спасибо - все еще довольно плохо знакомы с этим материалом

1 Ответ

0 голосов
/ 04 июля 2019

Вы должны заменить IFF на IIF, так как это правильный синтаксис.

См. Фолл. Пример:

    =IIF( Expression to evaluate,
what-to-do when the expression is true,
what-to-do when the expression is false )

Вы можете использовать 2-й и / или 3-й аргументы в зависимости от ваших требований. Пример, если вы хотите вложить еще одну строку IIF, проверьте, является ли приведенное выше выражение ложным:

 =IIF( 1st Expression to evaluate,
what-to-do when the 1st expression is true, 
IIF( Another Expression (2nd) to evaluate,what-to-do when that 2nd expression is true,what-to-do when that 2nd expression is false ) 
)

Надеюсь, это поможет.

...