2016-02-25 2 views
1

У меня есть следующая инструкция в одном из полей поля tablix, и я получаю #error при рендеринге отчета. Я не уверен, какой именно вопрос, но если бы кто-нибудь мог указать мне в правильном направлении, это было бы полезно;Вложенные инструкции IIF с ошибками переключателей

=IIF(Fields!inflowType.Value="1", 
    Switch(
      Fields!inflowTaxTreatment.Value = "0","Amount is Pre-Tax",  
      Fields!inflowTaxTreatment.Value = "1","Amount is Post-Tax/Not Taxed") ,Nothing) 
Or 
IIF(Fields!inflowType.Value = "3", 
    Switch(
     Fields!inflowTaxTreatment.Value = "0","Tax Deferred", 
     Fields!inflowTaxTreatment.Value="1","Tax Free"),Nothing) 
Or 
IIF(Fields!inflowType.Value="0", 
    Switch(
     Fields!inflowTaxTreatment.Value="0","0% Taxable", 
     Fields!inflowTaxTreatment.Value="1","50% Taxable", 
     Fields!inflowTaxTreatment.Value="2","85% Taxable"),Nothing) 

В принципе, я не знаю, если я мог бы использовать вложенные операторы коммутатора для достижения то же самое, я видел это как предложение на другой поток, который был принят, но он/не работает для меня.

+0

Это не работает, потому что вы не используете правильный оператор OR. у вас есть IIF() ИЛИ IIF() ИЛИ IIF() оператор или работает только в выражении предиката внутри IIF, 'IIF (это ИЛИ это, сделайте это, IIF (это или так, сделайте это, сделайте это))' –

+0

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

ответ

1

Попробуйте

=IIF(Fields!inflowType.Value="1", 
    Switch(
      Fields!inflowTaxTreatment.Value = "0","Amount is Pre-Tax",  
      Fields!inflowTaxTreatment.Value = "1","Amount is Post-Tax/Not Taxed") , 
IIF(Fields!inflowType.Value = "3", 
    Switch(
     Fields!inflowTaxTreatment.Value = "0","Tax Deferred", 
     Fields!inflowTaxTreatment.Value="1","Tax Free") 
, 
IIF(Fields!inflowType.Value="0", 
    Switch(
     Fields!inflowTaxTreatment.Value="0","0% Taxable", 
     Fields!inflowTaxTreatment.Value="1","50% Taxable", 
     Fields!inflowTaxTreatment.Value="2","85% Taxable"),Nothing) 
)) 

Я не уверен, но я думаю, что это то, что вы пытаетесь получить, дайте мне знать, если это поможет.

+0

, который отлично работал, спасибо за вашу помощь! поэтому я в основном рассматривал каждый IIF как сингулярное заявление, а не один большой с вложенными iifs в нем, я ценю вашу помощь! perfect –

+1

Добро пожаловать, если вы не ожидаете лучшего ответа, вы можете выбрать мой ответ правильно, чтобы уведомить сообщество, на ваш вопрос был правильно ответил. [Как правильно выбрать ответ] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

Смежные вопросы