Início > Reporting Services > Gauge com Reporting Services

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
  1. Nenhum comentário ainda.
  1. agosto 6, 2012 às 3:04 pm

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: