MDX (Multidimensional Expressions) é uma linguagem avançada para manipulação e consulta de dados.
Com MDX, você pode:
Consultar e reportar dados e metadados nos cubos do Essbase
Inserir dados em um cubo Essbase
Exportar dados de um cubo Essbase
Uma consulta MDX é uma instrução MDX única que tem exatamente um conjunto de resultados que é aplicado a um único cubo.
Um relatório MDX é uma única consulta MDX, salva no contexto do cubo. Você pode acessar relatórios MDX no Smart View e na interface web do Essbase.
Script MDX é um arquivo, com uma extensão .mdx
, que você pode transferir por upload e depois executar em Jobs ou no Smart View. Somente as instruções MDX Insert e Export devem ser usadas em scripts MDX. Para analisar dados em grade, use relatórios MDX em vez de scripts MDX.
Tópicos:
Você pode armazenar e renderizar consultas na interface web do Essbase usando relatórios MDX. A permissão mínima exigida para criar um relatório é a de Gerente de Banco de Dados.
A definição de Layouts usando a guia Análise Ad Hoc nem sempre pode ser a maneira mais eficiente de criar um relatório sofisticado. Se você souber exatamente o que deseja consultar, poderá usar o MDX para criar uma consulta para preencher a grade.
Para saber mais sobre MDX, consulte MDX e Gravando Consultas MDX.
A maneira como você trabalha com relatórios depende de seu acesso a cubos.
Os usuários com, no mínimo, a atribuição de nível de aplicativo de Acesso ao Banco de Dados podem renderizar relatórios MDX salvos criados por terceiros: Os dados que um usuário vê exibidos no relatório dependem do acesso de filtro desse usuário.
Além de renderizar relatórios salvos, os usuários com Acesso ao Banco de Dados podem exportar os conjuntos de resultados em vários formatos: HTML, CSV, Excel e JSON.
Os usuários com Acesso ao Banco de Dados também podem exibir a consulta MDX que define o relatório, clicando no menu Ações ao lado do nome do relatório e selecionando Exibir.
Se você tiver pelo menos a atribuição de Gerente de Banco de Dados, poderá usar relatórios da mesma maneira que os usuários de Acesso ao Banco de Dados podem. Além disso, você pode editar e excluir relatórios usando o menu Ações.
Se você for Administrador de Serviços, poderá também usar o botão Executar como para personificar outros usuários e verificar seus acessos a dados. Isso pode ser útil para testar filtros designados a vários usuários.
Os exemplos de MDX desta seção demonstram tipos especiais de análises que você pode executar, usando relatórios MDX, que não são facilmente realizados na view Análise Ad Hoc.
Os exemplos a seguir foram planejados para funcionar no cubo Sample Basic.
Relatório de Metadados
O exemplo a seguir só retorna metadados (nomes de membro, mas nenhum dado):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
retornando a grade:
Relatório de Atributos
O seguinte exemplo usa, em colunas, membros de uma dimensão de atributo:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
retornando a grade:
Relatório Filtrado
O exemplo a seguir usa um slicer (cláusula WHERE) para limitar a consulta a Cola. Além disso, a função Filtro limita os mercados de nível 0 na consulta àqueles que têm lucro negativo.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
retornando a grade:
Relatório de UDA
O exemplo a seguir mostra dados de Produto para membros da dimensão Market que têm um atributo definido pelo usuário (UDA) "Major Market." Um slicer (cláusula WHERE) limita a consulta a incluir apenas dados de Vendas.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
retornando a grade:
Além de ser útil para análise baseada em grade, o MDX também permite que você copie e atualize subconjuntos de dados multidimensionais.
A cláusula de Inserção de MDX permite que você atualize o cubo com os dados, usando um membro (não físico) calculado que você define usando MDX.
A cláusula de Exportação de MDX permite que você salve e exporte os resultados da consulta como subconjuntos de dados que você pode exibir ou importar posteriormente.
As instruções de Inserção e Exportação de MDX podem ser executadas como scripts MDX salvos.
Para saber mais sobre Inserção e Exportação de MDX, consulte Especificação de Inserção de MDX e Especificação de Exportação de MDX.
Use scripts MDX quando precisar executar operações de Inserção ou Exportação de dados.
Para análise de dados em grade, use relatórios MDX. Consulte Analisar Dados com Relatórios MDX.
Para usar scripts de MDX, selecione um workflow:
Use este workflow para escrever scripts MDX em um editor de texto e fazer o upload deles no Essbase.
Grave o script de MDX em um editor de texto e salve-o com uma extensão .mdx
.
Faça upload do script MDX para o diretório do aplicativo ou do cubo em Arquivos na interface web do Essbase.
Execute o script de MDX em Jobs ou no Smart View, usando Calcular na faixa de opções do Essbase.
Use este workflow para escrever scripts de MDX em um editor de script no cubo e execute-os em Jobs.
Na página Aplicativos, abra o aplicativo e depois o banco de dados (cubo).
Clique em Scripts e em Scripts MDX.
Clique em Criar, digite um nome para o script e clique em OK.
Grave o script de MDX. Uma árvore de membros e lista de funções pode ajudá-lo.
Valide e salve o script, em seguida, feche o editor de script.
Execute o script MDX de Jobs (consulte Executar MDX) ou, se estiver usando o Smart View, use Calcular na faixa do Essbase.
Na página Aplicativos, expanda um aplicativo e um cubo.
No menu Ações do cubo, clique em Inspecionar.
Clique em Scripts e, em seguida, clique em Scripts de MDX.
Clique em + para abrir um editor de script.
Grave o script de MDX. Uma árvore de membros e lista de funções pode ajudá-lo.
Valide e salve o script, em seguida, feche o editor de script.
Execute o script MDX de Jobs (consulte Executar MDX) ou, se estiver usando o Smart View, use Calcular na faixa do Essbase.
Use este fluxo de trabalho para criar scripts de MDX usando uma pasta de trabalho do aplicativo e execute-os em Jobs.
Use as seguintes diretrizes ao trabalhar com scripts de MDX.
Use scripts MDX para executar operações de Inserção ou Exportação de dados.
Para análise de grade, use relatórios MDX em vez de scripts MDX.
Os scripts de MDX podem, como opção, incluir variáveis de substituição de runtime.
Para serem utilizáveis dentro do Smart View, os scripts de MDX com variáveis de substituição de runtime devem usar a sintaxe de XML dentro do comando de cálculo SET RUNTIMESUBVARS, incluindo <RTSV_HINT>
.
Para definir uma variável de substituição de runtime, de forma que ela calcule somente a fatia de dados no Smart View, defina o valor da variável de substituição de runtime como POV e defina os tipos de dados como membro.
Ao executar usando a interface web do Essbase, seus scripts de MDX podem usar variáveis de substituição, mas não variáveis de substituição de runtime. Para usar variáveis de substituição de runtime nos scripts de MDX, é necessário executar os scripts do Smart View, usando Calcular na faixa do Essbase.
A seguir estão os exemplos de scripts de MDX que você pode executar no cubo Sample Basic ou nos Jobs ou no Smart View.
Inserção de MDX
Você pode salvar este script de .mdx
e executá-lo dos Jobs ou da caixa de diálogo Calcular no Smart View.
INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])" INTO [Sample].[Basic] FROM ( SELECT {[Measures].[Payroll]} ON COLUMNS, {Crossjoin (Crossjoin(Descendants([Year]), Crossjoin(Descendants([Scenario]), Descendants([Product]))), Descendants([Market]))} ON ROWS FROM [Sample].[Basic] );
O exemplo acima presume que você tenha adicionado anteriormente uma medida Revised_Payroll a Sample Basic.
Exportação de MDX
Você pode salvar este script de .mdx
e executá-lo dos Jobs ou da caixa de diálogo Calcular no Smart View.
EXPORT INTO FILE "sample01" OVERWRITE SELECT {[Mar],[Apr]} ON COLUMNS, Crossjoin({[New York]}, Crossjoin({[Actual],[Budget]}, {[Opening Inventory],[Ending Inventory]})) ON ROWS FROM [Sample].[Basic] WHERE ([100-10])
Após executar o script, o seguinte arquivo de exportação, sample01.txt
, será salvo no diretório do cubo do catálogo de arquivos:
Market,Scenario,Measures,Mar,Apr New York,Actual,Opening Inventory,2041,2108 New York,Actual,Ending Inventory,2108,2250 New York,Budget,Opening Inventory,1980,2040 New York,Budget,Ending Inventory,2040,2170
Exportação de MDX Usando Variável de Substituição de Runtime
Você pode salvar este script de .mdx
e executá-lo da caixa de diálogo Calcular no Smart View.
SET RUNTIMESUBVARS { States = "Massachusetts"<RTSV_HINT><svLaunch> <description>US States</description> <type>member</type> <allowMissing>false</allowMissing> <dimension>Market</dimension> <choice>multiple</choice> </svLaunch></RTSV_HINT>; }; EXPORT INTO FILE "sample002" OVERWRITE SELECT {[Mar],[Apr]} ON COLUMNS, Crossjoin({&States}, Crossjoin({[Actual],[Budget]}, {[Opening Inventory],[Ending Inventory]})) ON ROWS FROM [Sample].[Basic] WHERE ([100-10])
Após executar o script, o seguinte arquivo de exportação, sample002.txt
, será salvo no diretório do cubo do catálogo de arquivos:
Market,Scenario,Measures,Mar,Apr Massachusetts,Actual,Opening Inventory,-54,-348 Massachusetts,Actual,Ending Inventory,-348,-663 Massachusetts,Budget,Opening Inventory,-160,-520 Massachusetts,Budget,Ending Inventory,-520,-910