Вопрос

Я использую службы отчетности SQL Server. Большинство моих запросов запускаются как отчеты, которые просто экспортируются как PDF.

Я хотел бы знать, какой тип расчетов, если таковые имеются, должны делать в фактическом запросе SQL, а какой следует рассчитывать с помощью SSRS IDE (Studio Business Intelligence).

Например, если у меня есть 12 -месячный отчет о продажах (12 месяцев), который требует среднего продаж в 3 последних месяца, где следует рассчитать среднее значение?

Должны ли большинство расчетов/агрегаций быть сделаны в презентационном уровне? Есть исключения?

Это было полезно?

Решение

Это можно посмотреть по двум способам:

  • Куда вы ставите бизнес -логику
  • Учебное время необходимо для расчетов, где более эффективно

Ответ на любой из них «это зависит». Для вашего примера 12-месячного отчета, в котором также отображались тенденции, если у вас есть пара параметров, которые изменяют логику, используемую для получения данных, у меня возникла искушение сделать как можно больше в хранимой процедуре SQL (даже в Средние значения) и сделать отчет довольно «глупым», чтобы просто показать результаты. Если отчет очень прост или логика характерна только для этого отчета, то в отчете может работать.

Для повторного использования я предпочитаю делать вещи в SQL. Для сложных отображений (нагревание, графики и т. Д.), В отчете, вероятно, лучше.

Другие советы

Держите логику отчета в отчете. SQL Server предоставит вам данные, но лучше всего сохранить индивидуальную логику в отчете.

Я бы держался подальше от того, чтобы отчет сделал об обратном обработке в базу данных для расчетов. Если ваша сохраненная процедура (ы), группировка и упорядочение, соответствуют вашему макету отчета, то SSRS довольно эффективна для создания агрегированных расчетов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top