Мое заявление SQL:
=IIF
(
IIF(
SUM(Fields!EstUnits.Value) <= 0,
0,
Sum(Fields!JTDUnits.Value) /
IIF
(
Sum(Fields!EstUnits.Value)=0,
1,
Sum(Fields!EstUnits.Value)
)
)<=0,
Sum(Fields!PeriodCost.Value) + Sum(Fields!EstCost.Value),
IIF
(
IIF
(
SUM(Fields!EstUnits.Value) <= 0,
0,
Sum(Fields!JTDUnits.Value) /
IIF
(
Sum(Fields!EstUnits.Value)=0,1,Sum(Fields!EstUnits.Value)
)
)>0.25,
Sum(Fields!JTDCost.Value)/ Sum(Fields!EstCost.Value),
Sum(Fields!EstCost.Value)
)
)
Получение сообщения об ошибке:
Argument not specified for parameter 'FalsePart' of 'Public Function IIf(Expression As Boolean, TruePart As Object, FalsePart As Object) As Object'.
Я знаю, что это а) или, но я пытался понять это правильно в течение нескольких часов, и мне бы хотелось посмотреть на это еще раз. Оператор должен оценивать, если% <= ноль, чем складывать два столбца вместе, иначе, если% больше 25%, чем делить столбец на%, иначе = столбец


Когда я растворяю выражение, получается следующее (я всегда заменял значение на 4, а условие - на b):
=IIF(4)<=0,4,4)
Вы должны проверить себя, потому что я действительно не знаю, как исправить это выражение в зависимости от вашего результата:
=IIF(
IIF(
b,
0,
4 / IIF(b,1, 4)
) <=0,
4,
IIF(
IIF(
b,
0,
4 / IIF(b,1,4)
) >0.25,
4,
4
)
)
Я немного отформатировал ваше выражение лица, и мне оно нравится. Я думаю, вы должны извлечь из него части, заменив его простым числом, и попробовать их, работает он или нет. Таким образом, вы найдете раздел, который нарушает правила.