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

Claves sintéticas afectan el cálculo?

Hola a todos.

 

Por favor, una consulta, estoy cargando un gran volumen de datos desde SAP, al punto de que debí dividir el tablero en dos, xq no carga la data en una sola. El asunto es que mientras está cargando la data me genera estas claves sintéticas que es la primera vez que veo y no sé que funcion tienen y tampoco sé si puedo trabajar mis visualizaciones con ellas.

Me podrán indicar en que afectan a los tableros y si puedo trabajar con ellas??

 

 

 

 

1 Solution

Accepted Solutions
rubenmarin

Las claves sintéticas indican relaciones entre tablas por más de 1 campo.

En mi opinión un modelo bien formado no debería tener claves sintéticas, se podría permitir si hablamos de una tabla que usa 2 campos para relacionarse con otra, pero eso sería una única clave sintética simple y, aunque yo no la dejaría, la verdad es que el modelo puede funcionar igual. Pero si te crea tantas claves, que seguramente también te creará una o varias tablas intermedias para relacionar distintas claves sintéticas sí que puede dar problema y desde luego es un síntoma de que el modelo se debe mejorar.

Por otra parte, si al cargar los datos divides los mismos en dos pero al final llegan todos al mismo documento no ganas nada, de hecho el rendimiento debería ser peor que si está todo en una misma tabla. Elimina campos innecesarios para reducir datos, también puedes agruparlos para reducir el nº de registros.

Algo básico de QlikView es que las relaciones se hacen por campos con el mismo nombre, así que si no quieres que dos campos con el mismo nombre se relacionen debes renombrar uno de ellos.

Otra función muy útil es Concatenate, que te permite unir varias tablas en una, es muy común tener una tabla central de hechos para evitar esas claves sintéticas.

https://help.qlik.com/es-ES/sense/November2019/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPref...

https://help.qlik.com/es-ES/sense/November2019/Subsystems/Hub/Content/Sense_Hub/Scripting/synthetic-...

https://community.qlik.com/t5/QlikView-App-Development/Ayuda-con-claves-sinteticas/m-p/551222

https://community.qlik.com/t5/Qlik-Sense-App-Development/Evitar-clave-sint%C3%A9tica/td-p/1578004

Saludos.

View solution in original post

4 Replies
rubenmarin

Las claves sintéticas indican relaciones entre tablas por más de 1 campo.

En mi opinión un modelo bien formado no debería tener claves sintéticas, se podría permitir si hablamos de una tabla que usa 2 campos para relacionarse con otra, pero eso sería una única clave sintética simple y, aunque yo no la dejaría, la verdad es que el modelo puede funcionar igual. Pero si te crea tantas claves, que seguramente también te creará una o varias tablas intermedias para relacionar distintas claves sintéticas sí que puede dar problema y desde luego es un síntoma de que el modelo se debe mejorar.

Por otra parte, si al cargar los datos divides los mismos en dos pero al final llegan todos al mismo documento no ganas nada, de hecho el rendimiento debería ser peor que si está todo en una misma tabla. Elimina campos innecesarios para reducir datos, también puedes agruparlos para reducir el nº de registros.

Algo básico de QlikView es que las relaciones se hacen por campos con el mismo nombre, así que si no quieres que dos campos con el mismo nombre se relacionen debes renombrar uno de ellos.

Otra función muy útil es Concatenate, que te permite unir varias tablas en una, es muy común tener una tabla central de hechos para evitar esas claves sintéticas.

https://help.qlik.com/es-ES/sense/November2019/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPref...

https://help.qlik.com/es-ES/sense/November2019/Subsystems/Hub/Content/Sense_Hub/Scripting/synthetic-...

https://community.qlik.com/t5/QlikView-App-Development/Ayuda-con-claves-sinteticas/m-p/551222

https://community.qlik.com/t5/Qlik-Sense-App-Development/Evitar-clave-sint%C3%A9tica/td-p/1578004

Saludos.

sonicarm22
Contributor III
Contributor III
Author

Muy agradecida. 

Si, puedo entender totalmente la situación y ahora sé de donde viene. Efectivamente, se están usando las tablas mas de una vez en este tablero. Y eso está mal, lo que ocurre es que hubo la necesidad de "unificar" varios tableros en uno y eso está haciendo que sea demasiada información y además repetida.

La idea es que esto pudiese presentarse en un mashup, pero es un tema que aún no domino.

 

Muchísimas gracias x su respuesta.

sonicarm22
Contributor III
Contributor III
Author

Estimado, buenas tardes.

Una consulta:

Una clave sintética se genera cuando el campo se repite dentro de la misma sección o cuando se repite en las distintas secciones del Script?

Renombrar las variables me ocasionó que no pueda ahora leer algunos datos, muy a pesar de que ya los modifiqué también en las variables, en los elementos maestros y en las fórmulas. Conoces la causa de esto? Por favor.

Gracias por la colaboración.  

rubenmarin

Buenas, una clave sintética se crea cuando la relación entre dos tablas es por más de 1 campo, da igual la sección en la que se hayan creado, todo depende del modelo final, una vez se ha cargado todo el script.

No sabría decir qué te puede ocasionar que no puedas leer algún campo, si el campo existe en el modelo se debe poder leer, difícil saberlo sin ver la app ni el modelo de datos, ni la expresión que estás tratando de usar.

Por tu post original, donde había más de 20 claves sintéticas y varias de ellas con muchos campos puedo entender que a tu modelo habría que aplicarle muchos cambios para dejarlo correctamente, principalmente juntar los hechos en una tabla central usando concatenate y de ahí sacar las tablas de dimensiones.

Esto sería más sencillo de explicar viendo el modelo, aunque me da la impresión que de tienes demasiadas tablas para que sea sencillo de explicar.

Saludos.