Arquivo

Archive for the ‘Reporting Services’ Category

Gauge com Reporting Services

Nesse artigo pretendo abordar como utilizar Gauge no Report Services. Gauge tem como objetivos mostrar indicadores, muito utilizado em projetos de Business Intelligence (BI).

Primeiramente precisamos de uma base de dados para exibir os gauges.

Vou usar a modelagem que utilizei no meu artigo MS Chart no Visual Studio 2010 conforme imagem abaixo:

Para esse exemplo peço que você insira alguns registros na tabela. Após inserir os registros abra o SQL Server Business Intelligence Development Studio, clique em File\New Project, selecione Report Server Project, de um nome para seu projeto e clique em OK.

Vamos criar uma conexão com nossa base de dados, no soluction explorer clique com o botão direito em Shared Data Sources e selecione Add New Data Source e crie a conexão com sua base de dados.

Ainda no soluction explorer clique com o botão direito no mouse em Reports e selecione Add\New Reports, coloque um nome no seu relatório e clique em OK.

Acesse o Report Data, caso ele não esteja visível (normalmente do lado esquerdo da tela) acesse o meu view\report data.

No Report Data clique em New\DataSet, coloque um nome para o Data Set. Em Data Source clique em New, na tela seguinte clique na opção Use Shared data source reference e selecione o Data Source que criamos anteriormente, clique em OK.

Precisamos definir nossa query agora, vamos usar a seguinte query:

SELECT C.CODIGOCATEGORIA,
       C.NOMECATEGORIA,
       SUM(D.QUANTIDADE) AS QUANTIDADEVENDIDA
  FROM DETALHESPEDIDO D INNER JOIN
       PRODUTO P on P.CODIGOPRODUTO = D.CODIGOPRODUTO INNER JOIN
       CATEGORIA C ON C.CODIGOCATEGORIA = P.CODIGOCATEGORIA
 GROUP BY C.CODIGOCATEGORIA, C.NOMECATEGORIA

Essa query ira retornar a quantidade de produtos vendido por categoria. Clique em OK e teremos nossa query finalizada.

Clique com o botão direito em qualquer parte do relatório (fundo branco) e selecione a opção Insert\Gauge. Veja que existem vários tipos de gauges disponíveis para utilizamos. Vamos utilizar o modelo 180 Degress North, conforme imagem abaixo:

Acesse as propriedades do gauge e procure pela propriedade RadialGauge, acesse essa propriedade para que a tela RadialGauge Collection Editor seja aberta. Procure a propriedade Scales e acesse ela para que a tela RadialScale seja aberta.

Procure a propriedade Maximum Value e altere seu valor para dez mil (10000). Procure a propriedade Ranges e acesse para abrir a tela RadialRange Collection Editor.

Já existe um RadialRange adicionado, você deve adicionar mais três, altera as seguinte propriedades de cada range:

Range 1:

  • FillGradientEndColor: Red
  • FillGradientType: StarToEnd
  • EndValue: 2000
  • StartValue: 0
  • DistanceFromScale: 0
  • Placement: Outside
  • StarWidth: 50

Range 2:

  • FillGradientEndColor: Gold
  • FillGradientType: StarToEnd;
  • EndValue: 5000
  • StarValue: 2001
  • DistanceFromScale: 0
  • Placement: Outside
  • StarWidth: 50

Range 3:

  • FillGradientEndColor: Lime
  • FillGradientType: StarToEnd;
  • EndValue: 7500
  • StarValue: 5001
  • DistanceFromScale: 0
  • Placement: Outside
  • StarWidth: 50

Range 4:

  • FillGradientEndColor: Blue
  • FillGradientType: StarToEnd;
  • EndValue: 10000
  • StarValue: 7501
  • DistanceFromScale: 0
  • Placement: Outside
  • StarWidth: 50

Com as propriedades configuradas nosso gauge deve ficar como da imagem abaixo:

Agora selecione a propriedade do gauge e procure pela propriedade DataSetName e coloque o DataSet que você criou anteriormente.

Acesse o Report Data, abra os campos de seu dataset e arraste o campo QUANTIDADEVENDIDA acima do gauge conforme imagem abaixo:

Falta pouco para terminar nosso projeto, mas antes quero explicar o que estamos fazendo.

Imagine uma empresa que vende produtos, e ela define algumas metas, por exemplo, todos os produtos precisam ser vendidos acima de 5001 unidades mês. Então definimos em nosso gauge que se a venda do produto for até 2000 unidades o gauge esta no vermelho, mostrando que o produto está longe da meta, caso seja vendido entre 2001 a 5000 a cor de indicação é a gold (amarelo) mostrando que o produto merece atenção, não está ruim, porém não está bom. Acima de 5001, cor verde, mostrando que a venda está na meta e ainda se vender acima de 7500 o gauge indica azul, mostrando que a venda está indo muito bem, obrigado.

Com tudo explicado, só falta um detalhe, recordando nossa query, não utilizamos filtros e o gauge deve indicar somente uma categoria, então vamos filtrar o dado. Clique com o botão direito do mouse sobre o gauge e selecione Gauge Panel Properties e selecione a opção filters.

Clique no botão Add para que seja permitido adicionar um filtro clique no botão Fx para digitarmos uma fórmula. Digite a seguinte fórmula:

=CInt(Fields!CODIGOCATEGORIA.Value)

Clique em OK, selecione o filtro como Integer, o operador como igual (=) e Value como 1 clique em OK.

Para finalizar nosso projeto selecione as propriedades do Gauge e acesse a propriedade Labels. Em GaugeLabel Collection Editor clique no botão Add e nas propriedades do lado direito procure por Text. Clique em Text e em Expression e digite:

=Fields!NOMECATEGORIA.Value

Altere também as propriedades Top = 3 e Left = 8.

Pronto nosso projeto está pronto, clique em Preview para ver o resultado. Você pode duplicar os gauges e apenas alterar o filtro para ter vários resultados, veja como ficou meu relatório abaixo:

Espero que tenham gostado e até a próxima.

Anúncios

Maps com Reporting Services

janeiro 17, 2011 1 comentário

O Reporting Services 2008 veio com uma novidade que são os maps (mapas). No artigo de hoje vou mostrar como fazer um relatório simples utilizando os maps.

Os maps disponíveis no RS são dos EUA por isso, vamos utilizar um mapa desses como exemplo.

Acesso o SQL Server Business Intelligence Development Studio e crie um projeto Reporting Services.

Primeiro passo é criar uma conexão com a base de dados AdventureWorks que vamos utilizar para criar o exemplo. Com a conexão pronta clique no botão direito do mouse em Reports (na Soluction Explorer) a tela de Welcome to the Report Wizard será exibido.

Clique em next e na próxima tela em Shared data source escolha a conexão que você criou no passo anterior. Clique em next e na tela seguinde devemos criar a query que utilizaremos para nosso relatório que está baixo.

select COUNT(a.AddressID) as quantidade,
       sp.StateProvinceCode,
       sp.Name
  from AdventureWorks.Person.CountryRegion cr inner join
       AdventureWorks.Person.StateProvince sp on sp.CountryRegionCode = cr.CountryRegionCode inner join
       AdventureWorks.Person.Address a on a.StateProvinceID = sp.StateProvinceID
 where cr.CountryRegionCode = 'US'
 group by sp.StateProvinceCode,
          sp.Name

Essa consulta retorna a quantidade de contatos por estado. Clique em next  e em select the report type selecione Tabular e clique em next.

Em Design the Table coloque as três colunas em Details, clique em next na tela seguinte escolha um estilo para o relatório e clique em finish e por fim coloque um nome no relatório para finalizamos o processo.

O desing do relatório é exibido conforme criamos, clique na guia preview para visualizar o relatório que deve se parecer como a imagem abaixo.

Agora vamos criar nosso mapa baseado nesse relatório, volta a guia Design e clique com o botão direito na tela e selecione Insert >> Map. A tela New Map Layer será exibida. Aqui escolhermos qual mapa vamos utilizar. Selecione USA by State e clique em Next.

A tela seguir podemos escolher a melhor forma de exibir o design do map, como a posição no layout e o zoom. Selecione a forma que você gostar e clique em Next.

Agora devemos escolher o mapa que vamos visualizar, no nosso caso selecione Color Analytical Map que é um mapa baseado em informações da base de dados.

Devemos agora selecionar a fonte de dados, no caso a query que criamos, selecione a query e clique em next.

Agora vamos selecoinar a coluna da nossa query que contém a descrição dos estados.

Em Match Fields selecione STATENAME e em Analytical Dataset Fields selecione Name.

Para finalizar vamos escolher as cores do nosso mapa e os dados que serão visualizados.

Em field to visualize selecione “Sum(Quantidade)”. Esse é a informação que estará na legenda e que definirá as cores do relatório.

Marque Display labels e em Data Field escolha #STUSPS, essa é a informação que irá aparecer no mapa. As configurações devem ficar igual da imagem abaixo:

Clique em Finish. Selecione a guia preview e visualize o mapa. Veja na imagem abaixo:

Espero que tenham gostado e até a próxima.