Fala galera, desde a versão 2008 (não somente a 2008 R2) os gráficos da Dundas estão integrados ao Reporting Services. E o melhor, você pode utilizar o Reporting Services também na versão Express do SQL Server. Isso significa que você pode fazer seus relatórios ricos, com mapas, graficos, contadores, etc e não precisa pagar por isso! Acredite, vale muito a pena.
Para mostrar o como é facil criar um gráfico no Reporting Services vou criar um database, duas tabelas e alguns registros. Vou fazer uma busca simples juntando informações destas duas tabelas e montar o gráfico.
Veja esse script, ele faz esse trabalho de criação da massa de dados para nós.
— Cria o Banco de Dados
CREATE DATABASE dbGrafico
GO
— Usa o Banco de Dados
use dbGrafico
GO
— Cria a tabela de Área de Connhecimento
CREATE TABLE tbAreaConhecimento
(codigoAreaConhecimento int identity(1,1) primary key
,nomeAreaConhecimento varchar(30))
GO
— Insere algumas Áreas de Conhecimento
insert into tbAreaConhecimento(nomeAreaConhecimento)
values (‘Desenvolvimento de Software’)
GO
insert into tbAreaConhecimento(nomeAreaConhecimento)
values (‘Inteligência Artificial’)
GO
insert into tbAreaConhecimento(nomeAreaConhecimento)
values (‘Banco de Dados’)
GO
insert into tbAreaConhecimento(nomeAreaConhecimento)
values (‘Infra-Estrutura’)
— Cria a tabela de Pesquisa
CREATE TABLE tbPesquisa
(codigo int identity(1,1) primary key
,nome varchar(5)
,codigoAreaConhecimento int)
GO
ALTER TABLE tbPesquisa
ADD CONSTRAINT fkAreaConhecimento FOREIGN KEY (codigoAreaConhecimento) REFERENCES tbAreaConhecimento(codigoAreaConhecimento)
GO
— Insere algumas Áreas de Conhecimento
insert into tbPesquisa(nome, codigoAreaConhecimento)
values (‘aaaaa’,1)
GO 10
insert into tbPesquisa(nome, codigoAreaConhecimento)
values (‘bbbbb’,2)
GO 5
insert into tbPesquisa(nome, codigoAreaConhecimento)
values (‘ccccc’,3)
GO 8
insert into tbPesquisa(nome, codigoAreaConhecimento)
values (‘ddddd’,4)
GO 6
— Select para juntar as Áreas de Conhecimento e Pesquisas
select A.nomeAreaConhecimento, COUNT(0) [Total]
from tbPesquisa P inner join tbAreaConhecimento A
on p.codigoAreaConhecimento = a.codigoAreaConhecimento
group by A.nomeAreaConhecimento
order by A.nomeAreaConhecimento
Depois de criada a massa de dados, vou entender que todos já sabem criar um relatório em branco (vamos abrir o BIDS – Business Intelligence Development Studio – e criar um projeto do tipo Report Server. AdicionR um novo item de relatório (Report) na pasta Reports da Solution Explorer).
Reparem que na toolbox do relatório, tem o componente de Gráfico (Chart). É ele que será utilizado para montar os gráficos nativamente no SQL Server 2008 R2. Simplesmente arrastando o componente para a área do relatório, um wizard se abre e permite a escolha do tipo de relatório (modelo de apresentação, e também a configuração de DataSource (banco de dados de origem) e de DataSet (tabela e dados para plotar o gráfico) sejam realizadas.
A primeira escolha é do tipo de gráfico que deseja apresentar as informações. Para graficos de barras eu gosto muito de utilizar estes cilindros em 3D, visualmente ficam bem apresentados.
Depois do gráfico selecionado, temos que informar o DataSource e o DataSet. No DataSource você informa onde será o Banco de Dados de origem dos seus dados, já no DataSet você informará a consulta que retornará os dados. Repare que esta consulta é uma consulta ad-hoc, mas eu poderia ter utilizado uma Stored Procedure sem problemas. Esta consulta é o ultimo bloco do código T-SQL apresentado mais acima.
Depois de confirmadas as informações clicando no OK. Um gráfico é plotado no relatório. Reparem que o gráfico não representa a realidade dos dados. Não representa, porque não está fazendo nenhuma busca no banco de dados ainda, ele está somente mostrando como ficariam os dados plotados.
Geralmente eu faço algumas modificações no relatório para melhorar a visualização da informação. Fique a vontade para fazer as suas. O que eu sempre faço é:
- Aumentar o tamanho do gráfico;
- Colocar um título;
- Remover os “Axis Titles”;
- Informar quais são os dados pertencem a cada eixo do gráfico; [1]
- Alterar o ângulo de inclinação do gráfico; [2]
- Por ultimo, informo a “quantidade” também no cilindro. [3]
[1] –> Para alterar a visualização dos dados, clique no gráfico e vá até o lado direito. A sessão Chart Data ficou visível. Na primeira caixa – Values – clique no ícone e informe quais serão os dados a serem projetados como valores (eixo Y). Eu informei Total. Na segunda caixa – Category Groups – eu eliminei o ítem que estava informado. Fiz isso para melhorar visualmente, esta informação fica plotada no Eixo X do gráfico. Já na terceira caixa – Series Groups – eu informei o nomeAreaConhecimento que será utilizado para cada um dos ítens do gráfico. Cada uma das cores que estiver plotada no gráfico representa um ítem desta caixa.
[2] –> Clique em algum dos cilindros com o botão direito e vá até a opção 3D Effects. Já na primeira aba 3D Options você pode visualizar Rotação e Inclinação. Geralmente vem com 30, eu sempre mudo para 10.
[3] –> Clique em algum dos cilindros com o botão direito e vá até a opção Show Data Labels.
Para visualizar o gráfico com os dados reais que você tem em seu gráfico, clique no botão logo em cima do relatório.
Se você aplicou as mesmas configurações que eu, seu gráfico passou por essa transformação e ficou assim: