Leçon 3 : Traitement de la structure d'exploration de données Market Basket

Dans cette leçon, vous allez utiliser l'instruction INSERT INTO (DMX) et les vues vAssocSeqLineItems et vAssocSeqOrders de la base de données exemple AdventureWorksDW2008 pour traiter les structures et les modèles d'exploration de données que vous avez créés au cours de la Leçon 1 : Création de la structure d'exploration de données Market Basket et de la Leçon 2 : Ajout de modèles d'exploration de données à la structure d'exploration de données Market Basket.

Lorsque vous traitez une structure d'exploration de données, Analysis Services lit les données source et génère les structures qui soutiennent les modèles d'exploration de données. Lorsque vous traitez un modèle d'exploration de données, les données définies par la structure sont transmises via l'algorithme d'exploration de données de votre choix. L'algorithme recherche des tendances et des modèles, puis stocke les informations recueillies dans le modèle d'exploration de données. Par conséquent, le modèle d'exploration de données ne contient pas les données source réelles mais plutôt les informations recueillies par l'algorithme. Pour plus d'informations sur le traitement des modèles d'exploration de données, consultez Traitement des objets d'exploration de données.

Si vous modifiez une colonne de structure ou les données source, vous devez simplement retraiter la structure d'exploration de données. Si vous ajoutez un modèle d'exploration de données à une structure d'exploration de données déjà traitée, vous pouvez utiliser l'instruction INSERT INTO MINING MODEL pour l'apprentissage du nouveau modèle d'exploration de données sur les données existantes.

Comme la structure d'exploration de données Market Basket contient une table imbriquée, vous devez définir les colonnes d'exploration de données à assimiler à l'aide de la structure de la table imbriquée et utiliser la commande SHAPE pour définir les requêtes chargées d'extraire les données d'apprentissage à partir des tables source.

Instruction INSERT INTO

Utilisez l'instruction INSERT INTO (DMX) pour l'apprentissage de la structure d'exploration de données Market Basket et de ses modèles d'exploration de données associés. Le code de cette instruction peut être divisé selon les sections suivantes :

  • Identification de la structure d'exploration de données

  • Liste des colonnes de la structure d'exploration de données

  • Définition des données d'apprentissage à l'aide de l'instruction SHAPE

L'exemple générique suivant utilise l'instruction INSERT INTO :

INSERT INTO MINING STRUCTURE [<mining structure name>]
(
   <mining structure columns>
   [<nested table>]
   ( SKIP, <skipped column> )
)
SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<datasource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]

La première ligne du code identifie la structure d'exploration de données à apprendre :

INSERT INTO MINING STRUCTURE [<mining structure name>]

Les lignes suivantes du code précisent les colonnes définies par la structure d'exploration de données. Vous devez répertorier chaque colonne dans la structure d'exploration de données et chaque colonne doit mapper une colonne figurant dans les données de la requête source. Vous pouvez utiliser la commande SKIP pour ignorer les colonnes qui existent dans les données source, mais non dans la structure d'exploration de données. Pour plus d'informations sur l'utilisation de SKIP, consultez INSERT INTO (DMX).

(
   <mining structure columns>
   [<nested table>]
   ( SKIP, <skipped column> )
)

Les dernières lignes du code précisent les données à utiliser pour l'apprentissage de la structure d'exploration de données. Comme les données source figurent dans deux tables, vous allez faire appel à l'instruction SHAPE pour relier les tables.

SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]

Dans cette leçon, vous allez utiliser l'instruction OPENQUERY pour définir les données source. Pour plus d'informations sur les autres méthodes de définition d'une requête sur les données source, consultez <source data query>.

Tâches de la leçon

Au cours de cette leçon, vous allez effectuer la tâche suivante :

  • traiter la structure d'exploration de données Market Basket.

Traitement de la structure d'exploration de données Market Basket

Pour traiter la structure d'exploration de données à l'aide de l'instruction INSERT INTO

  1. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur l'instance de Analysis Services, pointez sur Nouvelle requête, puis cliquez sur DMX.

    L'Éditeur de requête s'ouvre et contient une nouvelle requête vide.

  2. Copiez l'exemple générique de l'instruction INSERT INTO dans la requête vide.

  3. Remplacez le code suivant :

    [<mining structure>]
    

    par :

    Market Basket
    
  4. Remplacez le code suivant :

       <mining structure columns>
       [<nested table>]
       ( SKIP, <skipped column> )
    

    par :

    [OrderNumber],
    [Products] 
    (SKIP, [Model])
    

    Dans l'instruction, Products fait référence à la table Products définie par l'instruction SHAPE. SKIP est utilisé pour ignorer la colonne Model, qui existe dans la source de données comme clé, mais n'est pas utilisée par la structure d'exploration de données.

  5. Remplacez le code suivant :

    SHAPE {
      OPENQUERY([<datasource>],'<SELECT statement>') }
    APPEND
    ( 
      {OPENQUERY([<datasource>],'<nested SELECT statement>')
    }
    RELATE [<case key>] TO [<foreign key>]
    ) AS [<nested table>]
    

    par :

    SHAPE {
      OPENQUERY([Adventure Works DW 2008],'SELECT OrderNumber
                FROM vAssocSeqOrders ORDER BY OrderNumber')}
    APPEND
    ( 
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM 
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')
    }
    RELATE OrderNumber to OrderNumber 
    ) AS [Products]
    

    La requête source référence la source de données AdventureWorksDW2008 définie dans le projet exemple AdventureWorksDW2008. Elle utilise la source de données pour accéder aux vues vAssocSeqLineItems et vAssocSeqOrders. Ces vues renferment les données source à utiliser pour l'apprentissage du modèle d'exploration de données. Si vous n'avez pas créé ce projet ni ces vues, consultez Didacticiel sur l'exploration de données de base.

    Dans la commande SHAPE, vous allez utiliser OPENQUERY pour définir deux requêtes. La première requête définit la table parente, la deuxième définit la table imbriquée. Les deux tables sont associées par le biais de la colonne OrderNumber présente dans les deux tables.

    L'instruction tout entière doit se présenter comme suit :

    INSERT INTO MINING STRUCTURE [Market Basket]
    (
       [OrderNumber],[Products] (SKIP, [Model])
    )
    SHAPE {
      OPENQUERY([Adventure Works DW 2008],'SELECT OrderNumber
                FROM vAssocSeqOrders ORDER BY OrderNumber')}
    APPEND
    ( 
      {OPENQUERY([Adventure Works DW 2008],'SELECT OrderNumber, Model FROM 
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')
    }
    RELATE OrderNumber to OrderNumber 
    ) AS [Products]
    
  6. Dans le menu Fichier, cliquez sur Enregistrer DMXQuery1.dmx sous.

  7. Dans la boîte de dialogue Enregistrer sous, accédez au dossier approprié et nommez le fichier Process Market Basket.dmx.

  8. Dans la barre d'outils, cliquez sur le bouton Exécuter.

Après avoir terminé d'exécuter la requête, vous pouvez consulter les modèles et les jeux d'éléments trouvés, consulter les associations ou filtrer par jeu d'éléments, probabilité ou importance. Pour afficher ces informations, dans SQL Server Management Studio, cliquez avec le bouton droit sur le nom du modèle de données, puis cliquez sur Parcourir.

Dans la leçon suivante, vous allez créer plusieurs prédictions fondées sur les modèles d'exploration de données que vous avez ajoutés à la structure Market Basket.