Вы находитесь на странице: 1из 24

Tutorial Paso a Paso crear Reporte en Reporting Services

On 05.29.11, In Inteligencia de Negocios, Reporting Services, SQL Server 2008, By Rolando Escobar

El primer paso para crear un reporte con Reporting Services (utilizando Visual Studio 2008 SQL Server Bussines Intelligence Development Studio)

Y una vez inicializado creamos un nuevo Proyecto:

Luego elegimos la plantilla (template) Proyecto de Servidor de informes (Report Sever Project) y en el nombre escribimos Reporte de Ejemplo y en la ubicacin le asignamos una ruta y es conveniente dejar seleccionada la opcin Crear directorio para la solucin

Con lo cual obtendremos una solucin para empezar ha crear nuestros reportes.

En la parte derecha en el Explorador de Soluciones (Solution Explorer) podremos ver la creacin de 3 carpetas: 1. Orgenes de datos compartidos.

2. Conjunto de datos compartidos. 3. Informes.

Para este tutorial vamos a crear dos conexiones que sern tiles para los distintos tipos de reporte que podemos construir. Para crear una conexin hacemos clic derecho en Orgenes de datos compartidos. Hay que decir que las conexiones pueden hacerse en cada reporte por separado pero es mejor tener las conexiones centralizadas y compartirlas para los distintos reportes.

Una vez seleccionada la opcin Agregar nuevo origen de datos tendremos la siguiente c aja de dilogo:

Creamos la conexin Nombre: AdventureWorks2008

y pulsamos la opcin Editar

Seleccionamos o escribimos el nombre del servidor, luego seleccionamos la base de datos y por ltimo Probamos conexin y aceptamos para volver a la caja de dilogo anterior:

Ahora podremos ver nuestra conexin compartida en el Explorador de Soluciones:

Hacemos los mismos pasos para agregar la Base de Datos de AdventureWorksDW2008, pero esta vez la conexin ser a una base multidimensional.

Para ello tendremos que cambiar el proveedor de datos a Microsoft SQL Server Analysis Services, la imagen siguiente muestra esta nueva conexin.

Ahora estamos listos para comenzar a crear nuestros reportes. En este caso vamos a crear un reporte de VENTAS POR EMPRESA y sobre la carpeta Informes seleccionamos Agregar y Nuevo Elemento.

Luego de poner un nombre a nuestro reporte aparece el Diseador de Reportes (Report Designer) con 2 pestaas: Diseo (Design) y Vista Previa (Preview). En las versiones anteriores apareca una pestaa adicional con los datos (Data), ahora esta pestaa aparece como Datos del Informe y si no la pueden ver a la izquierda (segn la imagen siguiente) entonces tendrn que habilitarla en el menu Ver abajo en Datos del Informe. Para ver esta opcin tienen que hacer clic sobre el rea de informes y luego esta se mostrar en el men. La imagen siguiente muestra estas opciones:

Este aspecto es importante recalcarlo, sobre todo para aquellos que estaban acostumbrados con las versiones anteriores dnde se tena otra perspectiva de este importante aspecto. Pues bien, vamos entonces a crear un DataSet, y esto lo haremos pulsando el botn derecho del mouse en Conjunto de datos (DataSet).

El conjunto de datos lo llamaremos Venta y en el origen de datos seleccionaremos el Origen de datos compartido que hemos creado ms arriba dejando la seleccin Usar un Conjunto de Datos insertado en el informe. Al seleccionar esta opcin la caja de dilogos cambiar segn se muestra en la siguiente imagen.

Luego seleccionamos el origen de datos compartido, para ello tenemos que seleccionar Nueva y dejamos la caja de dialogo de la siguiente manera, ntese que hemos cambiado el nombre del origen de datos al mismo que tiene el origen compartido, slo por razones de orden:

Una vez que hay regresado, en la caja de texto para la consulta agregue la siguiente sentencia SQL, puede testear esta sentencia SQL en el propio SQL Server antes para chequear no tenga problemas con el formato de fechas o en el propio diseador, todo depende de la experiencia con que cuente. La sentencia que vamos a utilizar es la siguiente: SELECT PC.Name AS ProdCat, PS.Name AS SubCat, DATEPART(yy, SOH.OrderDate) AS OrderYear, Q + DATENAME(qq, SOH.OrderDate) AS OrderQtr, SUM(SOD.UnitPrice * SOD.OrderQty) AS Sales FROM Production.ProductSubcategory AS PS INNER JOIN Sales.SalesOrderHeader AS SOH INNER JOIN Sales.SalesOrderDetail AS SOD ON SOH.SalesOrderID = SOD.SalesOrderID INNER JOIN Production.Product AS P ON SOD.ProductID = P.ProductID ON PS.ProductSubcategoryID = P.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PC ON PS.ProductCategoryID = PC.ProductCategoryID

WHERE (SOH.OrderDate BETWEEN 20020101 AND 20031231) GROUP BY DATEPART(yy, SOH.OrderDate), PC.Name, PS.Name, Q + DATENAME(qq, SOH.OrderDate), PS.ProductSubcategoryID

Y la caja de dialogo podrn verla del siguiente modo:

En el diseador de consultas puedes tambin testearla.

Ahora vamos a la Caja de Herramientas (Toolbox) donde aparecen los componentes grficos que podemos utilizar en el informe y en la pestaa Datos del Informe (Data) estarn a su vez los Conjuntos de datos (DataSet) que podemos utilizar en ellos. Para este ejemplo, primero vamos a la Caja de Herramientas (Toolbox) y elegimos el elemento Matriz y lo arrastramos hacia el Diseo, ah podemos leer la ayuda que el diseador contiene.

Luego nos vamos a la pestaa de Conjunto de Datos (Datasets) y extendemos el Conjunto de datos Ventas que habamos creado, arrastramos el campo OrderYear donde dice Columnas (Columns) y arrastramos el campo ProdCat donde dice Filas (Rows) dentro de la matriz.

Luego nos ubicamos donde en la matriz, en la fila ProdCat y ah hacemos clic derecho y elegimos Agregar Grupo (Insert Group) y seleccionamos Grupo Secundario.

9) Aparecemos en la pestaa General, ah en Name podremos Group_SubCategoria, en la parte de abajo donde dice Expression elegimos =Fields!SubCat.Value

Esto quedara as y hay que mirar abajo en los Grupos de Filas como quedan:

Hagamos pues una Vista Previa para testear si vamos bien, si as no fuera hay que rehacer todos los paso hasta lograr el siguiente estado parcial en la confeccin de nuestro Reporte:

Ahora vamos a lograr darle dinamismo ocultando la columna subcategora para poder realizar los Drill Down y Drill Up para un informe de Matriz de este tipo muy til en reportes de BI.

Los pasos son los siguientes: Ocultar la columna sub categora bajo una condicin especial. Para ello volvemos a la pestaa de Diseo. Vamos abajo a los Grupos de filas y con el botn derecho del mouse buscamos la opcin Propiedades del Grupo y la seleccionamos.

y aparece la siguiente Caja de Dilogo:

Vamos a ir a la opcin Visibilidad a la izquierda en el men de la Caja de Dilogo:

Una vez realizado esto podrn ver en la Vista Previa como se ocultan y se muestran, expandiendo o colapsando, las distintas sub categoras de productos.

Haremos exactamente lo mismo sobre la columna Order Year y vamos a insertar un subgrupo para OrderQrt y trabajaremos a nivel de los Grupos de Columna los mismos efectos de visibilidad del Grupo y el Sub Grupo, para lograr la siguiente configuracin:

Podemos Testear la vista Previa de la misma forma que lo hicimos anteriormente:

Ahora vamos a agregar los valores a visualizar en la matriz, para ello agregaremos desde nuestros Orgenes de Datos el campo Sales a los datos de la Matriz.

Y para verificar volvemos a generar una Vista Previa.

Ahora podemos poner ms bonito nuestro reporte e incluso jugar con las consultas a los cubos con la misma tcnica. Espero que este Paso a Paso les sea til. Rolando Escobar

Вам также может понравиться