Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
rodri_morales
Creator II
Creator II

Inputfield

Buen dia usuarios de qlikview, tengo que dar solucion a un tema que no encuentro como resolverlo. Tengo en la base de datos diferentes proyectos inmobiliarios y necesito hacer calculos con costos de obra y de terreno (los costos de obra van variando). Mi jefe decidio de agregar el los costos, entonces puede modificarlos y actualizarlos. Pense hacer un imputfield con un load inline, el tema es creo un cuadro de tabla, agrego los proyectos, pero no me deja agregar costos de obra. En el script tengo lo siguiente:

INPUTFIELD CostoObra;

LOAD * inline [ComplejoTablero, CostoObra];

20 Replies
etendero
Partner - Creator
Partner - Creator

Hola de nuevo Rodrigo,

Te paso el ejemplo que has mandado con el campo Inputfield configurado correctamente en el script.

En la tabla en diseño, he añadido unos valores manualmente para que los veas.

Un saludo.

cfz
Former Employee
Former Employee

Hola Rodrigo y Emilio:
Simplemente queria hecer una pequeña puntualización. Los valores que se introducen en un inputfield son independientes del usuario y se guardan en el documento QlikView (en el fichero .qvw). Si otro usuario abre el documento con otra licencia los valores de los inputfields se conservan.

Sin embargo si el documento se pone en un QlikView Server y se abre por ejemplo através de la opción Abrir en servidor  o el cliente Web es entonces cuando los valores del inputfield son específicos para cada usuario. En este caso los valores se guardan en un un .Shared file.

Un saludo,

Carlos

rodri_morales
Creator II
Creator II
Author

Muchisimas gracias!

Funciona muy bien, el unico inconveniente es que el Proyecto esta relacionado con las ventas, entonces me trae un proyecto por cada venta realizada, lo que me duplica las filas y me repite varias veces el mismo proyecto, tengo que ver como solucionar eso.

EDIT: existe la posibilidad de agrupar para que me muestre una vez el proyecto y no una vez por cada venta?

Les paso un ejemplo de como se muestra actualmente.

imagen.png

soniacoprosa
Creator
Creator

Hola Rodrigo,

Una forma de solucionarlo sería agrupando por proyecto en otra tabla en el script.

Saludos,

etendero
Partner - Creator
Partner - Creator

Hola,

Una de las peculiaridades de los Inputfields es que, aunque contenga valores iguales y por lo tanto se repitan los registros en la tabla, QlikView los va a mostrar todos, porque interpreta los Inputfields siempre como valores distintos. Este motivo provoca que QlikView no te filtre/agrupe por defecto los registros repetidos en la tabla, y tengas que agruparlo manualmente en el script como bien comenta Sonia, incluso en la propia carga de la tabla donde están los proyectos, para que te muestre únicamente los registros diferentes.

Un saludo.

rodri_morales
Creator II
Creator II
Author

La agrupacion tiene que hacerse en la consulta SQL o existe una forma de agrupar en el script de qlikview?

etendero
Partner - Creator
Partner - Creator

Puedes hacerlo tanto en la consulta SQL como en el script. QlikView también tiene la clausula "Group By" en la sentencia Load (me imagino que no te estaré contando nada nuevo).

Si necesitas una mayor aclaración, necesitaría conocer más sobre tu origen de datos.

Saludos.

rodri_morales
Creator II
Creator II
Author

No conocia de la existencia de la clausula ''Group By'' en QlikView, tendre que investigar.

No puedo utilizar la clausula Group By en la sentencia SQL ya que necesito el detalle tambien, por lo que no puedo agrupar.

soniacoprosa
Creator
Creator

Hola Rodrigo,

En el script del QV podrías utilizar los datos del detalle que imagino guardas en una tabla y luego cargar otra agrupándolos y usando Resident para obtener lo que necesitas.

Ej:

// Tabla detalle

Tabla1:

Load

     Complejotablero,

     Proyecto,

     0 as CostoObra

From ....... ;

// Agrupando por el campo "Proyecto"  los datos de la tabla anterior

Tabla2:

Load

     Proyecto as Proyecto2,

     Sum(CostoObra) as CostoObra2

Resident Tabla1

Group By Proyecto;

Un saludo,

rodri_morales
Creator II
Creator II
Author

Hice la agrupacion y funciona bien. Agregue un imputfield que es el Costo de Obra, pero al agregar un valor, me afecta a todos los proyectos y no al que yo le cargue el valor solamente.

Tengo hecha esta carga:

INPUTFIELD CostoObraVenta;

INPUTFIELD CostoTerrenoVenta;

Ventas:

LOAD Complejo as ComplejoVenta,

0 as CostoObraVenta,

0 as CostoTerrenoVenta,

Superficie as SuperficieVenta...

SQL SELECT ... ;

Y abajo agregue esto:

INPUTFIELD CostoObraVenta2;

INPUTFIELD CostoTerrenoVenta2;

Ventas2:

LOAD ComplejoVenta as ComplejoVenta,

0 as CostoObraVenta2,

0 as CostoTerrenoVenta2

Resident Ventas

group by ComplejoVenta;

Lo que trato de hacer es que los Complejos sean los mismos, que en Ventas2 se me agrupen, pero que cuando cargue un costo de obra o de terreno, me multiplique solamente a ese complejo y no a todos.