Filtrar un tabla anidada en un modelo de minería de datos (tutorial intermedio de minería de datos)

 

Se aplica a: SQL Server 2016 Preview

Una vez creado y explorado el modelo, tal vez decida centrarse en un subconjunto de datos del cliente. Por ejemplo, es posible que solo desee analizar las cestas que contienen un producto específico o los datos demográficos de los clientes que no han realizado ninguna compra en un determinado período.

Analysis Services proporciona la capacidad para filtrar los datos que se usan en un modelo de minería de datos. Esta característica es útil porque no es necesario configurar una nueva vista de origen de datos con datos diferentes. En el Tutorial básico de minería de datos aprendió a filtrar datos de una tabla plana aplicando condiciones a la tabla de casos. En esta tarea, creará un filtro que se aplica a una tabla anidada.

Comparación de los filtros en tablas anidadas y en tablas de casos

Si la vista del origen de datos contiene una tabla de casos y una tabla anidada, como la vista del origen de datos utilizada en el modelo de asociación, puede filtrar valores de la tabla de casos, comprobar la presencia o ausencia de un valor en la tabla anidada o alguna combinación de ambos.

En esta tarea, primero realizará una copia del modelo de asociación y, a continuación, agregará los atributos IncomeGroup y Region al nuevo modelo relacionado, para que pueda crear un filtro a partir de esos atributos en la tabla de casos.

Para crear y modificar una copia del modelo Association

  1. En el modelos de minería de datos ficha de SQL Server Data Tools (SSDT), haga clic en el asociación del modelo y seleccione nuevo modelo de minería de datos.

  2. Para nombre del modelo, tipo asociación filtrada. Para nombre del algoritmo, seleccione reglas de asociación de Microsoft. Haga clic en Aceptar.

  3. En la columna para el modelo de asociación filtrada, haga clic en la fila IncomeGroup y cambie el valor de omitir a entrada.

A continuación, creará un filtro para la tabla de casos en el nuevo modelo de asociación. El filtro pasará al modelo solo los clientes de la región de destino o con el nivel de ingresos de destino. A continuación, agregará un segundo conjunto de condiciones de filtro para especificar que el modelo utilice solo los clientes cuyas cestas de la compra contengan al menos un producto.

Para agregar un filtro a un modelo de minería de datos

  1. En el modelos de minería de datos ficha, haga clic en el modelo de asociación filtrada y seleccione Establecer filtro de modelos.

  2. En el cuadro de diálogo Filtro del modelo , haga clic en la fila superior de la cuadrícula en el cuadro de texto Columna de la estructura de minería de datos .

  3. En la columna de estructura de minería de datos cuadro de texto, seleccione IncomeGroup.

    El icono situado en la parte izquierda del cuadro de texto cambia para indicar que el elemento seleccionado es una columna.

  4. Haga clic en el operador cuadro de texto y seleccione la = operador de la lista.

  5. Haga clic en el valor cuadro de texto y escriba alto en el cuadro.

  6. Haga clic en la siguiente fila de la cuadrícula.

  7. Haga clic en el o cuadro de texto en la siguiente fila de la cuadrícula y seleccione o.

  8. En la columna de estructura de minería de datos cuadro de texto, seleccione IncomeGroup. En la valor cuadro de texto, escriba moderado.

    La condición de filtro que ha creado se agrega automáticamente a la expresión cuadro de texto y debe aparece como sigue:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

  9. Haga clic en la siguiente fila de la cuadrícula, dejando el operador predeterminado, y.

  10. Para operador, deje el valor predeterminado, contiene. Haga clic en el valor cuadro de texto.

  11. En el filtro cuadro de diálogo, en la primera fila de la columna de estructura de minería de datos, seleccione modelo.

  12. Para operador, seleccione IS NOT NULL. Deje el valor cuadro de texto en blanco. Haga clic en Aceptar.

    La condición de filtro en el expresión cuadro de texto de la filtro del modelo cuadro de diálogo se actualiza automáticamente para incluir la nueva condición en la tabla anidada. La expresión completa es la siguiente:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS SELECT * FROM [vAssocSeqLineItems] WHERE [Model] <> NULL).

  13. Haga clic en Aceptar.``

Para habilitar la obtención de detalles y procesar el modelo filtrado

  1. En el modelos de minería de datos ficha, haga clic en el asociación filtrada del modelo y seleccione propiedades.

  2. Cambiar el AllowDrillThrough propiedad True.

  3. Haga clic en el asociación filtrada modelo de minería de datos y seleccione modelo de proceso.

  4. Haga clic en mensaje de error para implementar el nuevo modelo para el Analysis Services base de datos.

  5. En el Procesar estructura de minería de datos cuadro de diálogo, haga clic en ejecutar.

  6. Cuando se completa el procesamiento, haga clic en Cerrar para salir de la progreso del proceso cuadro de diálogo y haga clic en Cerrar nuevo para salir el Procesar estructura de minería de datos cuadro de diálogo.

Mediante el Visor de árbol de contenido genérico de Microsoft y examinando el valor de NODE_SUPPORT, puede comprobar que el modelo filtrado contiene menos casos que el modelo original.

Comentarios

El filtro de tabla anidada que acaba de crear solo comprueba la presencia de al menos una fila en la tabla anidada; no obstante, puede crear condiciones de filtro que comprueben la existencia de productos específicos. Por ejemplo, podría crear el siguiente filtro:

[IncomeGroup] = 'High' AND  
 EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] = 'Water Bottle' )   

Esta instrucción restringe los clientes de la tabla de casos a solo aquellos que han comprado una botella de agua. Sin embargo, dado que el número de atributos de tabla anidada es potencialmente ilimitado, Analysis Services no suministra ninguna lista de valores posibles entre los que seleccionar. En lugar de ello, debe escribir el valor exacto.

Puede hacer clic en Editar consulta para cambiar manualmente la expresión de filtro. Sin embargo, si cambia manualmente una parte de la expresión de filtro, la cuadrícula estará deshabilitada y a partir de este momento deberá trabajar solo con la expresión de filtro en modo de edición de texto. Para restaurar el modo de edición de cuadrícula, debe borrar la expresión de filtro y comenzar de nuevo.

Advertencia


No se puede usar el operador LIKE en un filtro de tabla anidada.

Siguiente tarea de la lección

Predecir asociaciones ( Tutorial de minería de datos intermedios )

Vea también

Sintaxis y ejemplos del filtro de modelos (Analysis Services: Minería de datos)
Filtros para modelos de minería (Analysis Services - Minería de datos)