Pregunta

Estoy usando SQL Server Reporting Services. La mayoría de mis consultas se ejecutan como informes que simplemente se exportan como PDF.

Me gustaría saber qué tipo de cálculos, si los hay, deben realizarse en la consulta SQL real y cuáles deben calcularse utilizando el IDE SSRS (Business Intelligence Studio).

Por ejemplo, si tengo un informe de ventas de 12 meses (12 meses) que requiere un promedio de ventas de los 3 meses más recientes, ¿dónde debería calcularse ese promedio?

¿Deberían realizarse la mayoría de los cálculos/agregaciones en la capa de presentación? ¿Alguna excepción?

¿Fue útil?

Solución

Esto podría verse de 2 maneras:

  • ¿Dónde se pone la lógica de negocios?
  • Se necesita tiempo dado para los cálculos, donde es más eficiente

La respuesta a cualquiera de estos es "depende". Para su ejemplo de un informe de 12 meses que también mostró tendencias, si tiene un par de parámetros que cambian la lógica utilizada para obtener los datos, me sentiría tentado a hacer lo más posible en el procedimiento almacenado SQL (incluso el promedios) y haga que el informe sea bastante "tonto" para mostrar los resultados. Si el informe es muy simple o la lógica es específica solo para ese informe, entonces en el informe podría funcionar.

Para la reutilización, favorezco hacer cosas en SQL. Para cosas de pantalla compleja (mapas de calor, gráficos, etc.), en el informe probablemente sea mejor.

Otros consejos

Mantenga la lógica del informe con el informe. SQL Server le dará los datos, pero es mejor mantener la lógica personalizada con el informe.

Me mantendría alejado de hacer que el informe haga tripas redondas en la base de datos para los cálculos. Si su (s) procedimiento (s) de acumulación (s) de pedido almacenados coinciden con el diseño de su informe, entonces SSRS es bastante eficiente para hacer cálculos agregados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top