Compartir a través de


Función Agregada (Report Builder y SSRS)

Devuelve un agregado personalizado de la expresión especificada, según esté definido en el proveedor de datos.

Nota:

Puede crear y modificar definiciones de informe (.rdl) en el Generador de informes y en el Diseñador de informes en SQL Server Data Tools. Cada entorno de creación proporciona diferentes formas de crear, abrir y guardar informes y elementos relacionados. Para obtener más información, vea Diseñar informes en el Diseñador de informes y el Generador de informes (SSRS) en la Web en microsoft.com.

Sintaxis

  
Aggregate(expression, scope)  

Parámetros

expresión
Expresión en la que se lleva a cabo la agregación. La expresión debe ser una referencia de campo sencilla.

de ámbito de
(String) Nombre de un conjunto de datos, un grupo o una región de datos que contiene los elementos de informe a los que se va a aplicar la función de agregado. Scope debe ser una constante de cadena y no puede ser una expresión. Si no se especifica el parámetro scope , se usa el ámbito actual.

Tipo de valor devuelto

El tipo de valor devuelto viene determinado por el proveedor de datos. Devuelve Nothing si el proveedor de datos no admite esta función o los datos no están disponibles.

Observaciones

La Aggregate función proporciona una manera de usar agregados que se calculan en el origen de datos externo. La extensión de datos determina la compatibilidad con esta característica. Por ejemplo, la extensión de procesamiento de datos SQL Server Analysis Services recupera los conjuntos de filas planas de una consulta MDX. Algunas filas del conjunto de resultados pueden contener valores agregados calculados en el servidor del origen de datos. Estos se conocen como agregados de servidor. Para ver los agregados de servidor en el diseñador gráfico de consultas para Analysis Services, puede usar el botón Mostrar agregaciones de la barra de herramientas. Para más información, vea Interfaz de usuario del Diseñador de consultas MDX de Analysis Services (Generador de informes).

Cuando se muestra la combinación de valores agregados y valores de conjunto de datos de detalle en las filas de detalles de una región de datos Tablix, normalmente no se incluyen los agregados de servidor porque no son datos de detalle. Sin embargo, es probable que desee mostrar todos los valores recuperados para el conjunto de datos y personalizar la forma en que se calculan y se muestran los datos agregados.

Reporting Services detecta el uso de la función Aggregate en expresiones de su informe para determinar si se muestran agregados de servidor en filas de detalles. Si incluye Aggregate en una expresión en una región de datos, los agregados de servidor solo pueden aparecer en filas totales de grupo o totales generales, no en filas de detalle. Si desea mostrar agregados de servidor en las filas de detalle, no use la función Aggregate.

Para cambiar este comportamiento predeterminado, cambie el valor de la opción Interpretar los subtotales como filas de detalles en el cuadro de diálogo Propiedades del conjunto de datos . Cuando esta opción se establece Trueen , todos los datos, incluidos los agregados del servidor, aparecen como datos detallados. Cuando se configura en False, los agregados del servidor aparecen como totales. El valor de esta propiedad afecta a todas las regiones de datos que están vinculadas a este conjunto de datos.

Nota:

Todos los grupos que contienen el elemento de informe que hace referencia a Aggregate deben tener referencias de campo simples para sus expresiones de grupo, por ejemplo, [FieldName]. No se puede usar Aggregate en una región de datos que use expresiones de grupo complejas. Para la extensión de procesamiento de datos de SQL ServerAnalysis Services, la consulta debe incluir campos MDX de tipo LevelProperty (no MemberProperty) para admitir la agregación mediante la Aggregatefunción .

Expression puede contener las llamadas a las funciones de agregados anidados con las siguientes excepciones y condiciones:

  • Scope , para los agregados anidados, debe ser igual que el ámbito del agregado exterior, o ser contenido por él. Para todos los ámbitos distintos de la expresión, un ámbito debe estar en una relación secundaria con respecto a todos los otros ámbitos.

  • Scope , para los agregados anidados, no puede ser el nombre de un conjunto de datos.

  • La expresión no debe contener Firstfunciones , Last, Previouso RunningValue .

  • Expression no debe contener a los agregados anidados que especifican recursive.

Para más información, consulte Funciones del generador de informes - referencia de funciones de agregado (Generador de informes y SSRS) y Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS).

Para más información sobre los agregados recursivos, consulte Creación de un grupo de jerarquía recursiva (Generador de informes y SSRS).

Diferencias entre las funciones Aggregate y Sum

La función Aggregate difiere de funciones de agregado numéricas como Sum porque la función Aggregate devuelve un valor calculado por el proveedor de datos o la extensión de procesamiento de datos. Las funciones de agregado numérico como Sum devuelven un valor calculado por el procesador de informes en un conjunto de datos del conjunto de datos determinado por el parámetro de ámbito . Para más información, vea la lista de funciones de agregado en Referencia a las funciones de agregado (Generador de informes y SSRS).

Ejemplo

El ejemplo de código siguiente muestra una expresión que recupera un agregado de servidor para el campo LineTotal. La expresión se agrega a una celda de una fila que pertenece al grupo GroupbyOrder.

=Aggregate(Fields!LineTotal.Value, "GroupbyOrder")  

Véase también

Usar expresiones en informes (Generador de informes y SSRS)
Ejemplos de expresiones (Generador de informes y SSRS)
Tipos de datos en expresiones (Generador de informes y SSRS)
Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS)