Пустые значения оператора SWITCH построителя отчетов (SSRS) - PullRequest
1 голос
/ 25 февраля 2020

В создаваемом отчете есть поля, которые зависят от того, какой пользователь выбрал добавление дополнительных людей в свою политику (в наборе данных они называются зависимыми1, зависимыми2 и т. Д. c).

Нам необходимо определить, являются ли эти иждивенцы взрослыми или детьми для отчетности. Это будет сделано через DOB и DateDiff, которые, как я понимаю,

В настоящее время я могу получить отчет, показывающий ADULT или CHILD, если данные присутствуют, однако, если нет данных, которые я могу ' t возвращает значение "", по умолчанию оно ADULT.

Я использую:

=Switch(DateDiff("yyyy", Fields!Dependant1DoB.Value, Fields!Policy_Start_Date.Value) < 18, "CHILD", 
        DateDiff("yyyy", Fields!Dependant1DoB.Value, Fields!Policy_Start_Date.Value) >= 18, "ADULT", 
        DateDiff("yyyy", Fields!Dependant1DoB.Value, Fields!Policy_Start_Date.Value), "")

Я также создал еще один столбец, который использует DateDiff между полями! Dependant1DoB.Value & Fields! Policy_Start_Date.Value для отображения количества лет. Это работает и возвращает число. однако по какой-то неизвестной причине, когда нет данных, он все еще возвращает «2019», что может повлиять на это? Я пытался включить это в оператор Switch (DateDiff("yyyy",Fields!Dependant1DoB.Value,Fields!Policy_Start_Date.Value)=2019, "")), но это все еще не работает.

Кто-то, пожалуйста, помогите, поскольку это приводит меня в замешательство!

1 Ответ

1 голос
/ 25 февраля 2020

Вам нужно сначала проверить ничего, а затем применить функцию переключения, пример ниже:

= IIF (IsNothing (Fields! Dependent1DoB.Value), "", Switch (DateDiff ("yyyy", Fields ! Dependent1DoB.Value, поля! Policy_Start_Date.Value) <18, «CHILD», DateDiff («гггг», поля! Dependent1DoB.Value, поля! Policy_Start_Date.Value)> = 18, «ADULT»))

...