Lección 3. Procesar la estructura de minería de datos Market Basket
Nuevo: 5 de diciembre de 2005
En esta lección utilizará la instrucción INSERT INTO (DMX) y las vistas vAssocSeqLineItems y vAssocSeqOrders de la base de datos de ejemplo AdventureWorksDW 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 datos Market Basket y Lección 2: Agregar modelos de minería a la estructura de minería de datos de Market Basket.
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 elija. 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 utilizar la instrucción INSERT INTO MINING MODEL para entrenar el nuevo modelo de minería de datos.
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 entrenamiento 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 entrenamiento 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 columns> )
)
SHAPE {
OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
(
{OPENQUERY([<MyDataSource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foriegn 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 utilizar 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 acerca de cómo usar SKIP, vea INSERT INTO (DMX).
(
<mining structure columns>
[<nested table>]
( SKIP, <skipped columns> )
)
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 utilizará SHAPE para relacionar estas tablas.
SHAPE {
OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
(
{OPENQUERY([<datasource>],''<nested SELECT statement>'')
}
RELATE [<case key>] TO [<foriegn key>]
) AS [<nested table>]
En esta lección utilizará OPENQUERY para definir los datos de origen. Para obtener información acerca de otros métodos para definir la consulta 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
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.
Copie el ejemplo genérico de la instrucción INSERT INTO en la consulta en blanco.
Reemplace lo siguiente:
[<mining structure>]
por:
Market Basket
Reemplace lo siguiente:
<mining structure columns> [<nested table>] ( SKIP, <skipped columns> )
por:
[OrderNumber],[Products] (SKIP, [Model])
En la instrucción, Products se refiere a la tabla Products definida por la instrucción SHAPE. SKIP se utiliza para omitir la columna Model, que se incluye en los datos de origen como clave, pero que no se utiliza en la estructura de minería de datos.
Reemplace lo siguiente:
SHAPE { OPENQUERY([<datasource>],'<SELECT statement>') } APPEND ( {OPENQUERY([<datasource>],''<nested SELECT statement>'') } RELATE [<case key>] TO [<foriegn key>] ) AS [<nested table>]
por:
SHAPE { OPENQUERY([Adventure Works DW],'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 columna de origen hace referencia al origen de datos AdventureWorksDW definido en el proyecto de ejemplo AdventureWorksDW. 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.
En el comando SHAPE, utilizará 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],'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]
En el menú Archivo, haga clic en Guardar DMXQuery1.dmx como.
En el cuadro de diálogo Guardar como, desplácese a la carpeta correspondiente y asigne el nombre Process Market Basket.dmx al archivo.
En la barra de herramientas, haga clic en el botón Ejecutar.
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.