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

Mapeo de tablas

Cuando utilizo el mapeo para el típico par código-descripción, se puede dar el caso de necesitar hacerlo en varias tablas de datos (fact). En este caso, lo que me ocurre es que paso de tener un campo común en dichas tablas a tener dos campos en común (al menos), lo que me lleva a la necesidad de deshacer la creación de claves sintéticas, que no tenía antes de hacer el mapping. ¿Se podría evitar esto?¿Qué opináis?. El ejemplo sería el siguiente: tengo dos o más tablas en las que aparece el campo ID_PROVEEDOR, y luego habría una tabla de correspondencia ID_PROVEEDOR - NOMBRE_PROVEEDOR. Al hacer el modelo de datos en QV, el campo ID_PROVEEDOR será compartido entre las tablas fact, pero si además hago mapeo y llevo el NOMBRE_PROVEEDOR a dichas tablas, pasaré a tener otro campo compartido, lo cual me obligará a tratar la aparición de claves sintéticas. ¿Acabo de "hacer un pan con unas tortas?

1 Solution

Accepted Solutions
salto
Specialist II
Specialist II

Ya. Pero si no haces el mapeo y mantienes una tabla con los campos ID_Proveedor y NOMBRE_Proveedor por un lado, manteniendo sólo el campo ID_proveedor en las tablas de Facts, probablemente acabemos con referencias circulares, que debemos evitar.

Si quieres eliminar las claves sintéticas a toda costa (aunque quizás en este caso no sea necesario), lo mejor es crear una tabla intermedia que tenga tres campos:

     [ID_Proveedor & Nombre_Proveedor]

     ID_Proveedor

     Nombre_Proveedor

Y en cada tabla de Facts, tener sólo [ID_Proveedor & Nombre_Proveedor] .

View solution in original post

4 Replies
salto
Specialist II
Specialist II

Si haces el mapeo, ¿necesitas conservar el campo ID_PROVEEDOR? ¿Por qué no haces un DROP de ese campo?

Not applicable
Author

Veo tu idea. Gracias. Por otra parte, sí manejo ambos escenarios, o sea, a veces me interesará conservar código y descripción. Tal vez en este escenario sí sea oportuno tratar ambos campos como claves compartidas...

salto
Specialist II
Specialist II

Ya. Pero si no haces el mapeo y mantienes una tabla con los campos ID_Proveedor y NOMBRE_Proveedor por un lado, manteniendo sólo el campo ID_proveedor en las tablas de Facts, probablemente acabemos con referencias circulares, que debemos evitar.

Si quieres eliminar las claves sintéticas a toda costa (aunque quizás en este caso no sea necesario), lo mejor es crear una tabla intermedia que tenga tres campos:

     [ID_Proveedor & Nombre_Proveedor]

     ID_Proveedor

     Nombre_Proveedor

Y en cada tabla de Facts, tener sólo [ID_Proveedor & Nombre_Proveedor] .

Not applicable
Author

Ok, Salto, muchísimas gracias.