2016-02-09 1 views
0

Я делаю автоматический счет в службах отчетов для нашей компании, но я начинаю сталкиваться с некоторыми проблемами. Счета-фактуры производятся ежемесячно, и большинство из них просто состоят из «Hour Rate x Worked Hours». Однако у нас также есть несколько контрактов с партнерами, которые каждый месяц взимают фиксированную сумму, независимо от того, сколько времени мы потратили на их работу. Это код, который записывается в поле, где сумма, выплачиваемая показывает вверх:Несколько iifs в одной сетке в Microsoft SQL ReportBuilder 2012 3.0

=SUM(Fields!DurationHours.Value * Fields!HourlyRate.Value) 

Можно ли сделать поле с Iif-выражения (например: =IIf(Fields!Customerid.Value = 30,"7000","0") или это не выполнимо В этом Например, клиент 30 должен заплатить 7000. Но я не знаю, что положить вместо нулевой причины, чтобы он показывал «Часовая ставка x Рабочие часы», если клиент не равен 30. Если это возможно, как мне следует вводить больше клиентов потому что у нас есть около 10 партнеров, которые платят фиксированную цену. Заранее спасибо

ответ

1

Функция Switch полезна, когда у вас есть три или более условия для проверки. h возвращает значение, связанное с первым выражением в ряду, которое равно true:

=Switch(Fields!Customerid.value= 1,"1000", Fields!Customerid.value= 2,"2000", Fields!Customerid.value= 3,"3000", Fields!Customerid.value= 4,"4000", Fields!RCustomerid.value= 5,"5000", Fields!Customerid.value= 6,"6000", Fields!Customerid.value= 7,"7000", Fields!Customerid.value= 8,"8000", Fields!Customerid.value= 9,"9000", Fields!Customerid.value= 10,"10000",Fields!Customerid.value<>1 or Fields!Customerid.value<>2 or Fields!Customerid.value<>3 or Fields!Customerid.value<>4 or Fields!Customerid.value<>5 or Fields!Customerid.value<>6 or Fields!Customerid.value<>7 or Fields!Customerid.value<>8 or Fields!Customerid.value<>9 or Fields!Customerid.value<>10,SUM(Fields!DurationHours.Value * Fields!HourlyRate.Value)) 

Просто замените его на Customerid.

1

Если я правильно понимаю, вы правильно задаете вопрос.

Вы можете написать сумму в ELSE как это

=IIF(Fields!Customerid.Value = 30 
    , "7000" 
    , SUM(Fields!DurationHours.Value * Fields!HourlyRate.Value) 
) 
Смежные вопросы