Я думаю, что мне нужен вложенный IIF в SSRS для моей цели, как написано в псевдокоде ниже:
If GoalType.Value = ImplementED And
SavingsGoal.Value <= ImplementEDSavings.Value OR
If GoalType.Value = ImplementABLE And
SavingsGoal.Value <= ImplementABLESavings.Value
Then display zero dollars
ELSE
If GoalType = ImplementED And
SavingsGoal.Value > ImplementEDSavings.value Then
Display SavingsGoal.Value minus ImplementABLESavings
ELSE
If GoalType = ImplementABLE And
SavingsGoal.Value > ImplementABLESavings.Value Then
Display SavingsGoal.Value minus ImplementABLESavings
Я получил это много, чтобы работать:
=IIF(First(Fields!GoalType.Value, "Project_Details") = "Implemented" AND
Sum(Fields!SavingsGoal.Value, "Project_Details") <= Sum(Fields!ImplementedSavings.Value, "dsInitiatives") OR
(First(Fields!GoalType.Value, "Project_Details") = "Implementable" AND
Sum(Fields!SavingsGoal.Value, "Project_Details") <= Sum(Fields!ImplementableSavings.Value, "dsInitiatives")),0,
Sum(Fields!SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementedSavings.Value, "dsInitiatives"))
Все, что мне нужно, чтобы выяснить, как добавить туда это последнее «ELSE», понимая, что мне нужно еще несколько IIF, или Switch, или что-то в этом роде... Я пробовал несколько способов, и мой срок официально поджимает. Спасибо всем, кто может помочь. Обратите внимание, что я действительно новичок в отчетах SSRS.
ОБНОВЛЕНИЕ: Вот несколько методов, которые я пробовал. Я продолжаю получать эту ошибку при каждой попытке: ошибка BC30057 Слишком много аргументов для «Общественной функции IIf (выражение как логическое значение, TruePart как объект, FalsePart как объект) как объект» SSRS
=iif((First(Fields!GoalType.Value, "Project_Details") = "Implemented" AND Sum(Fields!SavingsGoal.Value, "Project_Details") ‹= Sum(Fields!ImplementedSavings.Value, "dsInitiatives")),0 ) ИЛИ
iif((First(Fields!GoalType.Value, "Project_Details") = "Реализуемый" AND Sum(Fields!SavingsGoal.Value, "Project_Details") ‹= Sum(Fields!ImplementableSavings.Value, "dsInitiatives")),0, ) ИЛИ
iif((First(Fields!GoalType.Value, "Project_Details") = "Implemented" AND Sum(Fields!SavingsGoal.Value, "Project_Details") > Sum(Fields!ImplementedSavings.Value, "dsInitiatives")), Sum(Fields !SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementedSavings.Value, "dsInitiatives"), ) ИЛИ
iif((First(Fields!GoalType.Value, "Project_Details") = "Реализуемое И Сумма(Fields!SavingsGoal.Value, "Project_Details") > Sum(Fields!ImplementableSavings.Value, "dsInitiatives")), Sum(Fields! SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementableSavings.Value, "dsInitiatives"))
OR
=IIF(First(Fields!GoalType.Value, "Project_Details") = "Implemented" AND Sum(Fields!SavingsGoal.Value, "Project_Details") ‹= Sum(Fields!ImplementedSavings.Value, "dsInitiatives") ИЛИ (First( Fields!GoalType.Value, "Project_Details") = "Реализуемый" AND Sum(Fields!SavingsGoal.Value, "Project_Details") ‹= Sum(Fields!ImplementableSavings.Value, "dsInitiatives")),0,
Switch(Fields!GoalType.Value, "Project_Details") = "Реализовано", Sum(Fields!SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementedSavings.Value, "dsInitiatives") Switch(First(Fields! GoalType.Value, "Project_Details") = "Реализуемый", Sum(Fields!SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementableSavings.Value, "dsInitiatives"))))
личный комментарий, если бы эти системы не предполагали, что все прирожденные программисты и выдавали бы ошибки, которые говорят по-английски, мне бы не пришлось приходить на эти сайты за переводами. Ладно, мыльница закончилась. Еще раз спасибо всем, кто может помочь