35
Linguagem MDX - Aula 13 Prof a Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio à Decisão

Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

Linguagem MDX - Aula 13

Profa Janniele Aparecida Soares Araujo

CSI462 – Sistemas de Apoio à Decisão

Page 2: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

2

Cubo OLAP

● Organiza os dados em dimensões e medida● Quantidade Vendida

● Rótulos das colunas são membros da dimensão Produto● Rótulos das linhas são membros da dimensão Tempo● Células contêm valores da medida QuantidadeVendida● Cada célula é descrita em termos de um membro de cada dimensão

Page 3: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

3

Cubo OLAP

● Organiza os dados em dimensões e medida● Quantidade Vendida / Valor Vendido

● Cada valor da medida (fato) ocorre em uma única interseção entre membros de dimensões distintas

● Um cubo pode exibir valores de mais de uma medida

Page 4: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

4

Definições

● Hierarquias e Agregações● Membros de uma

dimensão podem ser organizados em hierarquias (e geralmente são!)

● Hierarquias têm níveis. Níveis têm membros.

Page 5: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

5

Definições

● Hierarquias e Agregações● Membros de uma

dimensão podem ser organizados em hierarquias (e geralmente são!)

● Hierarquias têm níveis. Níveis têm membros.

Page 6: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

6

Definições

● Hierarquias e Agregações● Membros de uma

dimensão podem ser organizados em hierarquias (e geralmente são!)

● Hierarquias têm níveis. Níveis têm membros.

Page 7: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

7

Definições

● Níveis● Maioria das dimensões possuem All

● É o nível mais alto da hierarquia● Contém a informação mais agregada representada pela menor quantidade de

membros

Page 8: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

8

Definições

● Nomeação● Cada nível da hierarquia possui um nome descritivo● Para identificar um membro, especifica-se:

● Nome da dimensão● Membros de cada nível da hierarquia até o membro de interesse.● Por exemplo: [Loja].[All].[Pernambuco].[Recife].[Filial1]

● Forma abreviada: [Loja].[Filial1]● Porém, esta forma abreviada não funciona em todos os casos● Por exemplo: [Tempo].[Out] não identifica o membro desejado.● Para resolver: [Tempo].[Out-2000] ou [Tempo]. [All].[2000].[Trim4].[Out]

Page 9: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

9

Definições

● Tuplas● Interseção vários membros, sendo cada um deles de uma dimensão

diferente do cubo● Não requer um membro de cada dimensão do cubo

● Tem o potencial para identificar uma única célula do cubo● Não usa mais de um membro da mesma dimensão● Coleção de membros de dimensões diferentes● Exemplo:● ( [Produto].[Milho], [Loja].[Recife] , [Tempo].[Maio] )

Page 10: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

10

Definições

● Conjuntos● Coleção de zero ou mais tuplas definidas sobre as mesmas dimensões

(mesma dimensionalidade)● Pode ter tuplas repetidas e a ordem é importante

● Exemplo:● { ( [Produto].[Milho], [Tempo].[Maio], [Loja].[Recife] ) , ( [Produto].[Ervilha], [Tempo].

[Maio], [Loja].[Recife] ) }● Ambas tuplas têm um membro de Produto, Tempo e Loja.

● Elas têm a mesma dimensionalidade

Page 11: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

11

Definições

● Tuplas x Conjuntos1) ( [Loja] . [Recife], [Produto] . [Milho] )

2) { ( [Tempo] . [Abril], [Loja] . [Recife], [Produto] . [Milho] ) , ( [Tempo] . [Maio], [Loja] . [Recife], [Produto] . [Milho] ) , ( [Tempo] . [Junho], [Loja] . [Recife], [Produto] . [Milho] ), ( [Tempo] . [Julho], [Loja] . [Recife], [Produto] . [Milho] ) }

( [Tempo] . [Maio], [Loja] . [Recife], [Produto] . [Milho] )

Page 12: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

12

Definições

● Tuplas x Hierarquias● Células com valores agregados sempre existem no cubo.

● Alguns destes valores são materializados (calculados e armazenados), enquanto outros são derivados em tempo de execução.

● Tuplas podem recuperar o valor mais agregado ou detalhado

Page 13: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

13

Definições

● Colchetes []● Nomes de dimensões e de membros são usados entre [ ]● Porém , o uso de [ ] é apenas obrigatório se o nome contém:

● Números● Espaços em branco● Palavras reservadas (e.g. [FROM] )● Caracteres especiais

● Exemplos de nomes corretos para dimensões ou membros● [Todos Produtos]● Bebida● [Bebida]● [Trim3]

Page 14: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

14

Definições

● Pontos● Nome de uma dimensão seguido por vários nomes de membros -

devem vir separados pelo ponto● [Produto].[Bebida].[Cerveja]

● Parênteses ( )● São usados para denotar Tuplas

● Exemplo: ( [Produto].[Bebida].[Cerveja] )

● Tuplas contêm membros de uma ou mais dimensões● Membros são separados por vírgulas● Exemplos: ( [Produto].[Bebida].[Cerveja] , [Cliente].[PE] ) ( [Produto].[Bebida].

[Cerveja] , [Cliente].[PE] , [Tempo].[2003] )

Page 15: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

15

Definições

● Aspectos Importantes● Resultados das consultas MDX são sub-cubos● Não pode haver duplicidade de dimensões na consulta● Dimensões são mapeadas para eixos do sub-cubo● Dimensões não associadas aos eixos podem ser usadas na cláusula

WHERE● Uma consulta MDX pode ter mais de um eixo● Linguagem de consulta ad hoc para suporte à decisão

Page 16: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

16

Consultas MDX

● MDX: exemplo criação de cuboMDX: exemplo criação de cubo● Dimensões: {Produto, Local, Tempo, Vendas}● Hierarquias:

● Produto:● Software:

● {EditorTexto, Planilha, EditorGrafico}● Hardware:

● {Mouse,Teclado,Monitor,Gabinete}● Local:

● País: {Brasil, México, USA}● Tempo:

● Ano: {1998,1999}● Semestre: {S1,S2}

Page 17: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

17

Consultas MDX

● Componentes de uma consulta MDX:● Conjuntos: Elementos das Colunas, Elementos das Linhas● Nome do cubo desejado

SELECT

{ conjunto de elementos das colunas } ON COLUMNS ,

{ conjunto de elementos das linhas } ON ROWS

FROM [ nome do cubo ]● Se uma dimensão não for especificada e não existir o nível All com o

membro default (All), será escolhido o 1o. membro do nível mais alto

Page 18: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

18

Consultas MDX

● MDX: exemplo criação de cuboMDX: exemplo criação de cuboCREATE CUBE vendas ( DIMENSION Produto HIERARCHY ProdCat LEVEL [ProdCat] LEVEL ALL, LEVEL [Categoria], LEVEL [SubCat], DIMENSION Loja HIERARCHY LojaLoc LEVEL [LojaLoc] LEVEL ALL, LEVEL [Pais], DIMENSION Tempo TYPE TIME LEVEL Ano TYPE YEAR LEVEL Semestre TYPE SEMESTER MEASURE [Vendas] FUNCTION SUM)

INSERT INTO vendas ([SubCat], [Pais], [Semestre], [Vendas]), OPTIONS DEFER_DATA

Page 19: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

19

Consultas MDX

● MDX: Sintaxe● WITH

● membros virtuais calculados a partir de membros do cubo● via operadores aritméticos, estatísticos, de agregação, de series temporais, de formatação

de saída● SELECT

● conjunto de membros de dimensões, hierarquias e níveis ● especificado via expressão de operadores

● OLAP (DrillDown, Filter, …) ● de manipulação de conjuntos (CrossJoin, Union, Inter, Member ...)● agregação (TopSum, TopCount, TopPercent, Order, ...)

● ON● eixos de visualização planares:

● row, column, page, sections, chapters● SQL Server Management Studio só permite no máximo dois eixos

● FROM cubo● WHERE lista de membros de dimensões medidas

Page 20: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

20

Consultas MDX

● Exemplo de uma consulta em MDX

SELECT

{ [Cliente].[All ] } ON COLUMNS ,

{ [Measures].[QuantidadeVendida] } ON ROWS

FROM [Vendas]

WHERE [Tempo].[1998]

Page 21: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

21

Consultas MDX

● Função Children● Retorna o conjunto dos membros do nível diretamente abaixo do

membro ao qual a função é aplicada● Exemplo:

SELECT

{ [Measures].[Unit Sales] } ON COLUMNS,

{ [Product].[Product Family].[Food].Children }

ON ROWS

FROM [Sales]

Page 22: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

22

Consultas MDX

● Função Where● Qualquer dimensão que não estiver explicitamente indicada na

consulta é chamada de slicer dimension ● Filtrará os dados de acordo com o valor do membro default (All)● Exemplo:

SELECT

{ [Customers].[All Customers].[USA].Children } ON COLUMNS ,

{ [Product].[Product Family].[Food].Children } ON ROWS

FROM [Sales]

WHERE ( [Measures].[Sales Average], [Time].[1998] )●

Page 23: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

23

Consultas MDX

● Função FirstChild x LastChild● Retorna o primeiro e último filho de um membro● Filtrará os dados de acordo com o valor do membro default (All)● Exemplo: [Time].[1997].FirstChild retorna Q1● Exemplo: [Time].[1997].LastChild retorna Q4

Page 24: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

24

Consultas MDX

● Outras funções● Função Parent● Função CurrentMember● Função PrevMember● Função NextMember● Função Lag● Função Lead● Função ParallelPeriod● Função Sum● Função YTD● Função PeriodsToDate● Entre outras...

Page 25: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

25

Pentaho

Page 26: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

26

Pentaho

Page 27: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

27

Pentaho

Page 28: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

28

Pentaho

Page 29: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

29

Pentaho

Page 30: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

30

Pentaho

Page 31: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

31

Pentaho

Page 32: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

32

Pentaho

Page 33: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

33

Pentaho

Page 34: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

34

Pentaho

Page 35: Linguagem MDX - Aula 13professor.ufop.br/sites/default/files/janniele/files/aula13_0.pdfLinguagem MDX - Aula 13 Profa Janniele Aparecida Soares Araujo CSI462 – Sistemas de Apoio

35

Bibliografia

● MDX Language Reference (MDX), http://msdn2.microsoft.com/en-us/library/ms145595.aspx

● Pentaho Community● Times, Valéria. Linguagem MDX MultiDimensional eXpressions

Universidade Federal de Pernambuco