SELECT (DMX)

En langage DMX (Data Mining Extensions), l'instruction SELECT est utilisée pour les tâches d'exploration de données suivantes :

  • Exploration du contenu d'un modèle d'exploration de données existant

  • Création de prévisions à partir d'un modèle d'exploration de données existant

  • Création d'une copie d'un modèle d'exploration de données existant

  • Navigation dans la structure d'exploration de données

Bien que la syntaxe complète de cette instruction soit complexe, les principales clauses utilisées pour naviguer dans un modèle et sa structure sous-jacente peuvent être résumées comme suit :

SELECT [FLATTENED] [TOP <n>] <select list>
FROM <model/structure>[.aspect]
[WHERE <condition expression>]
[ORDER BY <expression>[DESC|ASC]]

FLATTENED

Certains clients d'exploration de données n'acceptent pas les jeux de résultats en format hiérarchique provenant d'un fournisseur d'exploration de données. Ces clients n'ont peut-être pas la possibilité de gérer les hiérarchies ou ils doivent stocker les résultats dans une table dénormalisée unique. Pour convertir les données provenant de tables imbriquées en tables à plat, vous devez exiger que les résultats de requête soient aplatis.

Pour aplatir les résultats de requête, utilisez la syntaxe SELECT avec l'option FLATTENED, comme indiqué dans l'exemple suivant :

SELECT FLATTENED <select list> FROM ...

TOP &lt;n&gt; et ORDER BY

Vous pouvez demander les résultats d'une requête en utilisant une expression, puis retourner un sous-ensemble des résultats en utilisant une combinaison des clauses ORDER BY et TOP. Ceci s'avère utile dans les scénarios du type publipostage ciblé dans lesquels vous souhaitez uniquement envoyer les résultats aux personnes les plus probables. Vous pourriez demander les résultats d'une requête de prévision de publipostage cible par la probabilité de prévision, puis retourner uniquement les premiers <n> résultats.

Select list

<select list> peut inclure des références de colonnes scalaires, des fonctions de prédiction et des expressions. Les options disponibles dépendent de l'algorithme et des contextes suivants :

  • si vous interrogez une structure ou un modèle d'exploration de données ;

  • si vous interrogez du contenu ou des cas ;

  • si les données sources correspondent à une table relationnelle ou un cube ;

  • si vous effectuez des prédictions.

Dans de nombreux cas, vous pouvez utiliser des alias ou créer des expressions simples basées sur les éléments de la liste de sélection. Par exemple, l'exemple suivant illustre une expression simple sur les colonnes du modèle :

SELECT [CustomerID], [Last Name] + ', ' + [FirstName] AS FullName
FROM <model>.CASES

L'exemple suivant crée un alias pour une colonne qui contient les résultats d'une fonction de prédiction :

SELECT Predict([Column1], 'Value') as Column1Prediction
FROM MyModel
JOIN <source data query>

WHERE

Vous pouvez limiter les cas retournés par la requête en utilisant la clause WHERE. La clause WHERE spécifie que les références de colonne dans l'expression WHERE doivent avoir la même sémantique que les références de colonne dans le paramètre <select list> de l'instruction SELECT et qu'elles ne peuvent retourner qu'une expression booléenne. La syntaxe de la clause WHERE est la suivante :

WHERE < condition expression >

La liste de sélection et la clause WHERE d'une instruction SELECT doivent suivre les règles ci-dessous :

  • La liste de sélection doit contenir une expression qui ne retourne pas de résultat booléen. Vous pouvez modifier l'expression, mais celle-ci doit retourner des résultats non booléens.

  • La clause WHERE doit contenir une expression qui retourne un résultat booléen. Vous pouvez modifier la clause, mais celle-ci doit retourner un résultat booléen.

Prévisions

Vous pouvez utiliser deux types de syntaxe pour la création des prévisions :

Le premier type de prévision permet de créer des prévisions complexes, en temps réel ou par traitement.

Le deuxième type de prévision crée une jointure de prévision vide sur une colonne prédictible dans un modèle d'exploration de données, et retourne l'état le plus probable de la colonne. Les résultats de cette requête dépendent intégralement du contenu du modèle d'exploration de données.

Vous pouvez insérer une instruction Select dans la requête source d'une instruction SELECT FROM PREDICTION JOIN en utilisant la syntaxe suivante :

SELECT FROM PREDICTION JOIN (<SELECT statement>) AS t, WHERE <SELECT statement>

Pour plus d'informations sur la création des requêtes de prévision, consultez Requêtes de prévision (DMX).

Syntaxe des clauses

Du fait de la complexité de la navigation avec l'instruction SELECT, la syntaxe de chaque élément est détaillée par clause. Pour plus d'informations sur chaque clause, cliquez sur une rubrique dans la liste suivante :

SELECT DISTINCT FROM <modèle> (DMX)

SELECT FROM <modèle>.CONTENT (DMX)

SELECT FROM <modèle>.CASES (DMX)

SELECT FROM <modèle>.SAMPLE_CASES (DMX)

SELECT FROM <modèle>.DIMENSION_CONTENT (DMX)

SELECT FROM <modèle> PREDICTION JOIN (DMX)

SELECT FROM <modèle> (DMX)

SELECT FROM <structure>.CASES