Выражение SSRS, дающее #ошибку при СУММИРОВАНИИ и IIF

#tsql #reporting-services #microsoft-dynamics

Вопрос:

Я пытаюсь создать запрос для СУММИРОВАНИЯ на основе 'TypeName' и 'ReleaseDate' .

Я заставил TypeName = Base часть запроса работать самостоятельно. Тем не менее, я пытаюсь добавить еще IIF одно утверждение, чтобы проверить ReleaseDate . При выполнении этого запроса я получаю #Error ответ на его месте.

 =Sum(Microsoft.VisualBasic.Interaction.IIf(Fields!TypeName.Value = "Base", 1, 0) (Fields!ReleaseDate.Value = (DateAdd("d",-1,Today))), "DataSet1")
 

Ответ №1:

Если вам нужно СУММИРОВАТЬ количество записей, имеющих тип базы и вчерашнюю дату выпуска, вы можете использовать И в IIF для использования обоих условий.

 =Sum(IIF(Fields!TypeName.Value = "Base" AND Fields!ReleaseDate.Value = DateAdd("d",-1,Today), 1, 0), "DataSet1")
 

Другим способом было бы вложить IIF в другой IIF, но вашей логике это на самом деле не нужно:

 =Sum(IIf(Fields!TypeName.Value = "Base", IIF(Fields!ReleaseDate.Value = DateAdd("d",-1,Today), 1, 0), 0), "DataSet1")