none
PageBreak con diferentes Tablix RRS feed

  • Pregunta

  • Buenas tardes,

    Tengo un informe de Reporting Services en el que muestro información a través de parámetros. Debido a la complejidad de la base de datos no puedo mostrar todos los datos en el mismo dataset, por lo que tengo 5 datasets diferentes, por lo tanto 5 tablix. 

    Imaginemos que mi último parámetro es el campo "Productos". Al seleccionar uno de ellos, me sale información del producto en cada dataset, pudiendo alguno de ellos estar vacío y por lo tanto no lo veríamos. Si sólo seleccionamos un producto, veríamos toda la información del mismo seguida. El problema lo tengo al seleccionar varios productos, ya que el resultado que obtengo es:

    1er dataset:

    PRIMERA FILA: INFORMACION PRODUCTO 1

    SEGUNDA FILA: INFORMACION PRODUCTO 2

    TERCERA FILA: INFORMACION PRODUCTO 3

    2º Dataset

    PRIMERA FILA

    SEGUNDA FILA

    ...

    Y así sucesivamente...

    El resultado deseado sería que en la primera página me mostrara los 5 datasets correspondientes al producto1, en la segunda página la información del producto 2, etc. 

    Ahora mismo en el parent Group de cada tablix he ido a Group Properties y he cambiado la opción PageBreaks marcando "Between each instance of a group" y "Also at the end of a group"

    Esto me separa los productos en páginas, pero para cada dataset, es decir, si selecciono 3 productos, tengo 15 páginas cuando yo querría 3 páginas. Poniendo el pagebreak en el último dataset tampoco funciona.

    ¿Alguna sugerencia?

    Muchas gracias por adelantado. Espero haberme explicado bien.

    Un saludo

    lunes, 8 de junio de 2015 14:44

Respuestas

  • Hola, Es posible tener todos los dataset en uno solo, es como hacer un UNION ALL de SQL Server, asegurate que es lo que necesitas y de ser así fusiona tus datasert, crea un nuevo dataset. En Query Type elige Text.

    Dentro crea una tabla temporal así.

    declare @Tabla table
    (
    Campo1 varchar(30),
    Campo2 varchar(5)
    );
    
    
    insert into @Tabla(Campo1, Campo2)
    Exec TuSP_DataSet1 @Param1, @Param2;
    
    insert into @Tabla(Campo1, Campo2)
    Exec TuSP_DataSet2 @Param3
    
    insert into @Tabla(Campo1, Campo2)
    Exec TuSP_DataSet3 @Param3
    
    select Campo1, Campo2 from @Tabla; 

    Listo, tendrás un sólo dataset. Si tienes alguna duda me la haces saber!


    Ayacucho - Perú
    Recuerda si mi solución atiende tu consulta por favor márcala como útil y como respuesta.

    http://litigiouslobo.blogspot.com/
    El Blog de Herbert Mendoza


    jueves, 11 de junio de 2015 14:45

Todas las respuestas

  • Buenas,

    Me da que el problema no viene por los datasets ni por los objetos, sino por como te traes los datos. ¿Todos los datasets tienen los mismos campos?

    Un Saludo


    Fran Diaz | twitter: @frandiaz_ | Blog: {geeks.ms/blogs/fdiaz/}

    martes, 9 de junio de 2015 6:27
    Moderador
  • Buenas,

    No, son datasets con diferentes campos. Si pudiera tenerlo todo en el mismo dataset creo que se me solucionaría el problema, pero me temo que eso no es posible...:-(

    Un saludo


    Beatriz Rodríguez

    martes, 9 de junio de 2015 7:16
  • Hola, Es posible tener todos los dataset en uno solo, es como hacer un UNION ALL de SQL Server, asegurate que es lo que necesitas y de ser así fusiona tus datasert, crea un nuevo dataset. En Query Type elige Text.

    Dentro crea una tabla temporal así.

    declare @Tabla table
    (
    Campo1 varchar(30),
    Campo2 varchar(5)
    );
    
    
    insert into @Tabla(Campo1, Campo2)
    Exec TuSP_DataSet1 @Param1, @Param2;
    
    insert into @Tabla(Campo1, Campo2)
    Exec TuSP_DataSet2 @Param3
    
    insert into @Tabla(Campo1, Campo2)
    Exec TuSP_DataSet3 @Param3
    
    select Campo1, Campo2 from @Tabla; 

    Listo, tendrás un sólo dataset. Si tienes alguna duda me la haces saber!


    Ayacucho - Perú
    Recuerda si mi solución atiende tu consulta por favor márcala como útil y como respuesta.

    http://litigiouslobo.blogspot.com/
    El Blog de Herbert Mendoza


    jueves, 11 de junio de 2015 14:45