Я очень хорошо понимаю IIF, но я пытаюсь написать выражение, подобное приведенному ниже в SSRS.Если A не равно B в SSRS
IF A<>B,"D"
=IIF(A <> B,"C","D") -- this doesn't work for me
Что заменяет знак, "<>" в выражении?
Я очень хорошо понимаю IIF, но я пытаюсь написать выражение, подобное приведенному ниже в SSRS.Если A не равно B в SSRS
IF A<>B,"D"
=IIF(A <> B,"C","D") -- this doesn't work for me
Что заменяет знак, "<>" в выражении?
<>
может не работать, если ваши значения содержат NULL
, так что вы, возможно, придется выполнить несколько сравнения случай, такие как:
IiF(A<>B OR A IsNothing OR B IsNothing, "C", "D")
Это не относится к миру VB.NET. 'Nothing 'преобразуется в любой тип, с которым он сравнивается, поэтому' Nothing = "" 'будет оценивать значение' True', как 'Nothing = Nothing'. –
https://dotnetfiddle.net/nqFvZP –
И я полностью согласен с вами, но SSRS иногда играет по своим правилам (эта оценка основана на опыте, а не на документах). – SQLHound
Используя IIF, ваша истинная часть должна прийти первым. Я хотел бы перейти на позицию вашего C и D, так как в настоящее время, если A <> B, то он будет отображаться C, а не D. Попробуйте это:
=IIF(A <> B,"D","C")
Этот код будет работать для вас:
=IIF(Not A = B,"D","C")
'<>' является оператором сравнения «не равным» в VB (язык выражений SSRS) Можете ли вы рассказать о том, что вы пытаетесь сделать, что не работает? –