Compartir a través de


Agrupar datos en un informe

Actualizado: 14 de abril de 2006

Los datos incluidos en cada una de las regiones de datos (tablas, matrices, listas y gráficos) pueden agruparse por campos y expresiones. Puede utilizar los grupos contenidos en una tabla para constituir secciones lógicas de los datos de la tabla. También es posible agregar subtotales y otras expresiones al encabezado o pie de grupo. En una matriz, los grupos se muestran como columnas o filas dinámicas. Los grupos pueden anidarse a su vez en otros grupos y también es posible agregar subtotales. Gracias a las listas, se pueden incluir grupos independientes en un informe, así como colocar listas dentro de listas de grupos anidados.

Para ver las instrucciones sobre cómo agrupar datos en las regiones de datos, vea:

Jerarquías recursivas

Una jerarquía recursiva es una jerarquía de datos en la que todas las relaciones de elementos primarios y secundarios se representan en los datos. Por ejemplo, se puede crear un organigrama que muestre relaciones jefe-empleado mediante una jerarquía recursiva. En una jerarquía de este tipo, la tabla tendría columnas para el Id. del empleado y el Id. del jefe. El Id. de este último haría referencia al de otro empleado, lo que da lugar a una jerarquía de empleados.

Para crear una jerarquía recursiva, es preciso configurar una serie de propiedades para un grupo incluido en una región de datos. Utilice un campo que contenga un Id. único (por ejemplo, el Id. del empleado) como la expresión de grupo y, a continuación, un campo que contenga el Id. de la entidad primaria (por ejemplo, el Id. del jefe) en la propiedad Parent. Los grupos que se definen como jerarquía recursiva (es decir, un grupo que utilice la propiedad Parent) sólo pueden tener una expresión de grupo.

Utilice el siguiente tutorial para crear una jerarquía recursiva utilizando la tabla Employee de la base de datos AdventureWorks. En este tutorial, se asume que el usuario sabe cómo crear informes, conjuntos de datos, consultas y tablas. Para obtener información acerca de estas características, vea la documentación correspondiente.

  1. En la vista Datos, cree un conjunto de datos basado en la base de datos AdventureWorks.

  2. En el conjunto de datos, utilice la consulta siguiente:

    SELECT FirstName, LastName, EmployeeID, ManagerID
    FROM   HumanResources.Employee E INNER JOIN
           Person.Contact C ON  E.ContactID=C.ContactID
    
  3. En la vista Diseño, cree una región de datos de tabla.

  4. En la primera celda de detalle de la tabla, escriba la siguiente expresión:

    =Fields!FirstName.Value & " " & Fields!LastName.Value
    
  5. Haga clic con el botón secundario en la esquina de la tabla y, a continuación, haga clic en Propiedades.

  6. En la ficha Grupo, haga clic en Agrupación de detalles.

  7. En la ficha General, en el cuadro Expresión, escriba o seleccione la siguiente expresión:

    =Fields!EmployeeID.Value
    
  8. En el cuadro Grupo primario, escriba o seleccione la siguiente expresión:

    =Fields!ManagerID.Value
    

Función Level

Puede utilizar la función Level en el margen del cuadro de texto para aplicar sangría a los nombres de los empleados en función de su nivel en la jerarquía. Para hacerlo con la tabla del ejemplo anterior, active la casilla de verificación en la primera celda de detalles. Abra la ventana de propiedades del cuadro de texto. Expanda el nodo Relleno y haga clic en la propiedad Izquierda. Elija <Expresión…> en la lista desplegable y escriba lo siguiente:

=Convert.ToString(2 + (Level()*10)) + "pt"

Las propiedades de margen requieren una cadena con el formato nnxx, donde nn es un número y xx la unidad de medida. De manera predeterminada, el margen de un cuadro de texto es de 2 pt. La expresión anterior genera una cadena que utiliza la función Level para aumentar el tamaño del margen según el nivel. Por ejemplo, una fila del nivel 1 daría lugar a un margen de 12 pt (2 + (1*10)), y una fila de nivel 3 se traduciría en un margen de 32 pt (2 + (3*10)).

Para obtener información acerca de la función Level, vea Level (función de Reporting Services).

Vea también

Conceptos

Trabajar con regiones de datos
Trabajar con regiones de datos de tabla
Trabajar con regiones de datos de matriz
Trabajar con regiones de datos de lista
Trabajar con regiones de datos de un gráfico

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

14 de abril de 2006

Contenido modificado:
  • Se corrigió la consulta para que funcione con la base de datos AdventureWorks en lugar de AdventureWorks2000.