DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.

Clique aqui para saber como acessar este post

1) Torne-se um assinante MVP e por apenas R$ 69,90 por mês você terá acesso completo a todos os posts. Assinar MVP

2) Adquira Créditos: comprando R$ 180,00 em créditos esse post custará R$ 1,20. Comprar Créditos

código fonte     post favorito     comentários
SQL Magazine 99 - Índice

Data Mart e geração de relatórios a partir do SQL Server Analysis Services 2008 - Revista SQL Magazine 99

O artigo trata de um projeto de DW (Data Warehouse), onde são abordadas algumas ferramentas e tecnologias da Microsoft integradas ao SQL Server 2008, como o Integration Services, Analysis Services e Reporting Services.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo
A importância de criação de sistemas de Business Intelligence (BI) está crescendo a cada dia, e com isso a necessidade de criar projetos DW / DM. A Microsoft possui algumas ferramentas que nos auxiliam a criar esses sistemas, algumas delas sendo o Integration Services, o Analysis Services e o Reporting Services. Essas ferramentas serão abordadas no decorrer deste artigo.

Para apresentar as ferramentas mencionadas utilizaremos como exemplo um site sobre seriados de TV, que funciona como uma rede social. A partir dos dados transacionais contendo as atividades dos usuários, criaremos um Modelo Dimensional para iniciar nosso projeto de DM.

Por meio do Microsoft Visual Studio 2008 será criado um projeto do Integration Services, uma ferramenta ETL (Extração Transformação Carga) que usaremos para dar carga nas tabelas dimensionais. No nosso exemplo demonstraremos como capturar dados de um banco MySQL para popular um banco SQL Server.
Após a carga de dados, será utilizado o Analysis Services responsável pela criação de cubos e medidas, onde serão feitas análises dos dados e também KPIs (Key Performance Indicator).

Já o Reporting Services tem como objetivo a criação e exportação de relatórios. Iremos demonstrar como criar um relatório e como utilizar filtros para o relatório criado.
Para completar, será apresentado também como criar queries para banco de dados utilizando a linguagem MDX.

Com tudo isso, esperamos que ao final do artigo o leitor adquira uma boa idéia sobre os elementos e conceitos envolvidos na criação, preenchimento e manipulação de bancos de dados multidimensionais.


Contextualização do estudo de caso
O projeto demonstrado no artigo utiliza os dados de um site sobre seriados de TV (www.vejoseries.com) que funciona como uma rede social para fãs de séries. O usuário se cadastra no site e através de sua conta ele adiciona amigos, as séries e episódios que ele já viu, as séries que ele vê, as séries que ele quer ver e suas séries favoritas, dessa forma o usuário se mantém atualizado sobre as séries que ele acompanha. Também é possível adicionar amigos e mandar recados. A partir disso, nosso exemplo apresenta como identificar informações relevantes em função do comportamento do usuário, isto é, a partir das interações do usuário buscaremos identificar algumas informações relevantes que podem auxiliar no processo decisório realizado pelo gestor do site.


Modelo Transacional
O Modelo Transacional se refere ao banco de dados usado no site Vejo Séries para capturar informações e ações realizadas pelos usuários. Ele é composto por tabelas do modelo relacional que armazenam diversas informações como, por exemplo, data e horário que foi feita cada atividade.

O banco de dados contempla também tabelas com as informações das séries, canais e gêneros, e com informações sobre os episódios da semana, não apenas de episódios que passam no Brasil, como também no exterior. Há ainda outras tabelas que complementam o conteúdo do site.

Para nossos objetivos de criação de um DM a partir dos dados do site, foram consideradas informações presentes em 11 tabelas que contém informação das séries, dos canais, dos gêneros, das visitas de cada série, e das atividades do usuário, tais como das séries que ele viu, vê, quer ver e séries favoritas. Essas tabelas podem ser visualizadas no modelo da Figura 1.

Modelo Dimensional
Apesar de ser possível utilizar-se do próprio modelo transacional exposto anteriormente para analisar os dados e transformá-los em informações úteis, existe uma maneira mais indicada de se armazenar os dados antes de iniciar o processo de busca das informações. Trata-se da criação do modelo dimensional. Não é nosso objetivo realizar seu estudo aqui, mas, o leitor deve ter em mente que a criação de um modelo desse tipo organiza melhor os dados e traz maior velocidade de acesso as informações e geração de relatórios. Quanto maior for a base de dados utilizada, maiores serão os benefícios. A forma mais usada na criação dessa estrutura é o modelo estrela que contempla a tabela fato (com o fato a ser analisado) no centro do modelo e algumas tabelas de dimensões com os elementos que participam do fato.

Nosso objetivo em criar esse modelo será analisar os dados sobre as séries (nosso fato). Para isso foram selecionadas quatro dimensões:
• Tempo;
• Canais;
• Gêneros;
• Séries.

A tabela fato agrupa todos os dados das dimensões por meio de relacionamentos com as dimensões. Veja o modelo estrela definido na Figura 2. O script em SQL para você criar esse modelo encontra-se na Listagem 1.

Listagem 1. Script SQL para criação do modelo dimensional
CREATE database dwVejoSeries

USE dwVejoSeries

create table dimSeries (
idSerie varchar(10) primary key,
nome varchar(85),
origem varchar(50),
inicio int,
fim varchar(10),
duracao varchar(10),
numTemp int,
numEps int,
tipo char(1)
)

create table dimCanal (
idCanal varchar(10) primary key,
nome varchar(50),
pais varchar(5),
)

create table dimTempo(
idTempo int identity(1,1) primary key,
dia int,
diadoano int,
mes int,
nomedomes char(9),
ano int
)

create table dimGenero (
idGenero varchar(10) primary key,
nome varchar(25)
)

create table fatoSeries (
idFato int identity(1,1) primary key,
idTempo int,
idSerie varchar(10),
idCanal varchar(10),
idGenero varchar(10),
totalUsers int,
totalVisitas int,
totalQrVer int,
totalVendo int,
totalViu int,
totalFavoritas int
FOREIGN KEY(idTempo)
REFERENCES dimTempo(idTempo),
FOREIGN KEY(idCanal)
REFERENCES dimCanal(idCanal),
FOREIGN KEY(idGenero)
REFERENCES dimGenero(idGenero),
FOREIGN KEY(idSerie)
REFERENCES dimSeries(idSerie)
)

Como você pode observar no modelo, a tabela fatoSeries contém todas as chaves estrangeiras das dimensões (são quatro ids, um para cada dimensão) para agregar todas as informações pertinentes ao assunto analisado. A tabela fatoSeries contém também outros atributos chamados de medidas (em nosso caso todos os atributos que iniciam com total) que contém valores numéricos. Esses atributos contêm o total de usuários que visualizaram aquela série (totalUser), que visitaram a série (totalVisitas), que sentiram interesse em ver a série (totalQrVer) e assim por diante. Dessa forma, cada linha de dados da tabela fatoSeries conterá todas as informações referentes a uma série: a data que a série foi exibida, o gênero da série, o canal que exibiu a série, além de todos os totais citados.


Integration Services
O Integration Services presente no pacote de aplicativos do MS SQL Server Analysis Services permite que os dados de uma fonte (de um banco de dados, por exemplo) sejam transferidos para outra fonte de dados. O site Vejo Séries utiliza o banco de dados My SQL e nosso DM foi criado com o SQL Server. Isso não representa nenhum problema já que o Integration Services pode realizar essa tarefa integrando dados de fontes diferentes.
"

A exibição deste artigo foi interrompida

Este post está disponível para assinantes MVP.



A DevMedia é um portal para analistas, desenvolvedores de sistemas, gerentes e DBAs com milhares de artigos, dicas, cursos e videoaulas gratuitos e exclusivos para assinantes.

O que você achou deste post?
Publicidade
Serviços

Mais posts