Compartir a través de


SELECT FROM <model>.CONTENT (DMX)

Devuelve el conjunto de filas de esquema del modelo de minería de datos para el modelo de minería de datos especificado.

Sintaxis

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

Argumentos

  • n
    Opcional. Entero que especifica el número de filas que se devuelven.

  • expression list
    Lista delimitada por comas de columnas derivadas del conjunto de filas de esquema CONTENT.

  • model
    Identificador de modelo.

  • condition expression
    Opcional. Condición para restringir los valores que devuelve la lista de columnas.

  • expression
    Opcional. Expresión que devuelve un valor escalar.

Comentarios

La instrucción SELECT FROM <model>.CONTENT devuelve contenido específico de cada algoritmo. Por ejemplo, podría desear usar las descripciones de todas las reglas de un modelo de reglas de asociación en una aplicación personalizada. Puede usar una instrucción SELECT FROM <model>.CONTENT para devolver valores de la columna NODE_RULE del modelo.

En la tabla siguiente se enumeran las columnas que están incluidas en el contenido del modelo de minería de datos.

Nota

Los algoritmos podrían interpretar las columnas de forma distinta para poder representar el contenido correctamente. Para obtener la descripción del contenido del modelo de minería de datos de cada algoritmo y sugerencias para interpretar y consultar el contenido del modelo de minería de datos de cada tipo de modelo, vea Contenido del modelo de minería de datos (Analysis Services - Minería de datos).

Columna de conjunto de filas CONTENT

Descripción

MODEL_CATALOG

Nombre del catálogo. Su valor es NULL si el proveedor no admite catálogos.

MODEL_SCHEMA

Nombre del esquema no completo. Su valor es NULL si el proveedor no admite esquemas.

MODEL_NAME

Nombre del modelo. Esta columna no puede contener valores NULL.

ATTRIBUTE_NAME

Nombre del atributo que corresponde al nodo.

NODE_NAME

Nombre del nodo.

NODE_UNIQUE_NAME

Nombre único del nodo dentro del modelo.

NODE_TYPE

Entero que representa el tipo del nodo. .

NODE_GUID

GUID del nodo. Su valor es NULL si no hay ningún GUID.

NODE_CAPTION

Etiqueta o título asociado con el nodo. Se utiliza principalmente para la presentación. Si no existe ningún título, se devuelve NODE_NAME.

CHILDREN_CARDINALITY

Número de elementos secundarios que tiene el nodo.

PARENT_UNIQUE_NAME

Nombre único del nodo primario del nodo.

NODE_DESCRIPTION

Descripción del nodo.

NODE_RULE

Fragmento XML que representa la regla incrustada en el nodo. El formato de la cadena XML está basado en el estándar PMML.

MARGINAL_RULE

Fragmento XML que describe la ruta de acceso del elemento primario al nodo.

NODE_PROBABILITY

Probabilidad de la ruta de acceso que finaliza en el nodo.

MARGINAL_PROBABILITY

Probabilidad de alcanzar el nodo desde el nodo primario.

NODE_DISTRIBUTION

Tabla que contiene estadísticas que describen la distribución de los valores del nodo.

NODE_SUPPORT

Número de casos que admiten este nodo.

Ejemplos

El código siguiente devuelve el identificador del nodo primario para el modelo de árboles de decisión que se agregó a la estructura de minería de datos de Targeted Mailing.

SELECT MODEL_NAME, NODE_NAME FROM [TM Decision Tree].CONTENT
WHERE NODE_TYPE = 1

Resultados esperados:

MODEL_NAME

NODE_NAME

TM_DecisionTree

0

La consulta siguiente utiliza la función IsDescendant para devolver los elementos secundarios inmediatos del nodo que se devolvió en la consulta anterior.

Nota

Dado que el valor de NODE_NAME es una cadena, no puede utilizar una instrucción sub-select para devolver NODE_ID como argumento para la función IsDescendant.

SELECT NODE_NAME, NODETYPE, NODE_CAPTION 
FROM [TM Decision Tree].CONTENT
WHERE ISDESCENDANT('0')

Resultados esperados:

Dado que el modelo es de árboles de decisión, los descendientes del nodo primario del modelo incluyen un único nodo de estadísticas marginal, un nodo que representa el atributo de predicción y varios nodos que contienen los atributos de entrada y los valores. Para obtener más información, vea Contenido del modelo de minería de datos para los modelos de árboles de decisión (Analysis Services - Minería de datos).

Usar la palabra clave FLATTENED

El contenido del modelo de minería de datos suele contener información interesante sobre el modelo en columnas de tablas anidadas. La palabra clave FLATTENED le permite recuperar los datos de una columna de tabla anidada sin utilizar un proveedor que admita conjuntos de filas jerárquicos.

La consulta siguiente devuelve un único nodo, el nodo de estadísticas marginal (NODE_TYPE = 26) de un modelo de Bayes naive. Sin embargo, este nodo contiene una tabla anidada, en la columna NODE_DISTRIBUTION. Como resultado, se quita la jerarquía de la columna de tabla anidada y se devuelve una fila para cada fila de la tabla anidada. El valor de MODEL_NAME de la columna escalar se repite para cada fila de la tabla anidada.

Además, observe que si especifica únicamente el nombre de la columna de tabla anidada, se devuelve una columna nueva para cada columna de la tabla anidada. De forma predeterminada, el nombre de la tabla anidada se pone como prefijo del nombre de cada columna de tabla anidada.

SELECT FLATTENED MODEL_NAME, NODE_DISTRIBUTION
FROM [TM_NaiveBayes].CONTENT
WHERE NODE_TYPE = 26

Resultados del ejemplo:

MODEL_NAME

NODE_DISTRIBUTION.ATTRIBUTE_NAME

NODE_DISTRIBUTION.ATTRIBUTE_VALUE

NODE_DISTRIBUTION.SUPPORT

NODE_DISTRIBUTION.PROBABILITY

NODE_DISTRIBUTION.VARIANCE

NODE_DISTRIBUTION.VALUETYPE

TM_NaiveBayes

Bike Buyer

Missing

0

0

0

1

TM_NaiveBayes

Bike Buyer

0

6556

0.506685215240745

0

TM_NaiveBayes

Bike Buyer

1

6383

0.493314784759255

0

En el ejemplo siguiente se demuestra cómo devolver sólo algunas columnas de la tabla anidada utilizando una instrucción sub-select. Puede simplificar la presentación creando un alias del nombre de la tabla anidada, como se muestra a continuación.

SELECT MODEL_NAME, 
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT] AS t
FROM NODE_DISTRIBUTION) 
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 26

Resultados del ejemplo:

MODEL_NAME

t.ATTRIBUTE_NAME

t.ATTRIBUTE_VALUE

t.SUPPORT

TM_NaiveBayes

Bike Buyer

Missing

0

TM_NaiveBayes

Bike Buyer

0

6556

TM_NaiveBayes

Bike Buyer

1

6383