Open Business Intelligence

La red del Business Intelligence

CDE No puedo pasar parametro de tipo string a un Data source de tipo sql over sqlJndi.

Pues como reza el titulo de la discusion no puedo pasar parametros de tipo string a una SELECT en un sql over sqlJndi, hay alguna forma posible, hay que activar algo o alguna cosa?, estoy un poco desperado, gracias de antemano.

Visitas: 1297

Responde a esto

Respuestas a esta discusión

Hola,

si nos das un poco más de información es posible que podamos hacer algo.

Postea la query y de qué forma estás pasando el parámetro.

En un DataSource de tipo sql over sqlJnd, tengo un parametro llamado user con tipo String, y la siguiente Query: 

SELECT *

FROM MASTERUSUARIO

WHERE USER = ${user}

Esta devuelve los datos del usuario que halla en el parametro user.

Utilizo dicho DataSource en un Query Component, en el cual le paso el valor del parametro user del dashboard al parametro user del DataSource, y recojo el resultado de la query, en un parametro del Dashboard llamado res,

cuando miro el contenido del parametro res, este esta vacio, si cambio la query que funcione con parametros numericos (tipo SELECT ${user}, y el tipo del parametro user, a tipo integer o numerico , entonces si recojo un resultado en el parametro res del dashboard.

No se lo que debo hacer mal, o si hay que configurar algo, o en Datasources  de  tipo sql over sqlJnd, no se puede usar parametros de tipo string?.

Hola Joaquim,

intenta poner comillas para delimitar el parámetro.

De esta forma:

SELECT *

FROM MASTERUSUARIO

WHERE USER = '${user}'

A ver si así te funciona.

Hola Edu.

Tampoco funciona, en el post anterior me habia olvidado poner las comillas en el parametro de la SELECT, lo que mas intrigado me tiene, es que en los DataSource de tipo MDX si me funcionan los parametros de tipo String, aun mas de hecho en algun que otro dashboard contruyo sentencias MDX enteras, las paso por parametro al DataSource, y este ni pestañea.

No se de donde puede venir el problema, no creo que sea una mala instalacion, ya que siempre he usado el instalador que tienen ellos para instalar las CTOOLS.

Hola Joaquim,

y me imagino que habrás actualizado la caché de cda verdad?

 

Ahora mismo no estoy seguro de si este tipo de consultas "sql over sqlJnd" aparecen en la consola de cda.

Con sonsola de cda me refiero al fichero que se genera automáticamente con el nombre del cuadro de mando, pero con extensión cda. Si ejecutas este fichero, se muestra una pantalla donde se listan las consultas de datos definidas en el cuadro de mando, con sus parámetros correspondientes. Puedes meter valores para estos parámetros y comprobar el funcionamiento y resultados de la query.

Echa un ojo a ver si te aparecen. Si es así, mete el parámetro y a ver si te da resultados.

 

Seguimos hablando.

Hola Edu,

Problema solucionado, si a la sentencia SQL le quito las comillas del parametro este funciona, supongo que debe ser por que al ser un parametro string el DataSource sobre entiende las comillas.

SELECT *

FROM MASTERUSUARIO

WHERE USER = '${user}'

No funciona.

SELECT *

FROM MASTERUSUARIO

WHERE USER = ${user}

Si funciona.

Gracias por tu ayuda Edu.

Perfecto Joaquim,

Un truco más que hemos descubierto de Pentaho.

Hola, perdón por revivir el tema. Si en tu caso tuvieras varios usuarios y en tu filtro quisieras la opción para poder consultarlos todos, en este caso, que te devolviera la consulta SELECT * FROM MASTERUSUARIO sin el where? Hay forma de enviar parte de la consulta SQL o la consulta completa como parámetro? Lo he podido hacer con MDX pero me interesa mucho hacerlo con SQL.

Responder a debate

RSS

Distintivo

Cargando…

© 2021   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio