Analisar e Gerenciar Dados com MDX
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 do Smart View e da interface Web do Essbase.
Um script MDX é um arquivo, com uma extensão .mdx, que você pode fazer upload e, em seguida, 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.
Analisar Dados com Relatórios MDX
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 Escrevendo Consultas MDX.
Acesso a Relatórios MDX
A forma como você trabalha com relatórios MDX do Essbase depende do seu acesso ao cubo.
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 do Database Access 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.
Exemplos de Relatórios MDX
Os exemplos de MDX nesta seção demonstram tipos especiais de análise que você pode executar, usando relatórios de MDX. Salve os relatórios MDX na exibição Analisar da interface Web do Essbase, na guia Relatórios.
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:

Inserir e Exportar Dados com MDX
Além de ser útil para análise baseada em grade do Essbase, 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 MDX, consulte Especificação de Inserção MDX e Especificação de Exportação MDX.
Executar Scripts 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:
Escrever, Fazer Upload e Executar um Script MDX
Use este workflow para escrever scripts MDX em um editor de texto e fazer o upload deles no Essbase.
-
Grave o script 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 MDX de Jobs ou do Smart View, usando Calculate na faixa de opção do Essbase.
Escrever um Script MDX no Editor de Script e Executá-lo
Use este workflow para escrever scripts de MDX em um editor de script no cubo e execute-os em Jobs.
-
Na Home page, abra o aplicativo e abra o banco de dados (cubo).
-
Clique em Scripts e em Scripts MDX.
-
Clique em Criar, informe 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 em Jobs (consulte Executar MDX) ou, se usar o Smart View, usando Calcular na faixa Essbase.
Criar um Script MDX no Cube Designer e Executá-lo
Use este fluxo de trabalho para criar scripts de MDX usando uma pasta de trabalho do aplicativo e execute-os em Jobs.
- Em uma pasta de trabalho do aplicativo, crie uma planilha de MDX. Consulte Trabalhar com Planilhas MDX no Cube Designer.
- Adicione um nome de arquivo no campo Nome do Arquivo.
- Indique, no campo Executar MDX, se é necessário executar o MDX no momento em que o cubo é criado. As entradas válidas são Sim e Não.
- Adicione o script MDX abaixo da linha do Script.
- Salve a pasta de trabalho do aplicativo.
- Crie o cubo. Consulte Criar um Aplicativo e Cubo no Cubo Designer.
- Execute o script MDX de Jobs, ou se usar o Smart View, usando Calcular na faixa do Essbase.
Diretrizes para Scripts de MDX
Use scripts MDX para executar operações de Inserção ou Exportação de dados. Para análise de grade na interface Web do Essbase, use relatórios MDX em vez de scripts MDX. Os scripts MDX podem opcionalmente incluir variáveis de substituição de tempo de execução e você pode executá-las no Smart View.
Para poder ser usado no Smart View, os scripts MDX com variáveis de substituição de runtime devem usar a sintaxe XML no comando SET RUNTIMESUBVARS, incluindo <RTSV_HINT>.
Para definir uma variável da substituição do tempo de execução de modo que ela calcule somente a fatia visível dos dados no Smart View, defina o valor da variável da substituição do tempo de execução como PDV e defina o tipo de dados comomembro.
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.
Exemplos de Scripts de MDX
Veja a seguir exemplos de scripts de Inserção e Exportação MDX que você pode executar no cubo Sample Basic, seja em Jobs na interface Web do Essbase ou na operação Calcular do Smart View.
Inserção de MDX
Você pode salvar esse script .mdx e executá-lo em Jobs ou na 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 esse script .mdx e executá-lo em Jobs ou na 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])Depois que você executa o script, o seguinte arquivo de exportação, sample01.txt, é salvo no diretório de cubos do catálogo do arquivo:
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,2170Exportação de MDX Usando Variável de Substituição de Runtime
Você pode salvar esse script .mdx e executá-lo na 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])
Depois que você executa o script, o seguinte arquivo de exportação, sample002.txt, é salvo no diretório de cubos do catálogo do arquivo:
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