banco de dados multidimensionais consultando o cubo de dados (mdx – sql server 2008) banco de...
TRANSCRIPT
![Page 1: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/1.jpg)
BANCO DE DADOS MULTIDIMENSIONAIS
CONSULTANDO O CUBO DE DADOS
(MDX – SQL SERVER 2008)
Banco de Dados Avançado - Prof.ª Valeria Times
Andresson Firmino
![Page 2: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/2.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Importando o Cubo de Dados O SQL Server 2008 possui dois tipos de servidor
DataBase Engine Base de dados do ambiente transacional
Analysis Service Base de dados multidimensional
Por padrão apenas o DataBase Engine é carregado Para carregar o Analysis Service
Menu File => Connect Object Explorer Server Type: Analysis Service
Connect
![Page 3: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/3.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Importando o Cubo de Dados Para importar o cubo, no Analysis Service
Clique Direito em Databases, Restore.. Na seção Restore Source, clique em Browser Especifique o Diretório e o nome do Arquivo OK, OK Clique Direito em Analysis Service, Refresh
Cubo Importado
![Page 4: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/4.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Esquema Multidimensional do Cubo
![Page 5: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/5.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Para criar uma consulta
Clique Direito em Analysis Service New Query, MDX
Para executar a consulta Clique em execute
![Page 6: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/6.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Minha primeira consulta MDX – Pontos importantes
Resultados MDXs são sub-cubos
Dimensões do cubo são mapeadas para eixos do sub-cubo
Uma consulta MDX pode ter mais de um eixo. Porém, MDX Analysis Server só suporta no max. 2 (columns e rows)
Dimensões não especificadas nos eixos podem aparecer no WHERE
![Page 7: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/7.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Minha Primeira Consulta MDX
Operação Slice Os clientes e os filmes alugados no
primeiro ano.SELECT
([DIM CLIENTE].[Nome].children) ON COLUMNS,([DIM FILME].[Nome].children) ON ROWS
FROM [POINTFILMES]WHERE [DIM_TIME].[Year].firstChild -- OPERAÇÃO DE SLICE!!
![Page 8: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/8.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Conceitos importantes
Tuples Coleção de membros, os quais são de diferentes
dimensões. Não suporta mais de um membro de uma mesma dimensão
Sintaxe: ([Dim1].[Member], [Dim2].[Member], [Dim3].[Member])
Sets Conjunto de membros de um única dimensão Sintaxe: {[Dim].[Member], [Dim].[Member], [Dim].
[Member]}
Executa Não ExecutaSELECT {[DIM FUNCIONARIO].[Nome].[Andresson],[DIM FUNCIONARIO].[Nome].[Carol]} ON COLUMNS,{([DIM FILME].[Nome].children) }ON ROWSFROM [POINTFILMES]WHERE [DIM_TIME].[Year].firstChild
SELECT ([DIM FUNCIONARIO].[Nome].[Andresson],[DIM FUNCIONARIO].[Nome].[Carol]) ON COLUMNS,([DIM FILME].[Nome].children) ON ROWSFROM [POINTFILMES]WHERE [DIM_TIME].[Year].firstChild
![Page 9: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/9.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Conceitos importantes
Sets podem conter um conjunto de tuplas Ex:
Atenção!!! Não se usa Set no WHERE.
SELECT {([DIM FUNCIONARIO].[Nome].[Andresson]),
([DIM FUNCIONARIO].[Nome].[Carol])} ON COLUMNS,([DIM FILME].[Nome].children) ON ROWS
FROM [POINTFILMES]WHERE ([DIM_TIME].[Year].firstChild, [DIM CLIENTE].[Sexo].[M])
![Page 10: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/10.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Conceitos importantes (vírgula X dois
pontos) Com vírgula, Ex:
o mesmo resultado utilizando dois pontos:
SELECT {[DIM_TIME].[Month].[January 2006],[DIM_TIME].[Month].[February 2006],[DIM_TIME].[Month].[March 2006],[DIM_TIME].[Month].[April 2006] } ON COLUMNS
FROM [POINTFILMES]
SELECT {[DIM_TIME].[Month].[January 2006]:[DIM_TIME].[Month].[April 2006] } ON COLUMNS
FROM [POINTFILMES]
![Page 11: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/11.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Eliminando células vazias
Com:
Sem:
SELECT {[DIM FUNCIONARIO].[Nome].[Andresson]} ON COLUMNS,([DIM FILME].[Nome].children) ON ROWS
FROM [POINTFILMES]WHERE ([DIM_TIME].[Year].firstChild, [DIM CLIENTE].[Sexo].[M])
SELECT {[DIM FUNCIONARIO].[Nome].[Andresson]} ON COLUMNS,NON EMPTY([DIM FILME].[Nome].children) ON ROWS
FROM [POINTFILMES]WHERE ([DIM_TIME].[Year].firstChild, [DIM CLIENTE].[Sexo].[M])
![Page 12: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/12.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Ordenando o resultado de uma consulta
Classificando o resultado
SELECT ORDER(
{[DIM_TIME].[Month].[January 2006]: [DIM_TIME].[Month].[April 2006]}
,[Measures].[Valor] ,DESC)ON COLUMNSFROM [POINTFILMES]
SELECT TOPCOUNT({[DIM FUNCIONARIO].[Nome].children} ,[Measures].[FATOS Count],10) ON COLUMNS
FROM [POINTFILMES]
![Page 13: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/13.jpg)
Consultando o Cubo de Dados
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Navegando em uma hierarquia Obter o número de alugueis de cada cliente
durante os anos. Mas, para o ano de 2007 descer um nível, de modo a exibir também os valores nos semestre de 2007.
SELECT DrilldownMember ( [DIM_TIME].[Year - Half Year - Quarter - Month - Date].children, {[DIM_TIME].[Year - Half Year - Quarter - Month - Date].[Year].[Calendar 2007]} ) ON 0, [DIM FUNCIONARIO].[Nome].children ON 1FROM [PointFilmes] WHERE [Measures].[FATOS Count]
![Page 14: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/14.jpg)
Consultando o Cubo de Dados
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Navegando em uma hierarquia Os cinco filmes mais alugados e exibir as
suas quantidades de locações ao longo dos trimestres e meses.
SELECT DRILLDOWNLEVEL({[DIM_TIME].[Year - Half Year - Quarter - Month - Date].[Quarter].members}) ON COLUMNS,TOPCOUNT([DIM FILME].[Nome].children, 5, [Measures].[FATOS Count]) ON ROWSFROM PointFilmes
![Page 15: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/15.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Consultando o Cubo de Dados Mais de uma dimensão por eixo
ou
Cuidado com o CROSSJOIN operação muito custosa!!!
SELECT CROSSJOIN([DIM CLIENTE].[Nome].children,[DIM FUNCIONARIO].[Nome].children) ON COLUMNSFROM PointFilmes
SELECT ([DIM CLIENTE].[Nome].children,[DIM FUNCIONARIO].[Nome].children) ON COLUMNSFROM PointFilmes
![Page 16: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/16.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Exercícios Qual o número de locações para o filme
Central do Brasil? Qual o número de locações para o filme
Central do Brasil e Código da Vinci? Qual o número de locações do
funcionário Andresson no mês de Outubro de 2009?
Qual o número de locações do funcionário Andresson no mês de Outubro de 2009 para o filme Central do Brasil?
![Page 17: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/17.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Exercícios Qual o valor dos aluguéis para todos os
filmes em todos os semestres? Qual o valor dos aluguéis para todos os
filmes em todos os semestres para os clientes do sexo feminino?
Qual o valor dos aluguéis para todos os filmes por ano e semestre?
Quais os10 filmes mais alugados em 2009 e seu respectivos número de locações?
![Page 18: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/18.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Exercícios Quais os número de locações dos10
filmes mais alugados em 2009 para com os 5 clientes que fizeram mais locações em 2009?
Qual o valor dos aluguéis para todos os filmes nos meses das férias 2006-2007?
Agora, crie suas próprias consultas e pratique bastante.
![Page 19: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/19.jpg)
Referências Multidimensional Expressions (MDX) Reference
http://msdn.microsoft.com/en-us/library/ms145506.aspx
Kimball, Ralph e Ross, Margy. 2002. The Data Warehouse Toolkit. 2ª Edição. s.l. : Wiley Computer Publishing, 2002.
MultiDimensional eXpressions - Wikipedia, the free encyclopedia. Wikipedia. http://en.wikipedia.org/wiki/MultiDimensional_eXpressions.
Nolan, Carl. Introduction to Multidimensional Expression (MDX). s.l. : Microsoft Corporation.
Spofford, George, et al. 2006. MDx Solutions: With Microsoft SQL Server Analysis Services 2005 and Hyperion Essbase. s.l. : Wiley Publishing, Inc., 2006.
![Page 20: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/20.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Próxima Aula Construindo o Cubo de Dados Especificação do Projeto.
![Page 21: BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706385e1a28abb8238fe6a4/html5/thumbnails/21.jpg)
Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times
Dúvidas
?