Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La requête MDX (Multidimensional Expressions) de base est l’instruction SELECT, la requête la plus fréquemment utilisée dans MDX. En comprenant comment une instruction MDX SELECT doit spécifier un jeu de résultats, quelle est la syntaxe de l’instruction SELECT et comment créer une requête simple à l’aide de l’instruction SELECT, vous aurez une bonne compréhension de l’utilisation de MDX pour interroger des données multidimensionnelles.
Spécification d’un jeu de résultats
Dans MDX, l’instruction SELECT spécifie un jeu de résultats qui contient un sous-ensemble de données multidimensionnelles retournées à partir d’un cube. Pour spécifier un jeu de résultats, une requête MDX doit contenir les informations suivantes :
Nombre d’axes que vous souhaitez que le jeu de résultats contienne. Vous pouvez spécifier jusqu’à 128 axes dans une requête MDX.
Ensemble de membres ou de tuples à inclure sur chaque axe de la requête MDX.
Nom du cube qui définit le contexte de la requête MDX.
Ensemble de membres ou de tuples à inclure sur l’axe du filtre. Pour plus d’informations sur les axes de segment et de requête, consultezRestriction de la requête avec des axes de requête et de segment (MDX).
Pour identifier les axes de requête, le cube qui sera interrogé et l’axe du segment, l’instruction MDX SELECT utilise les clauses suivantes :
Clause SELECT qui détermine les axes de requête d’une instruction MDX SELECT. Pour plus d’informations sur la construction d’axes de requête dans une clause SELECT, consultez Spécification du contenu d’un axe de requête (MDX).
Clause FROM qui détermine le cube à interroger. Pour plus d’informations sur la clause FROM, consultez SELECT Statement (MDX).
La clause WHERE facultative qui permet de choisir les membres ou les tuples à utiliser sur l’axe de découpe afin de restreindre les données retournées. Pour plus d’informations sur la construction d’un axe de segment dans une clause WHERE, consultez Spécification du contenu d’un axe de segment (MDX).
Remarque
Pour plus d’informations sur les différentes clauses de l’instruction SELECT, consultez l’instruction SELECT (MDX).
Syntaxe de l’instruction SELECT
La syntaxe suivante montre une instruction SELECT de base qui inclut l’utilisation des clauses SELECT, FROM et 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> ]
L’instruction MDX SELECT prend en charge la syntaxe facultative, telle que le mot clé WITH, l’utilisation de fonctions MDX pour créer des membres calculés pour l’inclusion dans un axe ou un axe de découpeur, et la possibilité de renvoyer les valeurs des propriétés spécifiques de cellule dans le cadre de la requête. Pour plus d’informations sur l’instruction MDX SELECT, consultez INSTRUCTION SELECT (MDX).
Comparaison de la syntaxe de l’instruction MDX SELECT à SQL
Le format de syntaxe de l’instruction MDX SELECT est similaire à celui de la syntaxe SQL. Toutefois, il existe plusieurs différences fondamentales :
La syntaxe MDX distingue les ensembles en entourant des tuples ou des membres avec des accolades (les caractères { et }). Pour plus d’informations sur la syntaxe des membres, des tuples et des ensembles, consultez Travailler avec des membres, des tuples et des ensembles (MDX).
Les requêtes MDX peuvent avoir 0, 1, 2 ou jusqu’à 128 axes de requête dans l’instruction SELECT. Chaque axe se comporte exactement de la même façon, contrairement à SQL, où il existe des différences significatives entre la façon dont les lignes et les colonnes d’une requête se comportent.
Comme pour une requête SQL, la clause FROM nomme la source des données de la requête MDX. Toutefois, la clause MDX FROM est limitée à un seul cube. Les informations d’autres cubes peuvent être récupérées sur une base valeur par valeur à l’aide de la fonction LookupCube.
La clause WHERE décrit l’axe coupe d'une requête MDX. Il agit comme un axe invisible et supplémentaire dans la requête, en délicant les valeurs qui apparaissent dans les cellules du jeu de résultats ; contrairement à la clause SQL WHERE, elle n’affecte pas directement ce qui apparaît sur l’axe des lignes de la requête. La fonctionnalité de la clause SQL WHERE est disponible via d’autres fonctions MDX telles que la fonction FILTER.
Exemple d'instruction SELECT
L’exemple suivant montre une requête MDX de base qui utilise l’instruction SELECT. Cette requête retourne un jeu de résultats qui contient les montants des ventes et taxes 2002 et 2003 pour les territoires de vente du Sud-Ouest.
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] )
Dans cet exemple, la requête définit les informations de jeu de résultats suivantes :
La clause SELECT définit les axes de la requête en tant que les membres Sales Amount et Tax Amount de la dimension Measures, ainsi que les membres 2002 et 2003 de la dimension Date.
La clause FROM indique que la source de données est le cube Adventure Works.
La clause WHERE définit l’axe de découpage comme le membre Southwest de la dimension Territoire des Ventes.
Notez que l’exemple de requête utilise également les alias d’axe COLUMNS et ROWS. Les positions ordinales de ces axes pourraient également avoir été utilisées. L’exemple suivant montre comment la requête MDX aurait pu être écrite pour utiliser la position ordinale de chaque axe :
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] )
Pour obtenir des exemples plus détaillés, consultez Spécification du contenu d’un axe de requête (MDX) et spécification du contenu d’un axe de segment (MDX).
Voir aussi
Concepts clés dans MDX (Analysis Services)
SELECT, instruction (MDX)