Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola como estan, quisiera saber si alguien me puede ayudar en explicarme como hago para relacion tablas en qlikview, se que hay campos primarios en ambas tablas y pues ambos son lo mismo solo que en diferente base de datos.
gracias por su ayuda.
Hola,
Efectivamente no hay claves primarias como tales en QlikView. La forma de relacionar dos tablas es que ambas compartan un campo con el mismo nombre. Por ejemplo, una tabla "Facturas" con los campos "Codigo factura" y "Codigo Cliente" y una tabla "Clientes" con los campos "Codigo Cliente" y "Nombre Cliente" se relacionarán automáticamente por el código de cliente.
Los nombres de campos y valores son sensibles a mayúsculas: "CODIGO" no es lo mismo que "Codigo"
Un saludo.
Ok entiendo, pero digamos que hay ambos campos en las bases de datos uno se llama codigo y el otro se llama codigo articulo, qlikview no las relaciona porque no se lleman de la misma forma, para que qlikview las relacion tengo que renombrarlas? y si es asi como hago para cambiar el nombre?
gracias
Hola eroldan009
Al momento de hacer la carga de tu información tu tienes el poder de armar la estructura de tus tablas como desees.
Como te comentaba Miguel, solo requieres que tus tablas compartan un campo en común y con eso será suficiente para que tengan una liga entre ellas.
Al momento de estar realizando el Load puedes cambiar el nombre de tus campos.
En la tabla OITM cambia el valor de tu campo ItemCode por ITEM_NUMBER
OITM:
Load ItemCode AS ITEM_NUMBER,
....
Con eso ligaras tu tabla OITM.
Oye esa imagen la tomaste directamente del Table Viewer de QlikView?
Esa relación entre las tablas debió generarte una tabla mas llamada $Syn1.
Saludos!
Si la imagen es del visor de tablas de QV, ahora otra pregunta ese comando va de ultimo en el scrip?
Tengo otra duda al este campo, que pasa con lo demas campos de la tabla oitm quedan viculados para poder hacer filtros?
Hola,
Veo aquí varias cosas.
En primer lugar, estás relacionando tablas por múltiples campos. En sí mismo no debería ser un error pero podría serlo. Es decir, por ejemplo, Si ya tienes un campo ITEM_ESSENTIALITY o ITEM_DESCRIPTION en la tabla DETAILAGING, ¿realmente necesitas cargarlo de nuevo en la tabla ITEMNO_MST? Yo creo que no. Lo mismo con ITEM_CODE y LOCATION.
De hecho, la lógica asociativa, que es la base sobre la que QlikView funciona, dice que con relacionar una tabla con otra a través de un sólo campo, cuando esto es posible (que es la mayoría de los casos), los datos quedan automáticamente enlazados.
Para tu pregunta concreta, es muy sencillo: haz siempre un LOAD después de cada SELECT de forma que pongas un nombre a cada campo. Tal como tienes el modelo de datos, asociar la tabla OITM es muy sencillo, como han mencionado más arriba:
OITM:LOAD ItemCode AS ITEM_NUMBER, ItemName, FrgnName....;SQL SELECT ItemCode, ItemName, FrgnNumberFROM OrigenDeDatos;
De esta forma, automáticamente tu tabla enlazará con las restantes a través de un campo que ya existe en todas ellas, como es ITEM_NUMBER.
En cualquier caso, si es la primera vez que trabajas con QlikView, te recomiendo que dediques un tiempo primero a revisar cómo están construidos los ejemplos del tutorial y la documentación, ya que todo este tipo de problemas ya se explican y resuelven allí.
Un saludo.
hola, tengo 3 vistas (account, contact, account_contact) que se relacionan por account_id, contacts_id. A pesar de nombrar igual a los campos en las 3 solo relaciona account con account contact. contact no se relaciona. Alguién puede decirme cuál puede ser el motivo? A continuación muestro el script.
SQL SELECT `Accounts_Account_Name`,
`Accounts_ID`
FROM finderCRM.`vista_accounts`;
SQL SELECT `Accounts_ID`,
`Contacts_ ID`
FROM finderCRM.`vista_accounts_contacts`;
SQL SELECT `Contacts_First_Name`,
`Contacts_ID`,
`Contacts_Last_Name`
FROM finderCRM.`vista_contact`;
Miguel Angel:
muchas gracias tu explicación me ha servido a corregir muchos modelados
saludos