Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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];
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.
Buenos días Rodrigo:
Necesitas cargar los valores del campo ComplejoTablero, por ejemplo como se indica más abajo (los de CostoObra los puedes añadir después a través de un cuadro de entrada).
INPUTFIELD CostoObra;
LOAD * inline [ComplejoTablero, CostoObra
A,
B,
C];
Si no cargas los valores del campo ComplejoTablero no vas a poder después añadir el CostoObra.
Un saludo,
Carlos
No puede ser automatico?
Porque los Complejos estan cargados en la base de datos, y en un futuro seguro se agreguen. Por eso mi idea era que se vayan agregando solos a medida que lee un Complejo de la base de datos.
No se si se puede llamar automático, pero lo que debes hacer entonces es utilizar un "preceading load" cuando cargues los valores de la base de datos, por ejmplo
Load *,
0 as CostoObra;
SQL SELECT ComplejoTablero
from ...
No entendi lo que me quisiste explicar.
Yo tengo una consulta SQL que me trae varias columnas, dentro de ellas esta el Complejo (ComplejoTablero lo llame en el LOAD).
Lo que quiero hacer es cargar esos Complejos y poder asignarle un costo de obra a cada uno, pero esto debe ser a mano.
Lo que quiero decir es que cuando cargas el campo Complejo tienes que crear el campo CostoObra que es un campo especial, cuyos valores se van a poder modificar (un inputfield). La forma más fácil que se me ocurre es haciendo un load justo encima de la consulta sql (que en relidad significa justo después) y asignandole un valor por defecto, por ejemplo 0.
Después puedes asignar el costo a mano con un cuadro de entrada.
El tema es que el costo de obra varia de acuerdo al proyecto.
Intente agregar en el load la sentencia: 0 as CostoObra. Pero me tira error de referencia circular.
Sube si puedes el documento QlikView (mejor un ejemplo reducido) y lo miro a ver si te puedo ayudar.
En realidad el problema es que el inputfiled lo tienes que crear de alguna forma en el script. En el cuadro de tabla le puedes dar los valores pero no crearlos.
Ahi adjunte un excel con lo que me devolveria la consulta de SQL y un qvd con la tabla con los proyectos.
Lo que yo quiero es agregar un inputfield que me permita agregar el costo de obra.
Seria algo asi:
Esto devuelve la consulta SQL:
Proyecto |
---|
Proyecto 1 |
Proyecto 2 |
Proyecto 3 |
Proyecto 4 |
Y lo que quiero lograr, es agregar una columna mas en un Cuadro de Tabla, en donde ingrese los valores yo a mano, y quedaria algo asi:
Proyecto | CostoObra |
---|---|
Proyecto 1 | 1200 |
Proyecto 2 | 1300 |
Proyecto 3 | 900 |
Proyecto 4 | 1050 |
El CostoObra lo quiero agregar yo e ir modificandolo, para interactuar en otros objetos. Como calcular el costo de obra total de acuerdo a la superficie. ( =Sum(Superficie)*CostoObra )
Hola Rodrigo,
Sólo unas anotaciones sobre los campos Inputfield. Tódos los campos que definas en el script como Inputfield, los valores que se introduzcan serán particulares de cada usuario, es decir, si el mismo documento lo abren dos usuarios (dos licencias diferentes), estos verán valores diferentes. Esto es así porque se guardan en el qvw, y no retornan a la base de datos ni o cualquier otro origen de datos.
Como bien indica Carlos, el campo debe existir en el script y contener valores aunque estén inicializados a mano (a 0, en blanco a nulo, etc.)
El/los campo/s elegido/s como Inputfield debe/n ser único/s, puesto que de lo contrario, QV lo utilizará como clave para unir varias tablas.
Realmente estos campos Inputfield son dinámicos, depende de cuantos registros se lean después de la recarga. Si lo tienes en una tabla Inline, siempre tendrá los mismos registros, pero si utilizas un campo de una consulta, variará según los registros que devuelva la consulta.
Un saludo y espero haberte aclarado un poco más.