Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola, a ver si alguien me puede ayudar en un problema que arrastro desde hace unos días.
Recojo los datos de proyectos de 2 sitios: Base de datos y Excel. ( Unidos por código ).
Los Proyectos de Excel tienen su código ( 1002 ), fase ( PROYECTO/DIRECCION ), instalación ( -GAS; -AGUA,... ), Horas_TEORICAS ( 150 )....
Los Proyectos de B.D tienen su código ( 1002 ), fase_BD ( PROYECTO/DIRECCION ), instalaciónBD ( -GAS; -AGUA,... ), Horas_Reales( 150 )....
Del excel el jefe de proyecto rellena las horas que cree que van a hacer los empleados ( Horas_TEORICAS) y en B.D se almacenan las horas reales que se han hecho.
Represento en una gráfica las horas teóricas y reales dependiendo de la instalación:
Dimensión: fase
Expresiones: 1- Sum(Horas_TEORICAS)
2- Sum(Horas_Reales)
Que son 2 barras una al lado de la otra para poder comparar entre las horas teóricas y las reales.
El problema es que como instalación y instalación_BD no están unidos por su nombre, al representarlo en la gráfica si pongo instalación me salen las Horas_TEORICAS y si pongo instalación_BD las Horas_Reales, pero nunca salen las 2.
Ya que las 2 tablas están unidas por código, pensé en unirlas también por fase y instalación, para que entienda que en las 2 tablas son lo mismo, pero al hacerlo me salen referencias circulares porque hay más conexiones con otras tablas.
Necesito ayuda, ya que este problema me perseguirá.
Un saludo y gracias.
Hola Juan,
fase y fase_BD contienen la misma info por codigo o es diferente? Lo mismo para instalación e instalaciónBD?
Jay
Hola,
Deberían de tener la misma información, pero no, porque se crean al meter horas teóricas al principio, al realizar un proyecto, pero las horas reales hasta que no se desarrolla el proyecto no estarán.
Y puede que se pongan horas teóricas en alguna instalación concreta y luego no se hagan esas horas realmente para dicha instalación, ya que puede que no hagan falta.
Puede que haya proyectos que se presupuestan y se ponen horas teóricas, pero no al final no se realizan.
Un saludo y gracias Jay.
Hola Juan,
Hice una prueba con datos similares y creo que la mejor opcion es si buscas como unir los campos fase con faseBD, e intalacion con instalacionBD, porque a mi me funciono. Te mando una imagen para que veas. Lo hice con LOAD INLINE usando:
BD:
LOAD * INLINE [
código, fase, instalación, Horas_reales
1002, PROYECTO, GAS, 175
1003, PROYECTO, AGUA, 225
1004, DIRECCION , GAS, 150
1005, PROYECTO, AGUA, 200
1006, DIRECCION , GAS, 250
];
EXCEL:
LOAD * INLINE [
código, fase, instalación, Horas_TEORICAS
1002, PROYECTO, GAS, 220
1003, PROYECTO, AGUA, 200
1004, DIRECCION , GAS, 170
1005, PROYECTO, AGUA, 200,
1006, DIRECCION , GAS, 250,
1007, DIRECCION , GAS, 250,
1008, DIRECCION , GAS, 250
];
Creo que deberias dar mas detalles acerca de como estas conexiones a los campos fases o instalaciones estan afectandote, y a partir de alli buscamos una solucion.
Espero esto sea de ayuda,
Saludos!
Jay
Muchas gracias, pero veo imposible poder unirlas, ya que tengo un diagrama muy grande y podría afectar a muchas tablas. Si alguien sabe cómo puedo unirlas de otra forma? sin que salgan referencias circulares?
Podría poner alguna condición en la gráfica de si fase es igual a fase_BD que muestre las 2 barras?
Un saludo y gracias.
Chequea estos enlaces que te pueden ayudar a evitar referencia circulares:
http://community.qlik.com/blogs/qlikviewdesignblog/2013/06/25/circular-references
http://community.qlik.com/message/361360#361360
http://community.qlik.com/message/281635#281635
Saludos!
Jay
Hola Juan,
Creo que podrías probar a crear una tabla nueva para el gráfico, que sea la unión de esas 2 que comentas. Como ya tienes cargadas esas 2 tablas puedes utilizar “Resident” para traerte los datos que te interesan.
Para evitar las referencias circulares, calificas la tabla con “Qualify”, de esta forma los campos pasan a estar calificados (TablaNew.nombre del campo)
Ej.:
Qualify *;
Unqualify código;
TablaNew:
LOAD
Codigo,
Fase,
Instalación,
HorasTeoricas
resident Tabla_excel;
left Join(TablaNew)
LOAD
Codigo,
Fase_BD as TablaNew.Fase,
Instalación_BD as TablaNew.Instalación,
HorasReales as TablaNew.HorasReales
resident Tabla_BD;
Unqualify *;
Un saludo,