Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A consulta MDX (Expressões Multidimensionais) básica é a instrução SELECT, a consulta mais usada no MDX. Ao entender como uma instrução MDX SELECT deve especificar um conjunto de resultados, qual é a sintaxe da instrução SELECT e como criar uma consulta simples usando a instrução SELECT, você terá uma compreensão sólida de como usar o MDX para consultar dados multidimensionais.
Especificando um conjunto de resultados
No MDX, a instrução SELECT especifica um conjunto de resultados que contém um subconjunto de dados multidimensionais retornados de um cubo. Para especificar um conjunto de resultados, uma consulta MDX deve conter as seguintes informações:
O número de eixos que você deseja que o conjunto de resultados contenha. Você pode especificar até 128 eixos em uma consulta MDX.
O conjunto de membros ou tuplas a serem incluídos em cada eixo da consulta MDX.
O nome do cubo que define o contexto da consulta MDX.
O conjunto de membros ou tuplas que devem ser incluídos no eixo da segmentação de dados. Para obter mais informações sobre segmentação de dados e eixos de consulta, consulteRestrinjando a consulta com eixos de consulta e segmentação de dados (MDX).
Para identificar os eixos da consulta MDX, o cubo que será consultado e o eixo da segmentação, a instrução MDX SELECT usa as seguintes cláusulas:
Uma cláusula SELECT que determina os eixos de consulta de uma instrução MDX SELECT. Para obter mais informações sobre a construção de eixos de consulta em uma cláusula SELECT, consulte Especificando o conteúdo de um eixo de consulta (MDX).
Uma cláusula FROM que determina qual cubo será consultado. Para obter mais informações sobre a cláusula FROM, consulte a Instrução SELECT (MDX).
Uma cláusula WHERE opcional que determina quais membros ou tuplas usar no eixo do slicer para restringir os dados retornados. Para obter mais informações sobre a construção de um eixo de fatiação em uma cláusula WHERE, consulte Especificando o conteúdo de um eixo de fatiação (MDX).
Observação
Para obter informações mais detalhadas sobre as várias cláusulas da instrução SELECT, consulte a Instrução SELECT (MDX).
Sintaxe do comando SELECT
A sintaxe a seguir mostra uma instrução SELECT básica que inclui o uso das cláusulas SELECT, FROM e WHERE:
[ WITH <SELECT WITH clause> [ , <SELECT WITH clause> ... ] ]
SELECT [ * | ( <SELECT query axis clause>
[ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause>
[ <SELECT slicer axis clause> ]
[ <SELECT cell property list clause> ]
A instrução MDX SELECT dá suporte à sintaxe opcional, como a palavra-chave WITH, o uso de funções MDX para criar membros calculados para inclusão em um eixo ou eixo de segmentação e a capacidade de retornar os valores de propriedades de célula específicas como parte da consulta. Para obter mais informações sobre a instrução MDX SELECT, consulte a Instrução SELECT (MDX).
Comparando a sintaxe da instrução MDX SELECT com o SQL
O formato de sintaxe da instrução MDX SELECT é semelhante ao da sintaxe SQL. No entanto, há várias diferenças fundamentais:
A sintaxe MDX distingue conjuntos ao redor de tuplas ou membros usando chaves { e }. Para obter mais informações sobre a sintaxe de membro, tupla e conjunto, consulte Como trabalhar com membros, tuplas e conjuntos (MDX).
As consultas MDX podem ter 0, 1, 2 ou até 128 eixos de consulta na instrução SELECT. Cada eixo se comporta exatamente da mesma maneira, ao contrário do SQL, em que há diferenças significativas entre como as linhas e as colunas de uma consulta se comportam.
Assim como acontece com uma consulta SQL, a cláusula FROM nomeia a fonte dos dados para a consulta MDX. No entanto, a cláusula MDX FROM é restrita a um único cubo. As informações de outros cubos podem ser recuperadas com base em valor por valor usando a função LookupCube.
A cláusula WHERE descreve o eixo do fatiador em uma consulta MDX. Ele atua como algo como um eixo extra invisível na consulta, cortando os valores que aparecem nas células no conjunto de resultados; ao contrário da cláusula SQL WHERE, ela não afeta diretamente o que aparece no eixo de linhas da consulta. A funcionalidade da cláusula SQL WHERE está disponível por meio de outras funções MDX, como a função FILTER.
Exemplo da instrução SELECT
O exemplo a seguir mostra uma consulta MDX básica que usa a instrução SELECT. Essa consulta retorna um conjunto de resultados que contém os valores de vendas e impostos de 2002 e 2003 para os territórios de vendas do Sudoeste.
SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON COLUMNS,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON ROWS
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
Neste exemplo, a consulta define as seguintes informações do conjunto de resultados:
A cláusula SELECT define os eixos de consulta como os membros Valor de Vendas e Valor Fiscal da dimensão Medidas e os membros de 2002 e 2003 da dimensão Data.
A cláusula FROM indica que a fonte de dados é o cubo Adventure Works.
A cláusula WHERE define o eixo da segmentação como o membro Sudoeste da dimensão Território de Vendas.
Observe que o exemplo de consulta também usa os aliases do eixo COLUMNS e ROWS. As posições ordinais desses eixos também podem ter sido usadas. O exemplo a seguir mostra como a consulta MDX poderia ter sido escrita para usar a posição ordinal de cada eixo.
SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON 0,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON 1
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
Para obter exemplos mais detalhados, consulte Especificando o conteúdo de um eixo de consulta (MDX) e Especificando o conteúdo de um eixo de segmentação de dados (MDX).
Consulte Também
Principais conceitos no MDX (Analysis Services)
Instrução SELECT (MDX)