2015-06-12 6 views
1

Я очень хорошо понимаю IIF, но я пытаюсь написать выражение, подобное приведенному ниже в SSRS.Если A не равно B в SSRS

IF A<>B,"D" 
    =IIF(A <> B,"C","D") -- this doesn't work for me 

Что заменяет знак, "<>" в выражении?

+0

'<>' является оператором сравнения «не равным» в VB (язык выражений SSRS) Можете ли вы рассказать о том, что вы пытаетесь сделать, что не работает? –

ответ

2

<> может не работать, если ваши значения содержат NULL, так что вы, возможно, придется выполнить несколько сравнения случай, такие как:

IiF(A<>B OR A IsNothing OR B IsNothing, "C", "D") 
+0

Это не относится к миру VB.NET. 'Nothing 'преобразуется в любой тип, с которым он сравнивается, поэтому' Nothing = "" 'будет оценивать значение' True', как 'Nothing = Nothing'. –

+0

https://dotnetfiddle.net/nqFvZP –

+0

И я полностью согласен с вами, но SSRS иногда играет по своим правилам (эта оценка основана на опыте, а не на документах). – SQLHound

0

Используя IIF, ваша истинная часть должна прийти первым. Я хотел бы перейти на позицию вашего C и D, так как в настоящее время, если A <> B, то он будет отображаться C, а не D. Попробуйте это:

=IIF(A <> B,"D","C") 
1

Этот код будет работать для вас:

=IIF(Not A = B,"D","C") 
Смежные вопросы