2

У меня, похоже, проблема с получением согласованных ответов от SSRS. Я объясню ситуацию.Отчеты SSRS с несогласованными результатами

  • У меня есть таблица в моей базе данных, которую мы будем называть «Продажи» здесь. В Sales у меня есть столбец под названием Performance, который согласован во всех 23 выводимых строках (сегодня значение 0,80).
  • У меня есть проект в visual studio 2012 с SSDT. В этом проекте есть 20 отчетов, все они делают что-то другое, но имеют одну общую черту: таблицу слева с номерами производительности.
  • Эта таблица эффективности полностью освобождена от остальной части отчета. Он просто ссылается на набор данных под названием «Perf», с запросом «Выбрать * От продаж». Поле в таблице, которое меня интересует, имеет функцию =First(Fields!Performance.Value, "Perf"). Я выбрал эту функцию, так как каждая строка имеет такое же значение для Performance, что и не должно быть разницы.
  • Когда я сравниваю различные отчеты с eachother, некоторые из отчетов дают правильный ответ 0,80, однако некоторые из них дают ответ 0,78. Как это возможно?

Перед запуском отчетов я использую следующие команды, чтобы избавиться от кэша:

DBCC FREESESSIONCACHE 
DBCC FREEPROCCACHE 
DBCC DROPCLEANBUFFERS 

Что мне не хватает? Я делаю что-то неправильно? Программное обеспечение я использую SQL Server Management Studio 2012 и Visual Studio 2012. При необходимости предоставит больше информации

+0

Проблема позволила самому «исправить». Перезагрузка SSRS снова и снова, похоже, исправила ее, а также немного изменила параметры. В этом смысле это проблема заданного или кэшированного отчета. Один из способов исправить это - это, по-видимому, удаление данных .rdl, но я обнаружил, что, если у вас есть параметры, доступные в вашем отчете, изменение этих параметров также может помочь, так как оно заставляет отчет перезагружать. Надеюсь, это сработает и для вас, ребята! – JeroenB

+0

lol Я только что написал ответ, но не понял, что вы уже поняли это. Вы правы, кешированный файл можно удалить или обновить, и если вы измените параметры для данного набора данных, SSRS достаточно умна, чтобы знать, что ему необходимо обновить кеш. – Bostaevski

ответ

0

Похоже, что это предварительный просмотр отчета SSRS с использованием кешированных результатов. Если вы просматриваете отчет и не изменяете какие-либо параметры для определенного набора данных, он просто использует кешированную копию набора данных.

В режиме предварительного просмотра есть кнопка «Обновить», которую вы можете щелкнуть, и я считаю, что она удаляет кеш и только что запрашивает набор данных. Кроме того, вы можете вручную удалить кешированный файл. Они расположены в той же папке, что и файлы RDL.

Например, если ваш отчет называется

MyReport.rdl 

Вы также найдете этот файл (при условии, вы анонсировали отчет по крайней мере один раз)

MyReport.rdl.data 

Удалить .data файл и повторно запустите отчет. Он будет получать свежий набор данных из источника.

Смежные вопросы