Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Informes automatizados

Buenas tardes,

         Quiero automatizar un informe mediante qlikview, pero tengo una duda de si se puede hacer lo siguiente. Yo crearia la tabla1, y debo cambiar las selecciones  de la misma

           Selecccion1        Tabla1  con valores1

           Seleccion2          Tabla1 con valores2

           SeleccionN           Tabla con valoresN      

           El hacer las selecciones no es el problema porque en base a disparadores se consigue facilmente, pero la cuestión es como conseguir que se vuelque la tabla con los diferentes valores en cada ocasión al informe

           ¿es esto viable o la única solución "radical" es crear N tablas e ir fijando las selecciones de esta forma?

Un saludo

4 Replies
alex_millan
Creator III
Creator III

Hola Jonay,

Es un informe generado con el editor de reportes, automatizado mediante macro o lo generas de otra forma?

fkeuroglian
Partner - Master
Partner - Master

Jonay como estas?

Lo que consultas, se puede hacer sin problemas utilzando macros en qlikview, la logica que queres aplicar seria iterar por los campos o filtros e ir generando los reportes segun selecciones automaticas, es mas te diria que no debes usar trigger sino que con macros podrias hacer las selecciones(que haces con triggers en qlik)

Te paso algunos ejemplos de macros genericas de exportacion

saludos

Fernando K.

How to create automatic PDF reports ? | Qlik Community

create a pdf and send mail automatically | Qlik Community

hector_munoz
Specialist
Specialist

Hola Jonay,

Puedes ver esta macro en la que se recorren los valores de un campo y se seleccionan para tener en cada iteración la información reducida y lista para generar el informe:

SUB PRUEBA


  ' Campo que se va a filtrar para navegar por los valores de los usuarios

  cCAMPO_USUARIOS = "NOMBRE USUARIO"

  ' Se borran las selecciones en el campo cCAMPO_USUARIOS

  ActiveDocument.Fields(cCAMPO_USUARIOS).Unlock

  ActiveDocument.Fields(cCAMPO_USUARIOS).Clear

  ' Se obtiene la lista de usuarios posibles

  SET usuarios = ActiveDocument.Fields(cCAMPO_USUARIOS).GetPossibleValues

  ' Se recorren los usuarios y se:

  '    - crea y guarda en disco su informe

  '    - envía un correo con el informe adjunto

  FOR vContador1 = 0 to usuarios.Count-1

  

    ' Se selecciona el usuario en el campo y se obtienen su ID y su correo

    ActiveDocument.Fields(cCAMPO_USUARIOS).Select usuarios.Item(vContador1).Text

    ActiveDocument.GetApplication.WaitForIdle

    id_usuario = ActiveDocument.Fields("ID USUARIO").GetPossibleValues.Item(0).Text

    ActiveDocument.GetApplication.WaitForIdle

    correo_usuario = ActiveDocument.Fields("CORREO USUARIO").GetPossibleValues.Item(0).Text

    ActiveDocument.GetApplication.WaitForIdle

   

    ' Se imprime el informe

    CALL ImprimirInforme()

    ' Esperamos a que se termine de generar y guardar el PPT

    ActiveDocument.GetApplication.WaitForIdle

    ' Se envía el correo

    CALL SendMail()

    ' Esperamos a que se termine de enviar el correo

    ActiveDocument.GetApplication.WaitForIdle

  NEXT

  ' Se borran las selecciones en el campo cCAMPO_USUARIOS

  ActiveDocument.Fields(cCAMPO_USUARIOS).Clear

END SUB

Dentro del bucle FOR tienes las llamadas a las subrutinas que crean el informe (CALL ImprimirInforme) o que lo envían por mail (CALL SendMail). Esto viene explicado muy bien en los comentarios de este hilo de los otros compañeros.

Aparte, te adjunto la API de QlikView para que investigues todo lo que se puede hacer con macros.

¡Espero que te sirva!

Saludos,

H

Anonymous
Not applicable
Author

Buenas Héctor,

    Por lo que veo en la macro que pones, generas n documentos, que envias a su vez a n usuarios (una copia a cada uno).  Yo lo que quiero hacer es generar un único documento, para ello hasta hora he usado pdfcreator, y realizar luego un único envio de correo. Es decir, para lo que necesito ahora se trataria de hacer un bucle como tú dices, pero que en vez de volcarlo a n documentos, que siempre se volcara sobre el mismo

     He estado mirando un poco por internet, pero no he llegado a ver nada asi.....No se si seria la opción de añadir una página a un pdf existente o algo que he visto de mandar a imprimir varios documentos con una cola de ficheros. Pero de momento no consigo resolver el problema.

     Para lo que me ha servido es para hacer la selección de valores de los campos desde la macro

Un saludo