Использование IIF и AND в выражении SSRS

У меня есть таблица, как показано ниже

введите описание изображения здесь

Я хочу скрыть строки, в которых ВСЕ 3 столбца равны 0. Все столбцы имеют тип данных INT.

Мое выражение лица такое:

    =IIF((Fields!PastVal.Value=0) AND (Fields!DatePay=0) AND (Fields!Line.Value=0),False,True)

Но никаких данных не возвращается, кроме метки столбца (заголовка). Что может быть не так с моим экспрессом?


person UpwardD    schedule 26.03.2015    source источник


Ответы (4)


Вы используете видимость строк? Истина или Ложь предназначена для Скрытия строки, но вы устанавливаете значение false, если они равны 0.

=IIF((Fields!PastVal.Value=0) AND (Fields!DatePay=0) AND (Fields!Line.Value=0), True, False)

Это все еще не решает проблему - некоторые столбцы должны были отображаться, поскольку в вашем примере есть данные.

В ваших строках данных используется СУММ? Если это так, вашему выражению также потребуется СУММ.

=IIF(SUM(Fields!PastVal.Value) = 0 AND SUM(Fields!DatePay.Value) = 0 AND SUM(Fields!Line.Value) = 0, True, False)
person Hannover Fist    schedule 26.03.2015
comment
Спасибо, Ганновер. Мое выражение из Sql выглядит так: ISNULL (DatePay, 0) AS DatePay. К столбцам в SSRS не применяется СУММ. Есть ли в этом разница? - person UpwardD; 27.03.2015

Создайте фильтр в табликсе, где вы просто добавляете 3 условия, по одному для каждого из 3 полей:

введите описание изображения здесь

Используйте оператор <> as для каждого условия и просто укажите 0 в качестве значения вместо использования выражения.

person Dan    schedule 26.03.2015
comment
Спасибо Дэн за ответ. Это была опечатка. Я все еще не могу заставить его работать. Теперь я получаю сообщение об ошибке: Невозможно сравнить типы данных System.Int32 и System.String. Пожалуйста, проверьте тип данных, возвращаемый выражением фильтра - person UpwardD; 26.03.2015

Спасибо всем за ваше любезное предложение. Мое выражение было правильным все это время, но поскольку в моем отчете была группировка, мне пришлось установить видимость через свойства группы, щелкнув Подробности. До этого я применял фильтр, щелкая правой кнопкой мыши строку сведений в теле отчета, но это не сработало.

person UpwardD    schedule 27.03.2015

Спасибо всем за ваш вклад. Моя вина. В моем отчете был уровень группы, и поскольку я применял фильтр, щелкнув правой кнопкой мыши на своем табликсе, это не сработало. Мне пришлось сделать это, щелкнув правой кнопкой мыши Деталь в группе строк.

person UpwardD    schedule 27.03.2015