[Step by Step] Reporting Services en Azure

Una vez se adquiere la cuenta de Azure, bien sea de prueba o paga se puede crear un servidor de Base de datos

Creando El Servidor

Éste paso es opcional para usar reporting services, pero para éste artículo usaremos la base de datos Sql de Azure

Para crear el servidor debemos configurar un usuario Administrador con el que luego nos conectaremos a la instancia de SqlServer, es importante seleccionar la región correcta (la mas cercana) para disminuir latencia en el servicio

 

Una vez está todo confiurado Azure realiza el proceso de creación de servidor, presentado en la siguiente imagen:

Una vez finalizada la creación se ve una pantalla como la presentada a continuación:

Para poder acceder a la base de datos remotamente se debe permitir el acceso, para cual se necesita crear una regla en el Proxy Azure, para crearla fácilmente se hace click en Manage

Azure advierte que no tiene permisos y que debe crear una regla para permitir el acceso y ofercerlo automáticamente:

Dado que seleccionamos la opción de administración ofrecer ir a éste sitio, pero tan solo queremos crear la regla, por lo que seleccionamos NO

Para el ejemplo que trabajaremos, usamos la base de de datos de ejemplo encontrada en http://msftdbprodsamples.codeplex.com/releases/view/37304

La instrucción Usada para subir la base de datos es: CreateAdventureWorksForSQLAzure <NombreServidorDB>.database.windows.net SqlDemo@<NombreServidorDB> Pa$$w0rd

 

 

SERVIDOR DE REPORTING SERVICES

Crearemos el servicio de reporting services

 

Al hacer click en Crear se presenta la siguiente pantalla:

Luego de diligenciar el formulario inicia el proceso de creación del servidor

Al finalizar, se puede revisar el servidor al hacer hacer click en la columna WebService URL

El Servicio solicita credenciales:

Se presenta la página básica del servicio:

 

 

CONECTÁNDOSE DESDE SSMS

Éste paso es opcional

Ésta es la forma en la que se visualiza la base de datos Azure desde SSMS

 

 

REPORT BUILDER

Para crear un reporte podemos utilizasr Visual Studio o report Builder, en éste caso usaremos Report builder

Nos conectaremos al Servidor

Ingresamos las credenciales de Reporting

Y posteriormente crearemos el DataSource que usaremos para el reporte

Conectándose a Base de Datos Remota (importante escribir el nombre de la base de datos a mano)

Conexión Exitosa

Visualizamos la cadena de conexión

 

 

Luego, procedemos a crear el dataset con el que vamos a desarrollar el reporte

Click en Query Designer (solicita credenciales)

Definimos el query a usar

El Query usado es:

 SELECT     SOH.SalesOrderNumber, S.Name AS Store, SOH.OrderDate, C.FirstName AS

SalesFirstName, C.LastName AS SalesLastName, E.JobTitle AS SalesTitle,
                      SOH.PurchaseOrderNumber, SM.Name AS ShipMethod, BA.AddressLine1

AS BillAddress1, BA.AddressLine2 AS BillAddress2, BA.City AS BillCity,
                      BA.PostalCode AS BillPostalCode, BSP.Name AS BillStateProvince,

BCR.Name AS BillCountryRegion, SA.AddressLine1 AS ShipAddress1,
                      SA.AddressLine2 AS ShipAddress2, SA.City AS ShipCity,

SA.PostalCode AS ShipPostalCode, SSP.Name AS ShipStateProvince, SCR.Name AS

ShipCountryRegion,
                      PPP.PhoneNumber AS CustPhone, CC.FirstName AS CustFirstName,

CC.LastName AS CustLastName
FROM         Person.Address AS SA INNER JOIN
                      Person.StateProvince AS SSP ON SA.StateProvinceID =

SSP.StateProvinceID INNER JOIN
                      Person.CountryRegion AS SCR ON SSP.CountryRegionCode =

SCR.CountryRegionCode RIGHT OUTER JOIN
                      Sales.SalesOrderHeader AS SOH LEFT OUTER JOIN
                      Sales.Customer AS SC ON SOH.CustomerID = SC.CustomerID LEFT OUTER

JOIN
        Person.Person AS CC ON SC.PersonID = CC.BusinessEntityID INNER

JOIN
        Person.PersonPhone AS PPP ON CC.BusinessEntityID =

PPP.BusinessEntityID LEFT OUTER JOIN
                      Person.Address AS BA INNER JOIN
                      Person.StateProvince AS BSP ON BA.StateProvinceID =

BSP.StateProvinceID INNER JOIN
                      Person.CountryRegion AS BCR ON BSP.CountryRegionCode =

BCR.CountryRegionCode ON SOH.BillToAddressID = BA.AddressID ON
                      SA.AddressID = SOH.ShipToAddressID LEFT OUTER JOIN
                      Person.Person AS C RIGHT OUTER JOIN
                      HumanResources.Employee AS E ON C.BusinessEntityID =

E.BusinessEntityID ON SOH.SalesPersonID = E.BusinessEntityID LEFT OUTER JOIN
                      Purchasing.ShipMethod AS SM ON SOH.ShipMethodID = SM.ShipMethodID

LEFT OUTER JOIN
                      Sales.Store AS S ON SOH.SalesPersonID = S.BusinessEntityID

 

Establecemos un nombre al Dataset

 

Creamos el reporte:

Una vez diseñado:

Ejecutamos el reporte localmente

Posteriormente guardamos el reporte en el  servidor

Reporte Publicado en Reporting Services Azure

Visualización de reporte

 

Observamos el campo que dice cambio de credenciales en caso de tener varios usuario y varios contextos de seguridad

 

Reporting Services en Azure permite la conexión desde varios orígenes de datos, es importante tener en cuenta la latencia

También se recomienda que el desarrollo de los reportes (en la medida de lo posible se haga con orígenes de datos remotos)

 

Los comentarios son bienvenidos, espero sea de ayuda,

FREDY LEANDRO ANGARITA CASTELLANOS
Sql Server MVP

 

 

Un comentario sobre “[Step by Step] Reporting Services en Azure”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *