creando informes con ssrs 2008
DESCRIPTION
Tutorial rapido de como crear informes con Services Reporting de SQL Server 2008 r2TRANSCRIPT
-
SQLServer2008:CreandoinformesconSSRS2008(I)!DespusdelprimerpostsobrealgunasdelasnovedadesquevendrnconSQLServer2008,estosdasheseguidoevaluandoyprobandonuevasfuncionalidadesparaelseminariodelanuevaversindelgestordebasededatosdeMicrosoft.EstavezlehatocadoelturnoaSQLServerReportingServices2008(SSRS2008)yalanuevoReportDesigner.Empecemos.Nota:TodaslaspruebaslasherealizadoconlaCTP6deSQLServer2008.ComenzandoconSSRS2008LoprimeroquevamosahaceresintroducirnosenelnuevoentornodediseodeinformesdeSSRS2008:elReportDesigner.Paraaccederalnuevodiseador,cuyolook&feel,eseldelasuitedeMicrosoftOffice2007:Inicio>Todoslosprogramas>MicrosoftSQLServer2008>ReportingServices>ReportDesignerPreview.
Trasrealizarunbreverecorridoporlasopcionesdemendisponiblesenestapreview(recordarqueestamosconlaCTP6),loprimeroquetenemosquehacerparacrearuninformeesdefinirlacorrespondientefuentededatosenlaquevamosabasarnuestroinforme:
Nuestrafuentededatosvaaserlabasededatos(BD)AdventureWorks.Paracrearunanuevafuentededatos,hacemosclicsobreelenlacequeapareceenlasuperficiedediseodelinformeClickheretocreateadatasourceanddatasetforyourreport.Deestemodo,seabrirunasistentequenosirguiandoenelprocesodecreacindelafuentededatosyeldatasetenelquebasaremosnuestroinforme.Enlaprimerapantalladelasistenteespecificamoslossiguientesparmetros:
Elnombredeldatasource:dsAdventureWorks.
-
Eltipodeconexin:dejamoslaquevienepordefecto(MicrosoftSQLServer).Lacadenadeconexin,queconfiguramosatravsdelbotnEdit.Enlamismaconfiguraremoslossiguientesparmetros:
Nombredelservidor:localhost.Mecanismodeaccesoalservidor:WndowsAuthentication.Basededatos:AdventureWorks
Trastestearlaconexin,pulsamosOKyacontinuacinelbotnNextdelasistente.DeestemodoseabrirlaventanadelQueryDesignerenlaqueconstruiremoslasiguienteconsulta:
SELECT
PC.NameASProductCategory,PS.NameASSubCategory,
DATEPART(yy,SOH.OrderDate)ASOrderYear,
'Q'+DATENAME(qq,SOH.OrderDate)ASOrderQtr,
SUM(SOD.UnitPrice*SOD.OrderQty)ASSalesAmount,
Sales.SalesTerritory.[Name]ASTerritory,
Sales.SalesTerritory.[Group]ASRegion
FROM
Production.ProductSubcategoryASPSJOIN
Sales.SalesOrderHeaderASSOHJOIN
Sales.SalesOrderDetailASSODONSOH.SalesOrderID=
SOD.SalesOrderIDJOIN
Production.ProductASPONSOD.ProductID=P.ProductIDON
PS.ProductSubcategoryID=P.ProductSubcategoryIDJOIN
Production.ProductCategoryASPCONPS.ProductCategoryID=
PC.ProductCategoryIDJOIN
Sales.SalesTerritoryONSOH.TerritoryID=
Sales.SalesTerritory.TerritoryID
-
WHERE
(SOH.OrderDateBETWEEN'1/1/2003'AND'12/31/2004')
GROUPBY
DATEPART(yy,SOH.OrderDate),PC.Name,
PS.Name,'Q'+DATENAME(qq,SOH.OrderDate),
PS.ProductSubcategoryID,
Sales.SalesTerritory.Name,Sales.SalesTerritory.[Group]
Probamoslaconsultaparaverquresultadosproduce.PulsamosNextyyatenemoslistoeldatasetparausarloennuestroinforme.
DiseandoelinformeUnavezqueyatenemosconfiguradotodolonecesarioparacrearunprimerinforme,vamosadisearlo:
DesdeelmenInsertseleccionamosunaregintipoMatrixyhacemosclicsobrelamisma,demaneraqueseinsertarenlasuperficiedediseodelinforme.SituamoselcontrolMatrixenelcentrodelreadediseoutilizandoeliconodemanejo(iconodecuatroflechas).Especificamoselreadedatosatravsdelosnuevossmarttagscontextualesquehansidoaadidasalasuperficiedediseo.AtravsdeestossmarttagsaadimoselcampoSalesAmountenlazonaData.
-
OtradelasnovedadesdeSSRS2008eslarelativaacomoaadirnivelesdeagrupacinauninforme.EstansencillocomoseleccionarelcampodeldatasetquevamosautilizaryarrastrarloalaseccinRowGroupsqueaparecebajolasuperficiedediseodelinforme.RepetimoslaoperacinaadiendoenestaocasinelcampoSubCategory,queinsertaremosjustodebajodeProductCategory.Delamismaformaquehemosespecificadoelagrupamientoporfilas,vamosarealizarelagrupamientoporcolumnas.Paraello:
ArrastramoselcampoRegionenelreaColumnGroups.RepetimoselprocesoconelcampoOrderYear.
LosiguientequevamosahaceresaadirSubTotalesalinforme.Paraello,seleccionamoselcampoSalesAmountdelcontrolMatrix,hacemosclicconelbotnderechoyseleccionamoslaopcinAddTotal>Row.AadimosunnuevoSubTotal,peroaniveldecolumna.Paraello,seleccionamoselcampoSalesAmountdelcontrolMatrix,hacemosclicconelbotnderechoyseleccionamoslaopcinAddTotal>Column.LosiguientequevamosahaceresaadirTotalesalinforme.Paraello,seleccionamoselcampoProductCategorydelcontrolMatrix,hacemosclicconelbotnderechoyseleccionamoslaopcinAddTotal>After.
-
Repetimoselproceso,peroseleccionandoenestaocasinelcampoRegion,hacemosclicconelbotnderechoyseleccionamoslaopcinAddTotal>After.Parafinalizarelinforme,utilizamoslasherramientasdisponiblesenelRibbonHomeparadarleunaspectomsvisual.Porejemplo,elinformeenvistadediseopodraquedardelaformaqueseveenlasiguientefigura.Paraprevisualizarelinforme,simplementepulsamoselbotnPreview.
PublicandoelinformevamosalmendeopcionesypulsamosPublish.Aparecerlapantalladeconfiguracindepublicacindelinforme.Endichaventanaespecificaremoslosparmetrosdepublicacinenelservidor:
Laurldelservidor:http://localhost:8080/reportserverLacarpetadelreportserverdndevamosapublicarelinforme:/Elnombredelinforme.
Sinms,pulsamosOKyunavezquefinaliceelprocesodepublicacin,abrimoselnavegadoryespecificamoslaurldelreportmanagerparaprevisualizarlo.
-
YesteseraelresultadoenelReportManager:
Yestoestododemomento.EnprximospostveremosmsnovedadesdeSSRScomolafuncionalidadTablix,losnuevoscontrolesgrficosocomoserealizalagestindelReportManagerfueradeIIS.Esperoqueelpostoshayaresultadointeresante.