Mdx Dmx Having

INSTITUTO TECNOLÓGICO DE CELAYA TÓPICOS AVANZADOS DE BASE DE DATOS DANIELA YADIRA ORTIZ PÉREZ CONSULTAS MDX Y DMX Las

Views 83 Downloads 0 File size 36KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INSTITUTO TECNOLÓGICO DE CELAYA TÓPICOS AVANZADOS DE BASE DE DATOS DANIELA YADIRA ORTIZ PÉREZ

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 información general sobre las consultas MDX. La consulta de MDX (Expresiones multidimensionales) básica es la instrucción SELECT: la consulta usada con más frecuencia en MDX. Si comprende cómo una instrucción MDX SELECT debe especificar un conjunto de resultados, en qué consiste la sintaxis de la instrucción SELECT y cómo crear una consulta simple mediante la instrucción SELECT, tendrá un conocimiento sólido de cómo usar MDX para realizar consultas de datos multidimensionales. En MDX, la instrucción 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 información:    

El número 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 segmentación de datos. Para obtener más información 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 segmentación de datos, la instrucción MDX SELECT usa las cláusulas siguientes: 

Una cláusula SELECT que determina los ejes de consulta de una instrucción MDX SELECT. Para obtener más información acerca de la construcción de los ejes de consulta en una cláusula SELECT, vea Especificar el contenido de un eje de consulta (MDX).

 

Una cláusula FROM que determina qué cubo se consultará. Para obtener más información sobre la cláusula FROM. Una cláusula WHERE opcional que determina qué miembros o tuplas se van a usar en el eje de segmentación de datos para restringir los datos devueltos. Para obtener más información sobre la construcción de un eje de segmentación de datos en una cláusula WHERE.

Consultas de predicción (DMX) En Microsoft SQL Server 2005 Analysis Services (SSAS), puede usar la consulta de predicción de Extensiones de minería de datos (DMX) para predecir valores de columna desconocidos de un conjunto de datos nuevo, basándose en los resultados de un modelo de minería de datos. Tipos de predicción Puede usar DMX para crear los siguientes tipos de predicción: Combinación de predicción Sirve para crear predicciones de datos de entrada basadas en los patrones existentes en el modelo de minería de datos. Esta instrucción de consulta debe ir seguida de una cláusula ON que proporciona las condiciones de combinación entre las columnas del modelo de minería de datos y las columnas de entrada. Combinación de predicción natural Sirve para crear predicciones basadas en nombres de columna del modelo de minería de datos que coinciden exactamente con los nombres de columna de la tabla en la que se realiza la consulta. Esta instrucción de consulta no requiere una cláusula ON, porque la condición de combinación se genera automáticamente en función de los nombres coincidentes de las columnas del modelo de minería de datos y las columnas de entrada. Combinación de predicción vacía Sirve para descubrir la predicción más probable, sin necesidad de proporcionar datos de entrada. Devuelve una predicción que está basada exclusivamente en el contenido del modelo de minería de datos. Consulta singleton Sirve para crear una predicción proporcionando los datos a la consulta. Esta instrucción resulta útil porque puede proporcionar un solo escenario a la consulta para recibir un resultado rápidamente. Por ejemplo, puede usar la consulta para predecir la probabilidad de que una persona del sexo femenino, de 35 años de edad y casada compre una bicicleta. Esta consulta no requiere un origen de datos externo. El tipo de consulta utilizado depende de la información 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 predicción normal. Estructura de la consulta Para generar una consulta de predicción en DMX, debe usar una combinación de los siguientes elementos: 

SELECT [FLATTENED]  TOP  FROM PREDICTION JOIN  ON  WHERE  ORDER BY El elemento SELECT de una consulta de predicción define las columnas y expresiones que se mostrarán en el conjunto de resultados y puede incluir los siguientes datos: 

Columnas Predict o PredictOnly del modelo de minería 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 PREDICTION JOIN define los datos de origen que se van a usar para crear la predicción. Para una consulta singleton, se trata de una serie de valores que se asignan a columnas. Para una combinación de predicción vacía, se deja en blanco. El elemento ON asigna las columnas que están definidas en el modelo de minería de datos a columnas de un conjunto de datos externo. No es necesario incluir este elemento si se va a crear una consulta de combinación de predicción vacía o una combinación de predicción natural. La cláusula WHERE sirve para filtrar los resultados de una consulta de predicción. Puede utilizar una cláusula TOP o ORDER BY para seleccionar las predicciones más probables. Para obtener más información acerca de cómo usar estas cláusulas.

CLÁUSULA HAVING La cláusula HAVING establece las condiciones de la cláusula GROUP BY de la misma forma que WHERE interactúa con SELECT. Mientras que las condiciones de búsqueda de WHERE se aplican antes de que se produzca la operación de agrupamiento, las condiciones de búsqueda de HAVING se aplican después. La sintaxis de la cláusula HAVING es similar a la de la cláusula WHERE, con la diferencia de que HAVING puede contener funciones de agregado. Las cláusulas HAVING pueden hacer referencia a cualquiera de los elementos que aparecen en la lista de selección. En esta consulta se buscan publicadores cuyas ventas anuales hasta la fecha hayan sido superiores a 40.000 dólares. 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 mínimo seis libros involucrados en los cálculos 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 comprensión de la secuencia correcta en la que se aplican las cláusulas WHERE, GROUP BY y HAVING ayuda a codificar consultas que sean eficientes: La cláusula WHERE se utiliza para filtrar las filas que resultan de las operaciones especificadas en la cláusula FROM.

La cláusula GROUP BY se usa para agrupar el resultado de la cláusula WHERE.

La cláusula HAVING se usa para filtrar las filas del resultado agrupado. Es más eficiente especificar en la cláusula WHERE las condiciones de búsqueda que se pueden establecer antes o después de la operación de agrupamiento. Esto reduce el número de filas que tienen que agruparse. Las únicas condiciones de búsqueda que se deben especificar en la cláusula HAVING son aquellas que se deben aplicar una vez que se hayan realizado las operaciones de agrupamiento.