none
Parámetro multivalor consulta Reporting Services contra AS/400 RRS feed

  • Pregunta

  • Buenos días,
    Ojalá alguien pueda ayudarme. Tengo un informe en Reporting Services donde he creado un parámetro multivalor que lo asigno en la consulta. Al ser una consulta sql contra un origen de datos ODBC (AS/400) el parámetro se identifica con ? en la consulta.
    Para pasar de Object (campo multivalor) a String he utilizado un Join. El problema viene dado porque cuando le asigno varios valores al parámetro me da el resultado de la consulta como si hubiera un truncamiento de tipo carácter en la consulta y esto es debido a que está cogiendo toda la cadena como un sólo valor, aunque en la consulta pongo un WHERE CAMPO IN (?) y entonces supero la longitud de un sólo valor. ¿Cómo debería hacerlo? ¿Alguien tiene alguna idea? Gracias de antemano. Yaiza
    miércoles, 20 de enero de 2010 11:19

Respuestas

  • Hola YaizaS,

    A mí se me dió el mismo problema y lo arreglé de la siguiente manera: La consulta la convertí en una expresión.

    Así la sentencia;

    SELECT articulo, SUM(Unidades) FROM Existencias WHERE almacen in (?) GROUP BY articulo
    

    Se convierte en

    ="SELECT articulo, SUM(Unidades) FROM Existencias WHERE almacen in (" & JOIN(Parameters!Almacen.Value, ", ") & ") GROUP BY articulo"
    

    Como ves, utilizo la función JOIN para unir la cadena de varios elementos en una única cadena con sus elementos separados por coma y espacio.

    Espero que te sirva. Un saludo.

    jueves, 25 de noviembre de 2010 16:56