alt="" hspace=0 src="/loja/img/Capa_SQL45_G.gif" align=bottom border=0>

Clique aqui para ler todos os artigos desta edição

Banco de Dados

Construindo relatórios de referência cruzada no Microsoft SQL SERVER 2005 – Parte 1

Fundamentos da linguagem SQL

Parece que a boa e velha linguagem estruturada para consultas (ou SQL) está sempre se renovando para acompanhar as necessidades das empresas. Graças a isso, o SQL está sempre atual e guardando alguns segredos que merecem a nossa atenção.

O que parece novidade para muitos de nós, muitas vezes são padrões que há tempos foram definidos e recomendados pelos órgãos responsáveis. No que diz respeito a SQL, o órgão reconhecido internacionalmente é a American National Standards Institute (ou ANSI). Talvez você já tenha ouvido falar em ANSI SQL-86, 89, 92 e 99, sendo este último o padrão recomendado até hoje.

Os fornecedores de sistemas gerenciadores de bancos de dados estão de olho nestas novidades, mesmo que alguns deles levem mais de uma década para se adequarem aos novos padrões. Piada à parte, esta é a mais pura realidade. E nós, desenvolvedores, também temos uma grande parcela de culpa ao não darmos a devida atenção a estas “novidades”.

Este artigo explora alguns recursos da linguagem Transact-SQL (ou T-SQL) usada no Microsoft SQL Server 2005 para nos ajudar em tarefas simples de Business Intelligence (BI). Apresentamos aqui uma breve introdução às cláusulas, sintaxes e funções SQL que são usados na geração de relatórios de referência cruzada. Estes últimos serão analisados em detalhe na segunda parte de desta série.

Relatórios de referência cruzada

Se você já ouviu um usuário reclamando que já passou da hora de pararmos de lhe enviar listagens e passarmos a apresentar relatórios, pense bem. Ele deve estar certo.

Não dá para negar que é muito mais fácil analisar dados em um relatório de referência cruzada (ou CrossTab) do que em uma lista de dados. Compare as Tabelas 1 e 2, que mostram a mesma informação, e tire suas próprias conclusões.

 

Cidade  

 Mes

 ValorReal

Belo Horizonte (MG)

200601

 32.758,64

Belo Horizonte (MG)

200602

215.074,52

Belo Horizonte (MG)

200603

223.589,40

Campinas (SP)

200601

146.650,92

Campinas (SP)

200602

132.562,07

Campinas (SP)

200603

141.952,14

Rio de Janeiro (RJ)

200601

200.115,66

Rio de Janeiro (RJ)

200602

184.911,63

Rio de Janeiro (RJ)

200603

192.232,35

Santos (SP)

200601

  97.051,85

Santos (SP)

200602

  98.518,40

Santos (SP)

200603

103.321,14

São Paulo (SP)

200601

306.068,78

São Paulo (SP)

200602

282.599,24

São Paulo (SP)

200603

298.864,16

Tabela 1. Demanda mensal por cidade.

 

Cidade

200601

200602

200603

 Belo Horizonte (MG)

232.758,64

215.074,52

...

Quer ler esse conteúdo completo? Tenha acesso completo