SSRS выражение IIF с агрегатной функцией в истинной части - PullRequest
0 голосов
/ 29 января 2020

Это выражение SSRS дает мне то, что мне нужно:

=CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="A" OR Fields!InspectionCycle.Value ="B" ,Fields!ParcelID.Value,Nothing), "DataSet1") -CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,Nothing), "DataSet1") Я буду sh, чтобы добавить это условие в начало: =IIF(Parameters!Cycle.Value(0)="A" И я предполагаю, что мне нужно добавить что-то подобное конец: ,Nothing), "DataSet1") Затем я хотел бы продолжить: OR =IIF(Parameters!Cycle.Value(0)="B"

Я получаю ')' ожидаемую ошибку. Кроме того, является ли (0) необходимым в условии? Спасибо за потраченное время!

Основываясь на вашей помощи, вот рабочее выражение:

=IIF(INSTR(JOIN(Parameters!Cycle.Value, ","), "B") > 0, CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="B" OR Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,0), "NRBuildingsInsp")-CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,0), "NRBuildingsInsp"),0) И здесь он проверяет другой параметр, если первый равен false:

=IIF(INSTR(JOIN(Parameters!Cycle.Value, ","), "B") > 0, CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="B" OR Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,0), "NRBuildingsInsp")-CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,0), "NRBuildingsInsp"),IIF(INSTR(JOIN(Parameters!Cycle.Value, ","), "C") > 0, CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="C" OR Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,0), "NRBuildingsInsp")-CountDistinct(IIF(Fields!BuildingNumber.Value = "1" AND Fields!InspectionCycle.Value ="A" ,Fields!ParcelID.Value,0), "NRBuildingsInsp"))

Как мне изменить его, чтобы получить результаты, где параметры! Cycle.Value = "B" и "C"?

...