2017-01-23 8 views
0

Добрый день,Different «IF» утверждение различных результатов в области - SSRS

Я создаю отчет, в котором я хочу, чтобы присвоить уникальное "IF" заявление в зависимости от переменных в поле.

Например, в столбце, если строка отображает "MCAD", я хочу, чтобы вычислить эту формулу в столбце рядом с ним:

iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-1803418)/6000000," ") 

Если строка отображает "RGAD", я хочу, чтобы вычислить это формула в колонке рядом с ним:

iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," ") 

и так далее и так далее ....

Я понимаю следующее выражение Инкор но это может сделать мои намерения ясными для вас всех:

=iif(Fields!OfficerCode.Value="mcad",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-1803418)/6000000," "),"") 

,iif(Fields!OfficerCode.Value="rgad",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "),"") 

,iif(Fields!OfficerCode.Value="srf",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-3427940)/3000000," "),"") 

,iif(Fields!OfficerCode.Value="maf",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "),"") 

Есть ли для этого конкретная функция или выражение?

Любой ввод оценивается!

+0

Спасибо за ваш ответ, я никогда не использовал функцию переключателя, однако после некоторого исследования он имеет большой смысл. К сожалению, я получаю следующее выражение «Значение для textrun» Textbox64.Paragraphs [0] .TextRuns [0] 'содержит ошибку: [BC30198]') 'expected' – MarioS

+0

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

+0

@MarioS, я обновил выражение, давая ему попробовать. –

ответ

0

можно упростить с помощью Switch:

=Switch(
Fields!OfficerCode.Value="mcad", 
    iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-1803418)/6000000," "), 
Fields!OfficerCode.Value="rgad", 
    iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "), 
Fields!OfficerCode.Value="srf", 
    iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-3427940)/3000000," "), 
Fields!OfficerCode.Value="maf", 
    iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "), 
true,"" 
) 

Кроме того, возможно, потребуется использовать Dateserial функции для создания жёстко прописанной даты:

DateSerial(2016,12,30) будет производить 12/30/2016 даты, а "12/30/2016" это просто строка. Вы также можете использовать CDate("2016-12-30").

Дайте мне знать, если это поможет.

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

  • Нет связанных вопросов^_^