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

CropperCapture[29]

Y una vez inicializado creamos un nuevo Proyecto:

image

Luego elegimos la plantilla (template) Proyecto de Servidor de informes (Report Sever Project) y en el nombre escribimos “Reporte de Ejemplo” y en la ubicación le asignamos una ruta y es conveniente dejar seleccionada la opción “Crear directorio para la solución”

image

Con lo cual obtendremos una solución para empezar ha crear nuestros reportes.

image

En la parte derecha en el Explorador de Soluciones (Solution Explorer) podremos ver la creación de 3 carpetas:

  1. Orígenes de datos compartidos.
  2. Conjunto de datos compartidos.
  3. Informes.

CropperCapture[30]

Para este tutorial vamos a crear dos conexiones que serán útiles para los distintos tipos de reporte que podemos construir.

Para crear una conexión hacemos “clic derecho” en Orígenes 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.

image

Una vez seleccionada la opción “Agregar nuevo origen de datos” tendremos la siguiente caja de diálogo:

image

 

Creamos la conexión Nombre: AdventureWorks2008

y pulsamos la opción “Editar”

image

Seleccionamos o escribimos el nombre del servidor, luego seleccionamos la base de datos y por último Probamos conexión y aceptamos para volver a la caja de diálogo anterior:

image

Ahora podremos ver nuestra conexión compartida en el Explorador de Soluciones:

image

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

image

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

CropperCapture[38]

 

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.

CropperCapture[40]

CropperCapture[41]

Luego de poner un nombre a nuestro reporte aparece el Diseñador de Reportes (Report Designer) con 2 pestañas: Diseño (Design) y Vista Previa (Preview). En las versiones anteriores aparecía una pestaña adicional con los datos (Data), ahora esta pestaña aparece como “Datos del Informe” y si no la pueden ver a la izquierda (según la imagen siguiente) entonces tendrán que habilitarla en el menu “Ver” abajo en “Datos del Informe”.

Para ver esta opción tienen que hacer clic sobre el área de informes y luego esta se mostrará en el menú. La imagen siguiente muestra estas opciones:

image

 

Este aspecto es importante recalcarlo, sobre todo para aquellos que estaban acostumbrados con las versiones anteriores dónde se tenía otra perspectiva de este importante aspecto.

Pues bien, vamos entonces a crear un DataSet, y esto lo haremos pulsando el botón derecho del mouse en “Conjunto de datos” (DataSet).

image

 

El conjunto de datos lo llamaremos Venta y en el origen de datos seleccionaremos el Origen de datos compartido que hemos creado más arriba dejando la selección Usar un Conjunto de Datos insertado en el informe. Al seleccionar esta opción la caja de diálogos cambiará según se muestra en la siguiente imagen.

CropperCapture[48]

Luego seleccionamos el origen de datos compartido, para ello tenemos que seleccionar “Nueva” y dejamos la caja de dialogo de la siguiente manera, nótese que hemos cambiado el nombre del origen de datos al mismo que tiene el origen compartido, sólo por razones de orden:

 CropperCapture[49]

 

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 diseñador, 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 podrán verla del siguiente modo:

CropperCapture[50]

 

En el diseñador de consultas puedes también testearla.

Ahora vamos a la Caja de Herramientas (Toolbox) donde aparecen los componentes gráficos que podemos utilizar en el informe y en la pestaña Datos del Informe  (Data) estarán 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 Diseño, ahí podemos leer la ayuda que el diseñador contiene.

CropperCapture[51]

Luego nos vamos a la pestaña de Conjunto de Datos (Datasets) y extendemos el Conjunto de datos “Ventas” que habíamos creado, arrastramos el campo OrderYear donde dice Columnas  (Columns) y arrastramos el campo ProdCat donde dice Filas (Rows) dentro de la matriz.

CropperCapture[52]

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.

CropperCapture[54]

 

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

CropperCapture[55]

Esto quedaría así y hay que mirar abajo en los Grupos de Filas como quedan:

CropperCapture[56]

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 confección de nuestro Reporte:

CropperCapture[57]

Ahora vamos a lograr darle dinamismo ocultando la columna subcategoría 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 categoría bajo una condición especial. Para ello volvemos a la pestaña de Diseño. Vamos abajo a los Grupos de filas y con el botón derecho del mouse buscamos la opción Propiedades del Grupo y la seleccionamos.

CropperCapture[58]

y aparece la siguiente Caja de Diálogo:

CropperCapture[59]

Vamos a ir a la opción Visibilidad a la izquierda en el menú de la Caja de Diálogo:

CropperCapture[60]

Una vez realizado esto podrán ver en la Vista Previa como se ocultan y se muestran, expandiendo o colapsando, las distintas sub categorías de productos.

CropperCapture[62]

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 configuración:

CropperCapture[63]

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

CropperCapture[64]

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

CropperCapture[65]

Y para verificar volvemos a generar una Vista Previa.

CropperCapture[66]

Ahora podemos poner más bonito nuestro reporte e incluso jugar con las consultas a los cubos con la misma técnica. Espero que este Paso a Paso les sea útil.

Rolando Escobar

Tagged with:
 

Comments are closed.



Skype Online Status 

Contáctanos por Skype Call me! - Rolando Escobar: Offline
» Get Skype, call free! Servicios en Línea
 
 
Servicios Interdata Ltda. Colaboración e Inteligencia de Negocios, SQL Server 2008, Analysis Services, SharePoint, Excel Services, Reporting Services
Warning: require_once() [function.require-once]: URL file-access is disabled in the server configuration in /home/interda1/public_html/wp-content/plugins/instant-web-highlighter/roohit.php on line 106

Warning: require_once(http://roohit.com/site/4wp/wp_2rooh.php?ap=AUTO_PUB_PLUGIN&ihl=Y) [function.require-once]: failed to open stream: no suitable wrapper could be found in /home/interda1/public_html/wp-content/plugins/instant-web-highlighter/roohit.php on line 106

Fatal error: require_once() [function.require]: Failed opening required 'http://roohit.com/site/4wp/wp_2rooh.php?ap=AUTO_PUB_PLUGIN&ihl=Y' (include_path='.:/usr/local/php52/pear') in /home/interda1/public_html/wp-content/plugins/instant-web-highlighter/roohit.php on line 106