Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola, tengo la siguiente duda:
Yo genero una tabla de datos, que tienen múltiples campos, los que me interesa de todos los campos que tiene es ID y campo1. El ID es único y luego campo1, puede tomar 2 valores o si o no.
Ahora lo que yo quiero es generar otra tabla, que cargue solo los ID, donde el campo1 sea igual a 'Si', para generar otro campo, llamesmolo campo2, es decir, en pseudocodigo
if (ID tiene campo1 = 'Si')
cargalo y pon campo2 =valor
En caso contrario ese ID no habría que cargarlo, y por tanto no habría que generarse ese campo2
Mi duda es como hacer esa carga condicionada, para que no se me carguen los ID cuando no tienen el valor de campo1 = 'Si'
¿Alguna sugerencia?
Un saludo
Hola,
Mira si esto es lo quequieres:
Tabla1:
LOAD * INLINE [
Id, Campo1, Valor
1, Si, 100
2, No, 200
3, Si, 50
4, No, 60
5, No, 80
6, No, 100
7, Si, 300
8, No, 80
];
Tabla2:
LOAD Id,
Campo1 as Campo2
Resident Tabla1
where Campo1 = 'Si';
Aunque tengo una simple pregunta:
Cuando los campos sean 'Si' les pondras un Valor2 pero si son 'No' no les pondras ningun Valor2? ni siquiera un 0 (si les pones valor2 a 0, con un simple mapping se te solucionarían todos tus problemas y no haría falta que hicieses 2 tablas)
Ya me cuentas como te ha ido....
Saludos,
Hola Jonay,
Quieres algo así?
Tabla1:
LOAD Id,
Campo1
FROM.......
Tabla2:
LOAD Id,
If(Campo1 = 'Si', Valor) as Campo2
Resident Tabla1
Lo que no sé que quieres poner en valor y porque quieres 2 tablas. Lo puedes hacer en la misma
Tabla1:
LOAD Id,
Campo1
If(Campo1 = 'Si', Valor) as Campo2
FROM.......
Saludos,
Buenas Jordi,
Quiero hacerlo así, porque la primera tabla la genero via mysql y en los if de mysql hay que poner tanto si cumple la condición como sino, es decir, tendria que tener if (campo1 = 'si', valor1,valor2) y yo no quiero tener que ponerle el valor2.
Respecto a la opción que das
Tabla2:
LOAD Id,
If(Campo1 = 'Si', Valor) as Campo2
Resident Tabla1
Esto me cargaria todos los id de tabla1, si cumple la condicion me genera campo2 con valor, pero sino cumple condición me genera campo2 con valor nulo. Yo lo que no quiero es que me genere ese campo2 con valor nulo
Porque luego yo genero otra tabla, donde pongo ese campo2 a un valor2, para los IDs que no tengan el campo1 a 'Si'
Quizás este quedando algo enrevesado la explicación.....
Un saludo
Hola,
Mira si esto es lo quequieres:
Tabla1:
LOAD * INLINE [
Id, Campo1, Valor
1, Si, 100
2, No, 200
3, Si, 50
4, No, 60
5, No, 80
6, No, 100
7, Si, 300
8, No, 80
];
Tabla2:
LOAD Id,
Campo1 as Campo2
Resident Tabla1
where Campo1 = 'Si';
Aunque tengo una simple pregunta:
Cuando los campos sean 'Si' les pondras un Valor2 pero si son 'No' no les pondras ningun Valor2? ni siquiera un 0 (si les pones valor2 a 0, con un simple mapping se te solucionarían todos tus problemas y no haría falta que hicieses 2 tablas)
Ya me cuentas como te ha ido....
Saludos,
Gracias por la respuesta, era lo que necesitaba, al final en lugar de poner campo1 as campo2 lo que hice fue darle el valor que necesitaba
Tabla2:
LOAD Id,
'valor' as Campo2
Resident Tabla1
where Campo1 = 'Si';
Desconocia la clausula where en la carga de tablas en qlikview (creo que nunca la he tenido que usar)
Un saludo
Genial!
Has pensado lo que te he dicho del mapping?