SQL Server 2008 R2, используя BIDS для разработки отчета.Тип Проблемы с выражением фильтра в SSRS
У меня есть таблица, и я пытаюсь показать только определенную строку. Возможно, есть более эффективные способы сделать это, но я сталкиваюсь с ошибкой с выражением фильтра и независимо от того, как я достиг своей начальной задачи, я бы хотел понять фильтрацию.
Я начал с выражения фильтра (набор для типа «Integer»):
RowNumber(Nothing) = 1
Это дало ошибку:
Cannot compare data of types System.String and System.Int32.
Я нашел решение этой проблемы заключается в изменении 1 к "= 1", поскольку 1 оценивается как строка.
Так я тогда был:
RowNumber(Nothing) = =1
Это ничего не изменилось, я получил ту же ошибку.
Затем я попытался сделать это в первой части выражения:
=RowNumber(Nothing) = =1
Это изменило ошибку в задаче развертывания (по-прежнему строит, что расстраивает):
Error pvInvalidDefinition : The definition of the report '/ReportName' is invalid.
I затем попытался использовать CInt на RowNumber: CInt (RowNumber (Nothing) = = 1
Затем я могу развернуть его, но ошибка просто возвращается к первому:
Cannot compare data of types System.String and System.Int32.
Кажется, что бы я ни старался, я либо не могу развернуть отчет, либо я получаю сообщение об ошибке, что я сравниваю строку с int.
RowNumber возвращает целое число, поэтому кажется, что это должно работать. Я попытался использовать имя набора данных вместо «Ничего», но это не меняет того, что я вижу.
Я понимаю, что существует множество способов решить мою первоначальную проблему, но мне любопытно, почему выражение фильтра недопустимо.
Какая версия SSRS это? Кроме того, пытаетесь ли вы фильтровать в свойствах набора данных, свойствах для объекта отчета (например, таблицы) или где-то еще? –
SSRS, входящий в состав SQL Server 2008 R2. Этот фильтр находится в tablix, но я попытался применить его на уровне видимости строк с тем же результатом. Фактически, если я помещаю это в построитель отчетов, я по крайней мере получаю реальную ошибку (RowNumber не может использоваться в выражении фильтра), но для выражения Row Visibility я получаю: Выражение Visibility.Hidden для tablix 'TableName' содержит ошибка: [BC30203] Идентификатор ожидается. – WillyC