O MDX (Multidimensional Expressions) é uma poderosa linguagem de consulta e manipulação de dados.
Com o MDX, pode:
Consultar e gerar relatórios relativamente aos dados e metadados nos cubos do Essbase
Inserir dados num cubo do Essbase
Exportar dados de um cubo do Essbase
Uma consulta de MDX é uma instrução de MDX individual, com exatamente um conjunto de resultados, que se aplica a um cubo individual.
Um relatório de MDX é uma consulta de MDX individual, gravado no contexto do cubo. Pode aceder aos relatórios de MDX a partir do Smart View e da interface da Web do Essbase.
Um script de MDX é um ficheiro, com uma extensão .mdx
, que pode carregar e, em seguida, executar a partir de Tarefas ou no Smart View. Só deve utilizar instruções Insert e Export de MDX nos scripts de MDX. Para analisar os dados da grelha, utilize relatórios de MDX em vez de scripts de MDX.
Tópicos:
Pode armazenar e renderizar consultas na interface da Web do Essbase utilizando relatórios de MDX. A permissão mínima necessária para criar um relatório é Gestor da Base de Dados.
Definir Disposições através do separador Análise Ad Hoc nem sempre é a forma mais eficiente de criar um relatório sofisticado. Se souber exatamente o que pretende consultar, pode utilizar o MDX para criar uma consulta para preencher a grelha.
Para obter mais informações sobre MDX, consulte MDX e Escrever Consultas de MDX.
O modo como trabalha com os relatórios depende do seu acesso ao cubo.
Os utilizadores com, no mínimo, o perfil de grupo ao nível da aplicação de Acesso à Base de Dados podem renderizar os relatórios de MDX gravados criados por outros utilizadores. Os dados que um utilizador vê apresentados no relatório dependem do acesso do filtro desse utilizador.
Além da renderização de relatórios gravados, os utilizadores com Acesso à Base de Dados podem exportar os conjuntos de resultados em vários formatos: HTML, CSV, Excel e JSON.
Os utilizadores com Acesso à Base de Dados também podem visualizar a consulta de MDX que define o relatório, clicando no menu Ações junto ao nome do relatório e selecionando Visualizar.
Se tiver pelo menos o perfil de grupo Gestor da Base de Dados, pode utilizar os relatórios tal como fazem os utilizadores com Acesso à Base de Dados. Além disso, pode editar e apagar os relatórios utilizando o menu Ações.
Se for um Administrador do Serviço, pode também utilizar o botão Executar Como para adotar as credenciais de outros utilizadores e verificar o respetivo acesso aos dados. Isto pode ser útil para testar os filtros atribuídos aos vários utilizadores.
Os exemplos de MDX nesta secção demonstram os tipos especiais de análises que pode efetuar, utilizando relatórios de MDX, que não são facilmente executadas na visualização Análise Ad Hoc.
Os exemplos seguintes foram concebidos para funcionar no cubo Sample Basic.
Relatório de Metadados
O exemplo seguinte devolve apenas metadados (nomes de membros, mas não dados):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
devolve a grelha:
Relatório de Atributos
O exemplo seguinte utiliza, nas colunas, membros de uma dimensão de atributo:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
devolve a grelha:
Relatório Filtrado
O exemplo seguinte utiliza um slicer (cláusula WHERE) para limitar a consulta a Cola. Além disso, a função Filter limita os mercados de nível 0 na consulta aos que têm um lucro negativo.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
devolve a grelha:
Relatório de UDA
O exemplo seguinte mostra os dados de Product para os membros da dimensão Market que têm o atributo definido pelo utilizador (UDA) "Major Market." Um slicer (cláusula WHERE) limita a consulta para incluir apenas os dados de Sales.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
devolve a grelha:
Além de ser útil para a análise baseada na grelha, o MDX também permite copiar e atualizar subconjuntos de dados multidimensionais.
A cláusula Insert de MDX permite-lhe atualizar o cubo com dados, utilizando um membro calculado (não físico) definido utilizando MDX.
A cláusula Export de MDX permite-lhe gravar e exportar os resultados da consulta como subconjuntos de dados que pode visualizar ou importar mais tarde.
As instruções Insert e Export de MDX podem ser executadas como scripts de MDX gravados.
Para obter mais informações sobre Insert e Export de MDX, consulte Especificação de Insert de MDX e Especificação de Export de MDX.
Utilize scripts de MDX quando precisar de executar operações para Inserir ou Exportar dados.
Para a análise dos dados da grelha, utilize relatórios de MDX. Consulte Analisar Dados com Relatórios de MDX.
Para utilizar scripts de MDX, selecione um fluxo de trabalho:
Utilize este fluxo de trabalho para escrever scripts de MDX num editor de texto e carregá-los para o Essbase.
Escreva o script de MDX num editor de texto e grave-o com uma extensão .mdx
.
Carregue o script de MDX para o diretório da aplicação ou cubo em Ficheiros na interface da Web do Essbase.
Execute o script de MDX a partir de Tarefas ou a partir do Smart View, utilizando Calcular no friso do Essbase.
Utilize este fluxo de trabalho para escrever scripts de MDX num editor de scripts no cubo e execute-os a partir de Tarefas.
Na página Aplicações, abra a aplicação e abra a base de dados (cubo).
Clique em Scripts e clique em Scripts de MDX.
Clique em Criar, introduza um nome para o script e clique em OK.
Escreva o script de MDX. Uma árvore de membros e uma lista de funções poderão ajudá-lo.
Valide e grave o script e, em seguida, feche o editor de scripts.
Execute o script de MDX a partir de Tarefas (consulte Executar MDX) ou, se estiver a utilizar o Smart View, utilize Calcular no friso do Essbase.
Na página Aplicações, expanda uma aplicação e um cubo.
A partir do 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 scripts.
Escreva o script de MDX. Uma árvore de membros e uma lista de funções poderão ajudá-lo.
Valide e grave o script e, em seguida, feche o editor de scripts.
Execute o script de MDX a partir de Tarefas (consulte Executar MDX) ou, se estiver a utilizar o Smart View, utilize Calcular no friso do Essbase.
Utilize este fluxo de trabalho para criar scripts de MDX utilizando um livro da aplicação e execute-os a partir de Tarefas.
Utilize as seguintes diretrizes ao trabalhar com scripts de MDX.
Utilize scripts de MDX para efetuar operações para Inserir ou Exportar dados.
Para a análise da grelha, utilize relatórios de MDX em vez de scripts de MDX.
Opcionalmente, os scripts de MDX podem incluir variáveis de substituição em runtime.
Para serem utilizáveis no Smart View, os scripts de MDX com variáveis de substituição em runtime devem utilizar a sintaxe de XML no comando de cálculo SET RUNTIMESUBVARS, incluindo <RTSV_HINT>
.
Para definir uma variável de substituição em runtime para que calcule apenas o setor visível dos dados no Smart View, defina o valor da variável de substituição em runtime como POV e defina o tipo de dados como membro.
Quando são executados a partir da interface da Web do Essbase, os scripts de MDX podem utilizar variáveis de substituição, mas não variáveis de substituição em runtime. Para utilizar variáveis de substituição em runtime nos scripts de MDX, deve executar os scripts a partir do Smart View, utilizando Calcular no friso do Essbase.
Seguem-se exemplos de scripts de MDX que pode executar no cubo Sample Basic, a partir de Tarefas ou no Smart View.
Inserção de MDX
Pode gravar este script .mdx
e executá-lo a partir de Tarefas 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 assume que acrescentou anteriormente uma medida Revised_Payroll a Sample Basic.
Exportação de MDX
Pode gravar este script .mdx
e executá-lo a partir de Tarefas 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])
Depois de executar o script, o ficheiro de exportação seguinte, sample01.txt
, é gravado no diretório do cubo do catálogo de ficheiros:
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 Utilizando Variáveis de Substituição em Runtime
Pode gravar este script .mdx
e executá-lo a partir 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])
Depois de executar o script, o ficheiro de exportação seguinte, sample002.txt
, é gravado no diretório do cubo do catálogo de ficheiros:
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