none
Resporting Services RRS feed

  • Pregunta

  • Hola amigos tengo un problema en reporting services y es el siguiente

    En el encabezado del reporte hay un titulo que es "nombre empresa" el cual debe llevar el nombre de la empresa segun un parametro que selecione, ej: seleccione Pais1 entonces debe salir EmpresaPais (ejemplo), seleccione Paisx debe salir EmpresaCualquiera etc...
    Cuando le doy en el cuadro de texto en expresion y selecciono del DsEmpresa la columna "nombre empresa", primero que todo me sale 

    =First(Fields!NombreEmpresa.Value,"DsEmpresa")

    y al ejecutar el reporte siempre me sale la primera empresa de la tabla y no la empresa referente al Pais que seleccione ( segun el ejemplo), si me hago entender?
    como hago alli gracias.

    PD: Una forma que habia visto era colocar en el cuerpo del informe un textbox con el
    =First(Fields!NombreEmpresa.Value, "DsEmpresa")  y en el encabezado iba ReportItems!NombreTextbox.Value pero sigue saliendo el primero de la tabla.
    gracias por su ayuda
    • Tipo cambiado Gustavo Larriera jueves, 15 de octubre de 2009 19:33 Es pregunta.
    • Cambiado Gustavo Larriera jueves, 15 de octubre de 2009 19:33 Foro adecuado. (De:SQL Server)
    jueves, 15 de octubre de 2009 19:26

Respuestas

  • Amigo ya resolvi el problema, era que en el PA donde me traia los datos de la empresa estaba con un like @nombre entonces al colocar en el parametro predeterminado el % obviamente me traia todas y solo podia mostrar el primero por lo q estaba obteniendo todas las empresas (like '%') y no una especifica (no se como hacer q me muestre uno especifico sin cambiar el PA), el @CodEmpresa lo que hacia era traer el logo de la empresa where codempresa sea la q seleccione, entonces habia q agregar otra consulta que nada mas me trajera el AreaResponsable where CodEmpresa=@codempresa y listo, entonces cuando seleccionada la empresa para la imagen con ese mismo parametro llenaba la consulta AreaResponsable y me obtiene el dato que es. gracias de todas maneras y espero que sirva para alguien mas
    • Marcado como respuesta fkonan viernes, 16 de octubre de 2009 15:36
    viernes, 16 de octubre de 2009 15:36

Todas las respuestas

  • hola

    pero es que necesitas mostrar la empresa pasada por parametro, o la que viene en tu DataSource


    Por ejemplo para pasar un parametro puedes hacer lo siguiente:

    List<ReportParameter> parameters = new List<ReportParameter>();

    ReportParameter  param = new ReportParameter("NombreEmpresaParam", FilterHelper.Filter.StartingMonth.MonthShortDesc());
    parameters.Add(param);

    ReportViewer1.LocalReport.SetParameters(parameters);



    Si defines en el reporte un parametro de  nombre NombreEmpresaParam, el codigo del TextBox del reporte seguramente debas escribir algo como esto:

    =Parameters!NombreEmpresaParam.Value


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 15 de octubre de 2009 19:43
  • Haber me explico mejor
    tengo un conjuto de datos llamado DsEmpresa en donde traigo varios datos pero los que utilizo son:

    CodEmpresa
    NombreEmpresa
    AreaResponsable

    Tengo un parametro oculto @Nombre q coloco valor predeterminado %.
    Tengo otro parametro @CodEmpresa y le doy en valor disponible que es el conjunto DsEmpresa, el valor del campo es CodEmpresa y la etiqueta  NombreEmpresa.

    El Procedimiento Almacenado de DsEmpresa me pide le parametro @Nombre (la consulta va like @nombre)
    por eso tengo el parametro con valor predeterminado %, para q me muestre todas las empresas en el combo y al seleccionar me salgan los datos de dicha empresa.

    En el reporte me sale un combo donde escojo las empresas disponibles y seguido daria en ver informe, en el encabezado va:

    1. NombreEmpresa (este en la expresion selecciono el parameter!CodEmpresa.label) me sale el nombre de la empresa osea bien.

    2. AreaResponsable (este escojeria el valor del conjunto de datos DsEmpresa y  me sale first(fields!AreaResponsable)) aca es donde me sale el primer valor de la tabla y no el valor referente a la empresa q selccione.
    Me explique mejor?
    jueves, 15 de octubre de 2009 19:55
  • ALGUIEN SABE COMO?????

    jueves, 15 de octubre de 2009 21:39
  • hola

    pero DsEmpresa que vendria a ser un DataSet ?

    el reporte lo creas utilizando Reporting Service, o se el servicio de Sql Server?
    o es un reporte local en el visual studio, um archivo .rdlc


    Si usas =First(Fields!NombreEmpresa.Value, "DsEmpresa")
     es logico que sea el primero ya que sea el primero pues le pones First()
    pero no entiendo muy bien al SP le envias la empresa como filtro por lo cual el campo qye representa al nombre de la empresa en DsEmpresa  es logico que sean todos los registros iguales


    - no has probado usar:
    =Fields!NombreEmpresa.Value

    o sea directamente, pero en este caso no funcionara en el encabezado

    - lo que llego a entender es si el reporte es por empresa o para varias empresas, pero quieres un corte de control por cada una (de las empresas)


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 16 de octubre de 2009 0:12
  • Amigo estaba equivocado, me falto explicar algo, siento hacerte perder tiempo. Mira la cuestion es la siguiente El reporte es en lo q habia comentao anteriormente (sql) Agrego un dataset DsEmpresa, este toma los datos de un procedimiento almacenado que termina asi: "where NombreEmpresa like @Nombre", esto me arroja un parametro @Nombre que le coloco como valor predeterminado(en las propiedades del parametro) % para que me arroje todas las empresas para yo seleccionarlas en un combo. (el parametro es oculto) Tengo un DsLogoEmpresa (traigo la imagen del logo de la empresa que seleccione) la consulta termina asi: "where CodEmpresa=@CodEmpresa" esto arroja un parametro @CodEmpresa y en las propiedades del parametro le doy en valores disponibles (hay salen 3 combos para seleccionar)en Conjunto de datos DsEmpresa, en valor del campo CodEmpresa y en etiqueta NombreEmpresa, lo que hace es que en el combo me muestre los nombres de las empresas para seleccionarlos y de acuerdo al que seleccione toma el valor CodEmpresa (eso es lo que entiendo) para arrojarme el logo de la empresa. Entonces al yo seleccionar la empresa y darle ver informe necesito que me salgan los datos de la empresa que seleccione, en el encabezado que es donde tengo problema me sale el nombre de la empresa bien, pues le di =parameters!@CodEmpresa.label (trae el nombre de la empresa pero para el AreaResponsable o tengo que traer del DsEmpresa y me sale firt!field(arearesponsable.value), si le quito el first me da error. entonces quiero saber como hago alli.
    DsLogoEmpresa -----> parametro @nombre que le doy % y me saldrian todas D
    sEmpresa ----> parametro @CodEmpresa los valores disponibles para seleccionar la empresa y arrojar los datos de empresa seleccionada gracias
    viernes, 16 de octubre de 2009 13:47
  • Amigo ya resolvi el problema, era que en el PA donde me traia los datos de la empresa estaba con un like @nombre entonces al colocar en el parametro predeterminado el % obviamente me traia todas y solo podia mostrar el primero por lo q estaba obteniendo todas las empresas (like '%') y no una especifica (no se como hacer q me muestre uno especifico sin cambiar el PA), el @CodEmpresa lo que hacia era traer el logo de la empresa where codempresa sea la q seleccione, entonces habia q agregar otra consulta que nada mas me trajera el AreaResponsable where CodEmpresa=@codempresa y listo, entonces cuando seleccionada la empresa para la imagen con ese mismo parametro llenaba la consulta AreaResponsable y me obtiene el dato que es. gracias de todas maneras y espero que sirva para alguien mas
    • Marcado como respuesta fkonan viernes, 16 de octubre de 2009 15:36
    viernes, 16 de octubre de 2009 15:36
  • amigos ahora necesito otra cosa, tengo un reporte agrupado por concepto, resulta q vienen estos datos asi:

    banco colombia
    ------------------------------------------------------------
    documento                concepto                      valor
    ------------------------------------------------------------
    123456                     banco colombia             1000
    123456                     banco colombia             2058
    123456                     banco colombia             487557
    ------------------------------------------------------------
    banco x
    1234                        bancox                          4878787
    1234                        bancox                          48782323
    1234                        bancox                          222222

    quiero que se muestre asi

    banco colombia
    ------------------------------------------------------------
    documento                concepto                      valor
    ------------------------------------------------------------
    123456                     banco colombia             (suma de los 3 items)
    ------------------------------------------------------------
    banco x
    1234                        bancox                          (suma de los tres)

    me cogieron la idea, que todos los del grupo se unan y solo aparesca uno y pues lo de la suma su se, con un sum (valor) pero el resto??


    viernes, 16 de octubre de 2009 21:19
  • Hola,

    Créate grupos en tú tabla, dentro de cada grupo en las propiedades puedes ponerle pie y cabecera (esta se pone por defecto). En los pies y cabecera, donde te sea más cómodo puede poner un sum de tu campo y el solito te lo hará.

    En el detalle pon tus campos como haces hasta ahora.

    Prueba y nos cuentas ;)

    Un Saludo

    PD: Esta vez ya da igual, pero para otra por favor, separa los distintos problemas en hilos diferentes aunque sean de la misma categoría :)


    Fran Díaz | {geeks.ms/blogs/fdiaz/} | {onobanet.com} | {secondnug.com}
    martes, 20 de octubre de 2009 11:28
    Moderador