Lección 3: Procesar la estructura de minería de datos de la cesta de la compra

En esta lección utilizará la instrucción INSERT INTO (DMX) y las vistas vAssocSeqLineItems y vAssocSeqOrders de la base de datos de ejemplo AdventureWorksDW2008R2 para procesar las estructuras de minería de datos y los modelos de minería de datos creados en Lección 1: Crear la estructura de minería de la cesta de la compra y Lección 2: Agregar modelos de minería a la estructura de minería cesta de la compra.

Al procesar una estructura de minería de datos, Analysis Services lee los datos de origen y genera las estructuras que admiten los modelos de minería de datos. Al procesar un modelo de minería de datos, los datos definidos por la estructura de minería de datos se pasan por el algoritmo de minería de datos que haya elegido. El algoritmo busca tendencias y patrones y, a continuación, almacena esta información en el modelo de minería de datos. Por consiguiente, el modelo de minería de datos no contiene los datos de origen reales, sino la información descubierta por el algoritmo. Para obtener más información acerca de cómo procesar modelos de minería de datos, vea Procesar objetos de minería de datos.

Sólo debe volver a procesar una estructura de minería de datos si cambia una columna de la estructura o los datos de origen. Si agrega un modelo de minería de datos a una estructura de minería de datos que ya se ha procesado, puede usar la instrucción INSERT INTO MINING MODEL para entrenar el nuevo modelo de minería de datos en los datos existentes.

La estructura de minería de datos Market Basket contiene una tabla anidada, por lo que deberá definir las columnas de minería de datos que deben entrenarse usando la estructura de tablas anidadas y usar el comando SHAPE para definir las consultas que extraen los datos de aprendizaje de las tablas de origen.

Instrucción INSERT INTO

Para entrenar la estructura de minería de datos Market Basket y los modelos de minería de datos asociados, utilice la instrucción INSERT INTO (DMX). El código de la instrucción se puede dividir en las partes siguientes.

  • Identificación de la estructura de minería de datos

  • Visualización en una lista de las columnas de la estructura de minería de datos

  • Definición de los datos de aprendizaje con SHAPE

A continuación, se incluye un ejemplo genérico de la instrucción 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 primera línea del código identifica la estructura de minería de datos que se entrenará:

INSERT INTO MINING STRUCTURE [<mining structure name>]

Las líneas siguientes del código especifican las columnas definidas por la estructura de minería de datos. Debe incluir en la lista cada una de las columnas de la estructura de minería de datos, y cada columna debe estar asignada a una columna incluida en los datos de la consulta de origen. Puede usar SKIP para omitir columnas de los datos de origen que no existen en la estructura de minería de datos. Para obtener más información sobre cómo usar SKIP, vea INSERT INTO (DMX).

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

Las líneas finales del código definen los datos que se utilizarán para entrenar la estructura de minería de datos. Los datos de origen se incluyen en dos tablas, por lo que usará SHAPE para relacionar estas tablas.

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

En esta lección usará OPENQUERY para definir los datos de origen. Para obtener información acerca de otros métodos para definir una consulta sobre los datos de origen, vea <source data query>.

Tareas de la lección

En esta lección realizará la tarea siguiente:

  • Procesar la estructura de minería de datos Market Basket

Procesar la estructura de minería de datos Market Basket

Para procesar la estructura de minería de datos con INSERT INTO

  1. En el Explorador de objetos, haga clic con el botón secundario en la instancia de Analysis Services, seleccione Nueva consulta y haga clic en DMX.

    Se abre el Editor de consultas, que contiene una consulta nueva en blanco.

  2. Copie el ejemplo genérico de la instrucción INSERT INTO en la consulta en blanco.

  3. Reemplace lo siguiente:

    [<mining structure>]
    

    por:

    Market Basket
    
  4. Reemplace lo siguiente:

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

    por:

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

    En la instrucción, Products hace referencia a la tabla Products definida por la instrucción SHAPE. SKIP se usa para omitir la columna Model, que existe en los datos de origen como una clave, pero no se usa por la estructura de minería de datos.

  5. Reemplace lo siguiente:

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

    por:

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

    La columna de origen hace referencia al origen de datos AdventureWorksDW2008R2 definido en el proyecto de ejemplo AdventureWorksDW2008R2. Utiliza este origen de datos para obtener acceso a las vistas vAssocSeqLineItems y vAssocSeqOrders. Estas vistas contienen los datos de origen que se utilizarán para entrenar el modelo de minería de datos. Si no ha creado este proyecto o estas vistas, vea Tutorial básico de minería de datos.

    En el comando SHAPE, usará OPENQUERY para definir dos consultas. La primera consulta define la tabla primaria y la segunda, la tabla anidada. Las dos tablas se relacionan mediante la columna OrderNumber, que existe en ambas tablas.

    Ahora, la instrucción completa debería ser como sigue:

    INSERT INTO MINING STRUCTURE [Market Basket]
    (
       [OrderNumber],[Products] (SKIP, [Model])
    )
    SHAPE {
      OPENQUERY([Adventure Works DW 2008R2],'SELECT OrderNumber
                FROM vAssocSeqOrders ORDER BY OrderNumber')}
    APPEND
    ( 
      {OPENQUERY([Adventure Works DW 2008R2],'SELECT OrderNumber, Model FROM 
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')
    }
    RELATE OrderNumber to OrderNumber 
    ) AS [Products]
    
  6. En el menú Archivo, haga clic en Guardar DMXQuery1.dmx como.

  7. En el cuadro de diálogo Guardar como, desplácese a la carpeta correspondiente y asigne el nombre Process Market Basket.dmx al archivo.

  8. En la barra de herramientas, haga clic en el botón Ejecutar.

Después de que la consulta haya terminado de ejecutarse, puede ver los modelos y los conjuntos de elementos encontrados, ver asociaciones o filtrar por conjunto de elementos, probabilidad o importancia. Para ver esta información, en SQL Server Management Studio, haga clic con el botón secundario en el nombre del modelo de datos y, a continuación, hace clic en Examinar.

En la siguiente lección creará varias predicciones basadas en los modelos de minería de datos que ha agregado a la estructura Market Basket.