В кэшированных отчетах SSRS с параметрами используется только первый сгенерированный

#reporting-services

#службы отчетов

Вопрос:

У нас есть отчет, в параметре которого указан идентификатор страны. Этот отчет очень медленно отображается, поэтому мы решили добавить некоторое кэширование.

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

Однако при запуске отчета, независимо от значения, которое я предоставляю, он всегда будет отображать первую созданную версию кэша (в моем случае, всегда 65 / france, я полагаю, потому что первая в списке планов кэша).). Когда я отключаю кеш, тогда параметр правильно учитывается (так что это не проблема с отчетом)

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

Я что-то упускаю? согласно документации, для каждой комбинации параметров должна существовать версия кэша…

ниже приведена конфигурация отчета для обработки данных введите описание изображения здесь

Комментарии:

1. Как параметры устанавливаются в клиенте? Существует ли значение по умолчанию? Могло ли что-то на стороне клиента кэшировать параметр по умолчанию как France из предыдущих запусков? увы, вы говорите, что когда вы неявно выбираете другую страну и устанавливаете параметр country, всегда используется Франция?

2. Отчет не имеет значения по умолчанию (поэтому он не является резервным вариантом из-за отсутствия параметра). Параметр заполняется через стандартный пользовательский интерфейс ( i.imgur.com/JCGXlIM.png ). Я могу указать любое число в качестве параметра (в текстовом поле), всегда будет Франция)…

3. хммм, вы добавили параметр после того, как был установлен план кэширования?

4. просто дождался очередного обновления кэша (каждые 5 часов), чтобы убедиться, что параметры учтены. мы можем видеть количество строк, которое отличается для каждой страны (ожидаемое). i.imgur.com/NDY6IcI.png по-прежнему всегда отображаются данные первого обновления кэша (на этот раз ID = 5 с 142 строками)

Ответ №1:

После долгих исследований и справки Microsoft premiere (безуспешно) оказалось, что поле ввода хранимой процедуры имеет тип string и объявлено как целое число в файле rdl. Похоже, что это несоответствие неправильно обрабатывается cache.

У меня не было подтверждения от MS engineer, что это ошибка или по замыслу.