Условно рассчитывать на основе других полевых данных в отчете SSRS

Я работаю с отчетом SSRS, у меня есть поле с именем Details и я хотел бы получить счет другого поля SerialNumber,

Короче говоря, я хочу получить общее количество SerialNumber который не имеет Details,

Я попробовал ниже, но не работает. Это всегда дает общее количество, не считая пустых Details

=CStr(COUNT(IIF(Not(IsNothing(Fields!Details.Value)),Fields!SerialNumber.Value,0)))

Как я могу достичь этого с помощью выражения? Пожалуйста помоги.

1 ответ

Решение

Проблема была с моими данными. В наборе данных я выбирал строки на основе Isnull() как ниже

SELECT CASE 
            WHEN 'Y'='Y' THEN ISNULL(Code ,'') + '  ' + ISNULL(Description ,'')
            ELSE CASE 
                      WHEN ISNULL(Code ,'')='' THEN ISNULL(RefCharge ,'') 
                          +'  '+ISNULL(RefDescription ,'')
                      ELSE ISNULL(Code ,'')+'  '+ISNULL(Description ,'')
                 END
       END               AS Details

Так показывалось (3 пробела) и мое выражение было.

=COUNT(IIF(Fields!Details.Value<>"",Fields!Number.Value,Nothing))

Наконец-то я попробовал ниже, теперь все работает нормально.

=COUNT(IIF(Trim(Fields!Details.Value)<>"",Fields!Number.Value,Nothing))

Примечание: поэтому я отметил, что всякий раз, когда нам нужно проверить такие условия, мы должны использовать Trim()

Другие вопросы по тегам