tabla - ¿Es posible crear una fila que abarque todas las columnas de una matriz en SSRS 2008?
repetir encabezado tabla reportviewer (5)
¿Es posible agregar una fila a una matriz de SSRS 2008 que abarque todas las columnas de la matriz?
Este crudo diagrama muestra más o menos lo que estoy buscando:
La idea básica es que cada elemento de línea es una persona, y cada columna es un campo en una forma para esa persona. Los campos en sí son dinámicos (y se implementan como grupos de columnas en la matriz). Se incluyen grupos de columnas adicionales para anexar campos de formulario no dinámicos, como la hora en que se ingresó el registro y quién lo ingresó. Debajo del registro de cada persona hay un campo de comentarios, que debe abarcar todos los campos de formulario que se encuentran encima.
Por el momento, tengo la matriz incrustada en otra tablix, con el nombre y los campos en la matriz y los comentarios en la tablix principal. Esto funciona para los datos (cada instancia de la matriz termina siendo una fila), pero el encabezado se repite con demasiada frecuencia (una vez por persona) porque está unido a la matriz. El único pensamiento que tengo sobre cómo solucionar esto es crear otra matriz en la tablix principal con la misma agrupación y usarla para mostrar los encabezados ... Pero esto requerirá una gran cantidad de sincronización manual para mantener las dos matrices mismo.
Editar: El problema clave aquí es hacer que la segunda fila abarque múltiples grupos de columnas .
[Editar]
Después de varios intentos, voy a decir que esto no es posible en SSRS. Lo mejor que se me ocurre es un pie de página de grupo que abarca las columnas 1,2 y 3, pero no la columna Usuario.
[Respuesta original]
Recientemente hice algo similar a esto.
Primero, ¿qué herramienta está utilizando para crear informes de SSRS? (Utilicé SQL Server Business Intelligence Development Studio)
Querrá crear un grupo de filas (agrupado en Persona)
Agregue una fila a su tabla en la vista "Diseño" (haga clic derecho, "Insertar fila -> Grupo interno - Abajo").
Agregue una expresión a la fila que extrae el valor de su columna "Comentario" (= Fields! Comment.Value).
Avísame si eso ayuda ...
Intente agregar en su grupo de columnas "encabezado" con una expresión de agrupación de (1 = 1). Entonces, será necesario definir un campo de detalle. Si define el otro grupo con datos correctos, entonces el "encabezado" se extenderá en todas las columnas de detalles. Es posible que deba fusionarse dependiendo de otras opciones.
Esto es lo que puedes hacer:
- Seleccione la agrupación de columnas que desea agregar arriba y haga clic con el botón secundario y seleccione Agregar grupo ... Grupo principal ...
- Agrupe la columna por algo que no agregue los datos. Tendrá que seleccionar un campo de su conjunto de datos para agruparlo de forma que cree una agrupación de columnas superpuestas.
- Marca el cuadro Agregar encabezado de grupo
Ahora debería ver algo similar a esto:
Ahora solo tiene que mover el campo Valor1 y su encabezado por debajo de la nueva columna a la derecha más allá de los separadores de la matriz. Una vez hecho esto, simplemente elimine la columna desagrupada donde acaba de copiar Value1 y asegúrese de seleccionar la casilla Eliminar solo columnas .
Su producto final debería verse así:
Es posible - Y las respuestas anteriores son respuestas parciales que omiten un paso clave: fusionar las celdas de la fila secundaria.
Primero, haga clic derecho en su fila agrupada, luego seleccione Insert Row -> Inside Group - Below
, obtendrá dos filas con las celdas alineadas en las columnas
Segundo, ctrl haga clic en todas las celdas de su nueva fila (es decir, en la fila sin los datos) y luego haga clic con el botón derecho en una de las celdas resaltadas y luego seleccione Merge Cells
.
Ahora tienes la mesa que te gusta. Para agregar un valor a la nueva fila: primero haga clic con el botón derecho en su nueva celda (varias columnas), seleccione Create Placeholder
marcador de posición y luego agregue el elemento del conjunto de datos que desee al marcador de posición.
La forma más sencilla de hacerlo es crear un Tablix con solo una columna y su agrupación de filas. Luego, crea dos filas dentro de este grupo. En la primera fila dentro del grupo, inserta una Matriz, que luego puede subgrupo como prefiera.
Solo tuve un problema similar, y esta fue mi solución.
Golpeé mi cabeza contra la pared durante mucho tiempo, hasta que me di cuenta de que la solución a mi problema no era "hacer que una celda abarcara múltiples grupos de columnas", sino "hacer una celda dividida en múltiples grupos de columnas".