Hitachi Vantara Pentaho Community Forums
Results 1 to 19 of 19

Thread: Parámetros en informes

  1. #1

    Question Parámetros en informes

    Hola a todos. Voy a exponer mi problema, a ver si alguien puede ayudarme o aconsejarme sobre como hacerlo.

    Estoy haciendo pruebas con una base de datos PostgreSQL, en concreto con una tabla que contiene datos personales (nombre, apellidos, etc). Puedo conectarme perfectamente a la base de datos desde el portal, etc.

    El problema es que me gustar

  2. #2
    Join Date
    Sep 2007
    Posts
    834

    Default parametros para reportes

    Mario,
    He hecho reportes con parametros. Todo lo armo en el xaction, ya sea pidiendo la informacion en listas desplegables, combos o programando en javascript.
    Si me explicas un poco a que te refieres con "una lista generada dinamicamente" quizas te pueda ayudar mejor

    suerte,

  3. #3

    Default

    Hola Mar

  4. #4
    Join Date
    Sep 2007
    Posts
    834

    Default como acceder a la base

    Si, se entiende perfecto. Asi es como deberias hacer:

    La lista la puedes construir con un "Process Actions: Relational".
    Ahi pones los datos de conexion a la base, escribes el query que te trae la lista de personas (Ej: SELECT ID, NOMBRE FROM PERSONA), le pones un nombre ("Result Set Name") y completas los datos de las columnas del query ("Result Set Columns")
    Luego armas un "Prompt/Secure Filter" para pedir al usuario la seleccion de la persona. Los datos que debes completar son:
    - Prompt Style: list, pulldown, etc.
    - Source of Choices: eliges el nombre del result set
    - Column Containing Choice Values: eliges el nombre de la columna del query que quieres pasar como parametro al reporte (por ej el ID)
    Column Containing Choice Names: eliges el nombre de la columna del query que quieres que se visualicen en la lista (ej NOMBRE)

    Luego para usar el dato elegido como parametro del query que alimenta al reporte, hay que ponerlo dentro del query de esta manera {PREPARE:ID} (suponiendo que el dato se llama ID)
    Si en cambio el dato lo necesitas como parametro del reporte, lo debes poner en la lista "Report Parameters" del "Process Action: Pentaho Report".

    Espero que esto resuelva tus dudas.
    Suerte!

  5. #5

    Default

    Muchas gracias por contestar tan rápido. Seguro que me sirve, voy a probarlo ahora mismo.

    Gracias!

    Mario.

  6. #6

    Unhappy Error

    Hola. Acabo de probar la solución con los pasos de Mar�*a (perfectamente explicados, por cierto), pero a la hora de ejecutar el informe obtengo el siguiente error:

    Code:
    [es_161] Error: RuntimeContext.ERROR_0018 - [es_39] The requested parameter nombre could not be fulfilled (org.pentaho.core.runtime.RuntimeContext)
    [es_161] Error: RuntimeContext.ERROR_0013 - [es_29] Parameters could not be resolved (org.pentaho.core.runtime.RuntimeContext)
    Creo que he seguido todos los pasos correctamente, pero lo explico por si sirve de algo:
    • He utilizado la conexión a la base de datos que ya estaba creada por defecto en el .xaction.
    • Sobre esta conexión, he realizado la consulta "SELECT nombre FROM datos_personales". He llamado "resultado" al result-set, y en las columnas del result-set he añadido "nombre" de tipo String.
    • He añadido a la query de la que obtiene los datos el informe la l�*nea "WHERE "datos_personales"."nombre"={PREPARE:nombre}", para utilizar el parámetro nombre.
    • En Prompt/Secure Filter, he añadido nombre en el campo "Prompt for". Como "Source of choices" he elegido "resultado" y como "Column containing choice values" y "Column containing choice names" he añadido "nombre" en ambos.
    Creo que los pasos son correctos. Las únicas dudas que tengo es si el nombre de la columna del result-set debe coincidir con el de la columna de la base de datos. Tampoco sé si es necesario añadir algún Process Input.

    Gracias y perdón por el mensaje tan largo.

    Mario.

  7. #7

    Cool Solucionado!!

    Acabo de solucionar el problema. Efectivamente, hab

  8. #8
    Join Date
    Sep 2007
    Posts
    834

    Default bien!

    me alegro que haya funcionado,
    cualquier duda estamos hablando
    slds,

  9. #9
    Join Date
    Jan 2008
    Posts
    5

    Default Parametros no se ejecutan

    Hola,

    Estoy en el paso de creación de parametros en los reports y al seguir todos los pasos que comentais me aparece el siguiente error:

    [es_161] Error: SQLBaseComponent.ERROR_0007 - [es_258] Connection to data source is not valid (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_21] Starting execute of //prueba 2.xaction (org.pentaho.core.solution.SolutionEngine)
    [es_116] Debug: [es_30] Getting runtime context and data (org.pentaho.core.solution.SolutionEngine)
    [es_116] Debug: [es_33] Loading action sequence definition file (org.pentaho.core.solution.SolutionEngine)
    [es_116] Debug: SolutionRepository.DEBUG_FILE_PATH - [es_35] getFile path=C:\pentaho\bi-server\pentaho-solutions\prueba 2.xaction (org.pentaho.repository.filebased.solution.SolutionRepository)
    [es_116] Debug: [es_23] Adding variable source request to parameter fullname (org.pentaho.repository.filebased.solution.SolutionRepository)
    [es_116] Debug: [es_17] Adding default value of "" to parameter fullname (org.pentaho.repository.filebased.solution.SolutionRepository)
    [es_116] Debug: [es_34] audit: instanceId=34601f1b-c9aa-11dc-b0c8-4b5c2ac3d029, objectId=org.pentaho.core.runtime.RuntimeContext, messageType=action_sequence_start (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_1] validateComponent validating component SecureFilterComponent (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action prueba 2.xaction (org.pentaho.plugin.core.SecureFilterComponent)
    [es_116] Debug: [es_1] validateComponent validating component SQLLookupRule (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action prueba 2.xaction (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_1] validateComponent validating component JFreeReportComponent (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action prueba 2.xaction (org.pentaho.plugin.jfreereport.JFreeReportComponent)
    [es_116] Debug: [es_75] Validating component for action prueba 2.xaction (org.pentaho.plugin.jfreereport.components.JFreeReportValidateParametersComponent)
    [es_116] Debug: [es_42] Executing action sequence (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_24] Executing action definition: Iteration 0 (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=34601f1b-c9aa-11dc-b0c8-4b5c2ac3d029, objectId=SecureFilterComponent, messageType=component_execution_started (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_3] execute pre-audit (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_21] Setting component log level to DEBUG (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_11] Initializing component (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_4] executeComponent starting audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: SolutionRepository.DEBUG_FILE_PATH - [es_35] getFile path=C:\pentaho\bi-server\pentaho-solutions (org.pentaho.repository.filebased.solution.SolutionRepository)
    [es_116] Debug: [es_94] execute validation=true (org.pentaho.plugin.core.SecureFilterComponent)
    [es_116] Debug: [es_15] executeComponent finished audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_19] execute post-audit (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=34601f1b-c9aa-11dc-b0c8-4b5c2ac3d029, objectId=SecureFilterComponent, messageType=component_execution_ended (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=34601f1b-c9aa-11dc-b0c8-4b5c2ac3d029, objectId=SQLLookupRule, messageType=component_execution_started (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_3] execute pre-audit (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_21] Setting component log level to DEBUG (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_11] Initializing component (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_4] executeComponent starting audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: SolutionRepository.DEBUG_FILE_PATH - [es_35] getFile path=C:\pentaho\bi-server\pentaho-solutions (org.pentaho.repository.filebased.solution.SolutionRepository)
    [es_116] Debug: [es_94] execute validation=true (org.pentaho.plugin.sql.SQLLookupRule)
    [es_14] Error: ConnectFactory.ERROR_0001 - [es_1] Database connection could not be established to: MondrianFoodMart - javax.naming.NameNotFoundException: MondrianFoodMart not bound (org.pentaho.plugin.sql.SQLLookupRule)
    [es_161] Error: SQLBaseComponent.ERROR_0007 - [es_258] Connection to data source is not valid (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_15] executeComponent finished audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_161] Error: RuntimeContext.ERROR_0012 - [es_33] ActionDefinition for SQLLookupRule did not execute successfully (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=34601f1b-c9aa-11dc-b0c8-4b5c2ac3d029, objectId=org.pentaho.core.runtime.RuntimeContext, messageType=action_sequence_failed (org.pentaho.core.runtime.RuntimeContext)
    [es_161] Error: SolutionEngine.ERROR_0007 - [es_27] Action sequence execution failed (org.pentaho.core.solution.SolutionEngine)


    He seguido todos vuestros pasos per al ejecutar los parametros me aparece este error:
    ¿Sabeis como se soluciona?

    Muchas gracias!

    Saludos

  10. #10

    Default

    Hola.

    Ese error se debe a que no tienes definida correctamente la conexión con tu base de datos.

    Si estás utilizando JNDI, comprueba que tienes correctamente definidos los parámetros de conexión en el archivo server.xml del servidor.

    Si estás utilizando JDBC, comprueba lo mismo, pero en la definición del archivo .xaction.

    Espero que te ayude.

    Saludos.

  11. #11
    Join Date
    Mar 2008
    Posts
    7

    Default

    Hola Mario,
    Querria incluir unos parametros en mis reportes pero no encuentro en la wiki la documentacion que haga referencia a esto. Como en tu post dices que ha visto algo sobre esto me podrias facilitar el link, o decirme como encontrarla??

    Gracias y un saludo
    Nuria

  12. #12

    Default

    Hola,
    Creo que hay algo que se me escapa o no entiendo.
    Siguiendo los pasos que indicáis y que también aparecen en el wiki (son idénticos), en mi caso cuando intento seleccionar el "Source Of Choices" en el "Secure Filter Description", sólo me aparecen los inputs de tipo List, property-map-list y result-set, pero nunca el "Result Set Name" incluido en "Relational" de las "Process Actions".
    Es decir, siguiendo los pasos indicado, al generar el Prompt/Secure Filter, nunca me deja seleccionar en "Source Of Choices" el result set indicado el paso anterior de generación de la acción "Relational".
    ¿Podrían indicarme qué puedo estar haciendo mal o si me falta algún detalle?
    Gracias por adelantado,
    David

  13. #13
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    Si no entiendo mal, lo estás armando al revés.

    La idea es que el Secure Filter te cargue el valor de un parámetro en una variable, que luego usarás en el "Relational". El Secure Filter viene antes...

  14. #14

    Question Ayuda con parametros

    Hola a todos... Estoy tratando de pasar un parámetro en un Process Action:Relational.

    He seguido todos los pasos que estan en el foro pero me da el siguiente error:

    [es_161] Error: RuntimeContext.ERROR_0012 - [es_33] ActionDefinition for SQLLookupRule did not execute successfully (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_21] Starting execute of samples/senres/sueldos.xaction (org.pentaho.core.solution.SolutionEngine)
    [es_116] Debug: [es_30] Getting runtime context and data (org.pentaho.core.solution.SolutionEngine)
    [es_116] Debug: [es_33] Loading action sequence definition file (org.pentaho.core.solution.SolutionEngine)
    [es_116] Debug: [es_23] Adding variable source request to parameter p_institucion (com.pentaho.repository.dbbased.solution.SolutionRepository)
    [es_116] Debug: [es_17] Adding default value of "" to parameter p_institucion (com.pentaho.repository.dbbased.solution.SolutionRepository)
    [es_116] Debug: [es_23] Adding variable source request to parameter p_regimen (com.pentaho.repository.dbbased.solution.SolutionRepository)
    [es_116] Debug: [es_17] Adding default value of "" to parameter p_regimen (com.pentaho.repository.dbbased.solution.SolutionRepository)
    [es_116] Debug: [es_23] Adding variable source request to parameter outputType (com.pentaho.repository.dbbased.solution.SolutionRepository)
    [es_116] Debug: [es_17] Adding default value of "pdf" to parameter outputType (com.pentaho.repository.dbbased.solution.SolutionRepository)
    [es_116] Debug: [es_34] audit: instanceId=15f031e3-2057-11de-9fb2-3df380da7509, objectId=org.pentaho.core.runtime.RuntimeContext, messageType=action_sequence_start (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_1] validateComponent validating component SQLLookupRule (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action sueldos.xaction (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_1] validateComponent validating component SQLLookupRule (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action sueldos.xaction (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_1] validateComponent validating component SecureFilterComponent (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action sueldos.xaction (org.pentaho.plugin.core.SecureFilterComponent)
    [es_116] Debug: [es_1] validateComponent validating component BIRTReportComponent (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_75] Validating component for action sueldos.xaction (org.pentaho.plugin.eclipsebirt.BIRTReportComponent)
    [es_116] Debug: [es_42] Executing action sequence (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_24] Executing action definition: Iteration 0 (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=15f031e3-2057-11de-9fb2-3df380da7509, objectId=SQLLookupRule, messageType=component_execution_started (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_3] execute pre-audit (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_21] Setting component log level to DEBUG (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_11] Initializing component (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_4] executeComponent starting audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_94] execute validation=true (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: Ejecutando consulta - select i.ins_codigo as codigo, i.ins_nombre as nombre from sch_senres_olap.d_instituciones i (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: Executing query with timeout value of [0] (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_15] executeComponent finished audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_19] execute post-audit (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=15f031e3-2057-11de-9fb2-3df380da7509, objectId=SQLLookupRule, messageType=component_execution_ended (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=15f031e3-2057-11de-9fb2-3df380da7509, objectId=SQLLookupRule, messageType=component_execution_started (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_3] execute pre-audit (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_21] Setting component log level to DEBUG (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_11] Initializing component (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_4] executeComponent starting audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_94] execute validation=true (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: Ejecutando consulta - select distinct rp.rgp_codigo, rp.rgp_regimen from sch_senres_olap.d_reg_personal rp where rp.rgp_inst_id=? (org.pentaho.plugin.sql.SQLLookupRule)
    [es_14] Error: SQLBaseComponent.ERROR_0006 - [es_122] Could not execute sueldos.xaction - org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint = character varying (org.pentaho.plugin.sql.SQLLookupRule)
    [es_116] Debug: [es_15] executeComponent finished audited execute (org.pentaho.core.runtime.RuntimeContext)
    [es_161] Error: RuntimeContext.ERROR_0012 - [es_33] ActionDefinition for SQLLookupRule did not execute successfully (org.pentaho.core.runtime.RuntimeContext)
    [es_116] Debug: [es_34] audit: instanceId=15f031e3-2057-11de-9fb2-3df380da7509, objectId=org.pentaho.core.runtime.RuntimeContext, messageType=action_sequence_failed (org.pentaho.core.runtime.RuntimeContext)
    [es_161] Error: SolutionEngine.ERROR_0007 - [es_27] Action sequence execution failed (org.pentaho.core.solution.SolutionEngine)


    Por favor si me pueden ayudar les agradecería mucho..
    sueldos.xaction

    Adjunto mi .xaction..

  15. #15
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    Aquí está la línea donde te dice cual es el error:

    Code:
    [es_14] Error: SQLBaseComponent.ERROR_0006 - [es_122] Could not execute sueldos.xaction - org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint = character varying (org.pentaho.plugin.sql.SQLLookupRule)
    El problema es en la consulta al Postgres, porque estás intentando comparar un bigint con un character varying. Supongo entonces que será esta consulta la que falla:

    Code:
    select distinct rp.rgp_codigo, rp.rgp_regimen
    from sch_senres_olap.d_reg_personal rp 
    where rp.rgp_inst_id={PREPARE:p_institucion}
    Imagino que rgp_inst_id es un bigint y el parámetro p_institucion viene como varchar.

    Para solucionarlo vas a tener que convertir a alguno de los dos campos al tipo de datos del otro.

    ¡Saludos!

  16. #16

    Thumbs up Funciono...

    Muchas gracias por la rápida respuesta..

    Si eso mismo era... le hice un cast a ese campo y funciono perfecto...

    Gracias por la ayuda...

    Saludos

    Carolina

  17. #17

    Question Aun co problemas

    Disculpen tantas preguntas.. pero ya funciono la primera parte del reporte..
    Lo que quiero es que mi reporte se pueda filtrar por "institucion" y segun la institucion que haya escogido en el segundo filtro solo aparezcan los "regimen de personal" para esa institucion...

    Es por eso que le estoy pasando en el segundo "process action relacional" el parametro p_institucion..

    Al momento de correr el reporte me aparecen los filtros el de "Instituciones" funciona bien pero al momento de escoger el "Regimen" no me presenta ninguna informacion...

    Talvez tengo que utilizar algun otro paso???

    Gracias por la ayuda...

  18. #18
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    Hay un ejemplo de lo que querés hacer en la instalación preconfigurada de la plataforma, en "BI Developer Examples > Reporting > Dependent Parameters Example".

    Como podés ver en el directorio que contiene al ejemplo, hace falta un template html especial.

    La única forma más fácil de hacer esto sería concatenar más de un secure filter. No es muy elegante pero es más sencillo.

    ¡Saludos!

  19. #19

    Default

    hola,

    a q t refieres con concatenar mas de un secure filter, puedes mandar un ejemplo??

    gracias
    un saludo

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.