Compartir a través de


Diseño de agregaciones (XMLA)

Los diseños de agregación están asociados a las particiones de un grupo de medida determinado para asegurarse de que las particiones usan la misma estructura al almacenar agregaciones. El uso de la misma estructura de almacenamiento para particiones permite definir fácilmente particiones que se pueden combinar posteriormente mediante el comando MergePartitions . Para obtener más información sobre los diseños de agregaciones, vea Agregaciones y diseños de agregaciones.

Para definir agregaciones para un diseño de agregaciones, puede usar el comando DesignAggregations en XML for Analysis (XMLA). El DesignAggregations comando tiene propiedades que identifican qué diseño de agregación se va a usar como referencia y cómo controlar el proceso de diseño en función de esa referencia. Con el DesignAggregations comando y sus propiedades, puede diseñar agregaciones iterativamente o por lotes y, a continuación, ver las estadísticas de diseño resultantes para evaluar el proceso de diseño.

Especificar un diseño de agregación

La propiedad Object del DesignAggregations comando debe contener una referencia de objeto a un diseño de agregación existente. La referencia de objeto contiene un identificador de base de datos, un identificador de cubo, un identificador de grupo de medida y un identificador de diseño de agregación. Si el diseño de agregaciones aún no existe, se produce un error.

Controlar el proceso de diseño

Puede usar las siguientes propiedades del DesignAggregations comando para controlar el algoritmo usado para definir agregaciones para el diseño de agregaciones:

  • La propiedad Steps determina cuántas iteraciones debe tomar el DesignAggregations comando antes de devolver el control a la aplicación cliente.

  • La propiedad Time determina cuántos milisegundos debe tomar el DesignAggregations comando antes de devolver el control a la aplicación cliente.

  • La propiedad Optimización determina el porcentaje estimado de mejora del rendimiento que el DesignAggregations comando debe intentar lograr. Si está diseñando agregaciones de forma iterativa, solo tiene que enviar esta propiedad en el primer comando.

  • La propiedad Storage determina la cantidad estimada de almacenamiento en disco, en bytes, usada por el DesignAggregations comando . Si está diseñando agregaciones de forma iterativa, solo tiene que enviar esta propiedad en el primer comando.

  • La propiedad Materialize determina si el DesignAggregations comando debe crear las agregaciones definidas durante el proceso de diseño. Si está diseñando agregaciones de forma iterativa, esta propiedad debe establecerse en false hasta que esté listo para guardar las agregaciones diseñadas. Cuando se establece en true, el proceso de diseño actual finaliza y las agregaciones definidas se agregan al diseño de agregación especificado.

Especificación de consultas

El comando DesignAggregations admite el comando de optimización basada en el uso mediante la inclusión de uno o varios Query elementos en la propiedad Queries . La Queries propiedad puede contener uno o varios elementos Query . Si la Queries propiedad no contiene ningún Query elemento, el diseño de agregación especificado en el Object elemento usa una estructura predeterminada que contiene un conjunto general de agregaciones. Este conjunto general de agregaciones está diseñado para cumplir los criterios especificados en las Optimization propiedades y Storage del DesignAggregations comando .

Cada Query elemento representa una consulta objetivo que usa el proceso de diseño para definir agregaciones destinadas a las consultas usadas con más frecuencia. Puede especificar sus propias consultas de objetivo o puede usar la información almacenada por una instancia de Microsoft SQL Server Analysis Services en el registro de consultas para recuperar información sobre las consultas usadas con más frecuencia. El Asistente para optimización de Usage-Based usa el registro de consultas para recuperar consultas objetivo basadas en el tiempo, el uso o un usuario especificado cuando envía un DesignAggregations comando. Para obtener más información, consulte ayuda F1 del Asistente para optimización deUsage-Based.

Si está diseñando agregaciones de forma iterativa, solo tiene que pasar consultas de objetivo en el primer DesignAggregations comando porque la instancia de Analysis Services almacena estas consultas objetivo y usa estas consultas durante los comandos posteriores DesignAggregations . Después de pasar las consultas de objetivo en el primer DesignAggregations comando de un proceso iterativo, cualquier comando posterior DesignAggregations que contenga consultas de objetivo en la Queries propiedad genera un error.

El Query elemento contiene un valor delimitado por comas que contiene los argumentos siguientes:

Frecuencia, conjunto de datos[,Conjunto de datos...]

Frecuencia
Factor de ponderación que corresponde al número de veces que se ejecutó anteriormente la consulta. Si el Query elemento representa una nueva consulta, el valor Frequency representa el factor de ponderación utilizado por el proceso de diseño para evaluar la consulta. A medida que el valor de frecuencia aumenta, aumenta el peso que se coloca en la consulta durante el proceso de diseño.

del conjunto de datos
Cadena numérica que especifica qué atributos de una dimensión se van a incluir en la consulta. Esta cadena debe tener el mismo número de caracteres que el número de atributos de la dimensión. Cero (0) indica que el atributo de la posición ordinal especificada no está incluido en la consulta de la dimensión especificada, mientras que uno (1) indica que el atributo de la posición ordinal especificada se incluye en la consulta de la dimensión especificada.

Por ejemplo, la cadena "011" haría referencia a una consulta que implicaba una dimensión con tres atributos, desde la que se incluyen en la consulta los atributos segundo y tercero.

Nota:

Algunos atributos se excluyen de la consideración en el conjunto de datos. Para obtener más información sobre los atributos excluidos, vea Elemento Query (XMLA).

Cada dimensión del grupo de medida que contiene el diseño de agregaciones se representa mediante un valor dataset en el Query elemento . El orden de los valores del conjunto de datos debe coincidir con el orden de las dimensiones incluidas en el grupo de medida.

Diseño de agregaciones mediante procesos iterativos o por lotes

Puede usar el DesignAggregations comando como parte de un proceso iterativo o un proceso por lotes, en función de la interactividad requerida por el proceso de diseño.

Diseño de agregaciones mediante un proceso iterativo

Para diseñar agregaciones de forma iterativa, envíe varios DesignAggregations comandos para proporcionar un control preciso sobre el proceso de diseño. El Asistente para diseño de agregaciones usa este mismo enfoque para proporcionar un control preciso sobre el proceso de diseño. Para obtener más información, vea Asistente para diseño de agregaciones F1 Ayuda.

Nota:

Se requiere una sesión explícita para diseñar de forma iterativa agregaciones. Para obtener más información sobre las sesiones explícitas, vea Administración de conexiones y sesiones (XMLA).

Para iniciar el proceso iterativo, primero debe enviar un DesignAggregations comando que contenga la siguiente información:

  • Valores Storage de propiedad y Optimization en los que se dirige todo el proceso de diseño.

  • Los Steps valores de propiedad y Time en los que el primer paso del proceso de diseño es limitado.

  • Si desea la optimización basada en el uso, la Queries propiedad que contiene las consultas objetivo en las que se dirige todo el proceso de diseño.

  • La Materialize propiedad establecida en false. Establecer esta propiedad en false indica que el proceso de diseño no guarda las agregaciones definidas en el diseño de agregaciones cuando se completa el comando.

Cuando finaliza el primer DesignAggregations comando, el comando devuelve un conjunto de filas que contiene estadísticas de diseño. Puede evaluar estas estadísticas de diseño para determinar si el proceso de diseño debe continuar o si el proceso de diseño ha finalizado. Si el proceso debe continuar, envíe otro DesignAggregations comando que contenga los valores y Time con los Steps que este paso del proceso de diseño está limitado. Evalúe las estadísticas resultantes y determine si el proceso de diseño debe continuar. Este proceso iterativo de envío DesignAggregations de comandos y la evaluación de los resultados continúa hasta alcanzar los objetivos y tener definido un conjunto adecuado de agregaciones.

Una vez que haya llegado al conjunto de agregaciones que desee, envíe un comando final DesignAggregations . Este comando final DesignAggregations debe tener su Steps propiedad establecida en 1 y su Materialize propiedad establecida en true. Con esta configuración, este comando final DesignAggregations completa el proceso de diseño y guarda la agregación definida en el diseño de agregación.

Diseño de agregaciones mediante un proceso por lotes

También puede diseñar agregaciones en un proceso por lotes enviando un único DesignAggregations comando que contiene los Stepsvalores de propiedad , Time, Storagey Optimization en los que todo el proceso de diseño está dirigido y limitado. Si desea la optimización basada en el uso, las consultas de objetivo en las que se destina el proceso de diseño también deben incluirse en la Queries propiedad . Asegúrese también de que la Materialize propiedad se establece en true, de modo que el proceso de diseño guarde las agregaciones definidas en el diseño de agregaciones cuando finalice el comando.

Puede diseñar agregaciones mediante un proceso por lotes en una sesión implícita o explícita. Para obtener más información sobre las sesiones implícitas y explícitas, vea Administración de conexiones y sesiones (XMLA).

Devolver estadísticas de diseño

Cuando el DesignAggregations comando devuelve el control a la aplicación cliente, el comando devuelve un conjunto de filas que contiene una sola fila que representa las estadísticas de diseño del comando. El conjunto de filas contiene las columnas enumeradas en la tabla siguiente.

Columna Tipo de dato Descripción
Pasos Entero Número de pasos realizados por el comando antes de devolver el control a la aplicación cliente.
Tiempo Entero largo Número de milisegundos tomados por el comando antes de devolver el control a la aplicación cliente.
Optimización Doble Porcentaje estimado de mejora del rendimiento logrado por el comando antes de devolver el control a la aplicación cliente.
Almacenamiento Entero largo Número estimado de bytes tomados por el comando antes de devolver el control a la aplicación cliente.
Agrupaciones Entero largo Número de agregaciones definidas por el comando antes de devolver el control a la aplicación cliente.
LastStep Booleano Indica si los datos del conjunto de filas representan el último paso del proceso de diseño. Si la Materialize propiedad del comando se estableció en true, el valor de esta columna se establece en true.

Puede usar las estadísticas de diseño contenidas en el conjunto de filas devuelto después de cada DesignAggregations comando en el diseño iterativo y por lotes. En el diseño iterativo, puede usar las estadísticas de diseño para determinar y mostrar el progreso. Al diseñar agregaciones por lotes, puede usar las estadísticas de diseño para determinar el número de agregaciones creadas por el comando.

Véase también

Desarrollo con XMLA en Analysis Services