Вы находитесь на странице: 1из 5

INSTITUTO TECNOLGICO DE CELAYA TPICOS AVANZADOS DE BASE DE DATOS DANIELA YADIRA ORTIZ PREZ

CONSULTAS MDX Y DMX

Las expresiones multidimensionales (MDX) permiten consultar objetos multidimensionales, como los cubos, y devolver conjuntos de celdas multidimensionales que contengan los datos del cubo. Este tema y los temas secundarios proporcionan informacin general sobre las consultas MDX. La consulta de MDX (Expresiones multidimensionales) bsica es la instruccin SELECT: la consulta usada con ms frecuencia en MDX. Si comprende cmo una instruccin MDX SELECT debe especificar un conjunto de resultados, en qu consiste la sintaxis de la instruccin SELECT y cmo crear una consulta simple mediante la instruccin SELECT, tendr un conocimiento slido de cmo usar MDX para realizar consultas de datos multidimensionales. En MDX, la instruccin SELECT especifica un conjunto de resultados que contiene un subconjunto de datos multidimensionales que se han devuelto desde un cubo. Para especificar un conjunto de resultados, una consulta MDX debe contener la siguiente informacin:

El nmero de ejes que desea que el conjunto de resultados contenga. Puede especificar hasta 128 ejes en una consulta de MDX. El conjunto de miembros o tuplas que se van a incluir en cada eje de la consulta de MDX. El nombre del cubo que define el contexto de la consulta de MDX. El conjunto de miembros o tuplas que se van a incluir en el eje de segmentacin de datos. Para obtener ms informacin acerca de los ejes segmentador y de consulta, vea Restringir la consulta con ejes de consulta y segmentador (MDX).

Para identificar los ejes de consulta, el cubo que se consultar y el eje de segmentacin de datos, la instruccin MDX SELECT usa las clusulas siguientes:

Una clusula SELECT que determina los ejes de consulta de una instruccin MDX SELECT. Para obtener ms informacin acerca de la construccin de los ejes de consulta en una clusula SELECT, vea Especificar el contenido de un eje de consulta (MDX).

Una clusula FROM que determina qu cubo se consultar. Para obtener ms informacin sobre la clusula FROM. Una clusula WHERE opcional que determina qu miembros o tuplas se van a usar en el eje de segmentacin de datos para restringir los datos devueltos. Para obtener ms informacin sobre la construccin de un eje de segmentacin de datos en una clusula WHERE.

Consultas de prediccin (DMX) En Microsoft SQL Server 2005 Analysis Services (SSAS), puede usar la consulta de prediccin de Extensiones de minera de datos (DMX) para predecir valores de columna desconocidos de un conjunto de datos nuevo, basndose en los resultados de un modelo de minera de datos. Tipos de prediccin Puede usar DMX para crear los siguientes tipos de prediccin: Combinacin de prediccin Sirve para crear predicciones de datos de entrada basadas en los patrones existentes en el modelo de minera de datos. Esta instruccin de consulta debe ir seguida de una clusula ON que proporciona las condiciones de combinacin entre las columnas del modelo de minera de datos y las columnas de entrada. Combinacin de prediccin natural Sirve para crear predicciones basadas en nombres de columna del modelo de minera de datos que coinciden exactamente con los nombres de columna de la tabla en la que se realiza la consulta. Esta instruccin de consulta no requiere una clusula ON, porque la condicin de combinacin se genera automticamente en funcin de los nombres coincidentes de las columnas del modelo de minera de datos y las columnas de entrada. Combinacin de prediccin vaca Sirve para descubrir la prediccin ms probable, sin necesidad de proporcionar datos de entrada. Devuelve una prediccin que est basada exclusivamente en el contenido del modelo de minera de datos. Consulta singleton Sirve para crear una prediccin proporcionando los datos a la consulta. Esta instruccin resulta til porque puede proporcionar un solo escenario a la consulta para recibir un resultado rpidamente. Por ejemplo, puede usar la consulta para predecir la probabilidad de que una persona del sexo femenino, de 35 aos de edad y casada compre una bicicleta. Esta consulta no requiere un origen de datos externo. El tipo de consulta utilizado depende de la informacin que desee obtener del modelo. Si desea crear predicciones sencillas en tiempo real, como por ejemplo

para saber si el perfil de un cliente potencial de un sitio Web se ajusta al perfil de un comprador de bicicletas, entonces deber usar una consulta singleton. Si desea crear un lote de predicciones a partir de un conjunto de escenarios incluidos en un origen de datos, deber usar una consulta de prediccin normal. Estructura de la consulta Para generar una consulta de prediccin en DMX, debe usar una combinacin de los siguientes elementos: SELECT [FLATTENED] TOP FROM <model> PREDICTION JOIN ON WHERE ORDER BY El elemento SELECT de una consulta de prediccin define las columnas y expresiones que se mostrarn en el conjunto de resultados y puede incluir los siguientes datos: Columnas Predict o PredictOnly del modelo de minera de datos. Cualquier columna de los datos de entrada que sirve para crear las predicciones. Funciones que devuelven una columna de datos. El elemento FROM <model> PREDICTION JOIN define los datos de origen que se van a usar para crear la prediccin. Para una consulta singleton, se trata de una serie de valores que se asignan a columnas. Para una combinacin de prediccin vaca, se deja en blanco. El elemento ON asigna las columnas que estn definidas en el modelo de minera de datos a columnas de un conjunto de datos externo. No es necesario incluir este elemento si se va a crear una consulta de combinacin de prediccin vaca o una combinacin de prediccin natural. La clusula WHERE sirve para filtrar los resultados de una consulta de prediccin. Puede utilizar una clusula TOP o ORDER BY para seleccionar las predicciones ms probables. Para obtener ms informacin acerca de cmo usar estas clusulas.

CLUSULA HAVING La clusula HAVING establece las condiciones de la clusula GROUP BY de la misma forma que WHERE interacta con SELECT. Mientras que las condiciones de bsqueda de WHERE se aplican antes de que se produzca la operacin de agrupamiento, las condiciones de bsqueda de HAVING se aplican despus. La sintaxis de la clusula HAVING es similar a la de la clusula WHERE, con la diferencia de que HAVING puede contener funciones de agregado. Las clusulas HAVING pueden hacer referencia a cualquiera de los elementos que aparecen en la lista de seleccin. En esta consulta se buscan publicadores cuyas ventas anuales hasta la fecha hayan sido superiores a 40.000 dlares. USE pubs SELECT pub_id, total = SUM(ytd_sales) FROM titles GROUP BY pub_id HAVING SUM(ytd_sales) > 40000 El siguiente es el conjunto de resultados: pub_id total ------ ----------0877 44219 (1 row(s) affected) Para asegurarse de que hay como mnimo seis libros involucrados en los clculos para cada publicador, este ejemplo utiliza HAVING COUNT(*) > 5 para eliminar los publicadores que devuelven totales con menos de seis libros. USE pubs SELECT pub_id, total = SUM(ytd_sales) FROM titles GROUP BY pub_id HAVING COUNT(*) > 5 El siguiente es el conjunto de resultados: pub_id total ------ ----------0877 44219 1389 24941 (2 row(s) affected)

La comprensin de la secuencia correcta en la que se aplican las clusulas WHERE, GROUP BY y HAVING ayuda a codificar consultas que sean eficientes: La clusula WHERE se utiliza para filtrar las filas que resultan de las operaciones especificadas en la clusula FROM.

La clusula GROUP BY se usa para agrupar el resultado de la clusula WHERE.

La clusula HAVING se usa para filtrar las filas del resultado agrupado. Es ms eficiente especificar en la clusula WHERE las condiciones de bsqueda que se pueden establecer antes o despus de la operacin de agrupamiento. Esto reduce el nmero de filas que tienen que agruparse. Las nicas condiciones de bsqueda que se deben especificar en la clusula HAVING son aquellas que se deben aplicar una vez que se hayan realizado las operaciones de agrupamiento.

Вам также может понравиться