Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai besoin d'un coup de main pour me sortir de ce problème de boucles ... à chaque fois que je lance le rechargement j'ai un message d'erreur
Je vous expose mon projet :
Je dispose de 5 tables dont :
* 1 table 'tblAnalytic' qui récupère les données comptables (requête SQL) :
* 1 table 'tblBudget' qui récupère les données Excel du budget :
*3 tables de mapping :
Si vous pouviez me donner un coup de main ce serait formidable ...
Merci Stéphane
Salut,
Tu dois revoir ton modèle de données.
Tu as des problèmes de boucles mais aussi de clés synthétiques.
Principe de QlikView: l'association entre deux table ne doit se faire que sur un champ pour éviter les clés synthétiques.
Or dans ton modèle plusieurs de tes tables sont reliés par 2 champs (par exemple: FY,Date)
La solution:
- soit il suffit d'associer avec un seul champ, dans ce cas tu renommes le deuxième champ en préfixant par le nom de la table par exemple: FY as tblAnalytic.FY
- soit il faut que les deux champs soit associés pour lier les tables, dans ce cas tu créés un nouveau champs concaténant les deux autres et l'association se fera sur ce nouveau champ. Bien sûr tu renommes les deux champs d'origine sinon la jointure va se faire sur les 3 champs...
Par exemple:
dans ta table tblAnalytic:
FY&Date as KEY_FY_DATE,
FY as tblAnalytic.FY,
Date as tblAnalytic.Date
dans ta tblBudget:
FY&Date as KEY_FY_DATE,
FY as tblBudget.FY,
Date as tblBudget.Date
Concernant ton problème de boucle, repère où se trouve la boucle et coupe l'association entre deux tables là où tu le peux en renommant le champs à ne pas associer pour ne pas créer de boucle.
Merci je n'ai effectivement plus de boucles cependant lorsque je fais une sélection de mois (provenant de la table tblAnalytic), les calculs ne sont pas sur la table tblBudget
Si aucune sélection de mois, je n'ai pas de souci.
Par contre, si je sélectionne un mois précis (de la table tblAnalytic), je n'ai plus le budget ??
une idée ??
Merci encore. Votre explication m'a permis de comprendre les problèmes de boucles !
Merci
Stéphane
Tout dépend du modéle de données encore une fois.
Si l'association a été faite sur le champs mois alors ça devrait marcher mais vu le problème que vous décrivez je pense que ce n'est pas le cas justement.
Si vous souhaitez que l'association soit faite sur la date et un autre champ en commun, il faudra créer une clé avec la concaténation de ces deux champs et ensuite créer une table pivot qui va réccupérer cette clé provenant des deux table et en extraire le champ date.
Les graphe auront alors pour dimension ce champ date réccupéré à partir de la table pivot qui contiendra donc les dates provenant des deux tables
Un modèle qui ressemble à ça:
ok je comprends mais comment écrire ça dans le script :
Merci
exactement comme dans le schéma:
FY&' - '&Date as KEY_FY_Date
et subfield(KEY_FY_Date,' - ',2) as Date
Bonjour,
Je vous conseille egalement d'utiliser les fonctions QUALIFY et UNQUALIFY.
Cela aide beaucoup!
bonjour Stéphane,
toutes ce réponses sont sans doute correcte, mais quand je suis confronté à ce pb, je fais en sorte qu'une clé ne soit présente que dans 2 tables et je fabrique d'autres clés (même champ mais nom différent) pour lier à l'une de ces tables une troisième table, et ainsi de suite.
par ex dans ton cas : le champ "Date"
dans CommonCalendar : Date as @CLE_DATE_CALANA,
Date as DATE_CALENDAR,
dans TblAnalytic : Date as @CLE_DATE_CALANA,
Date as @CLE_DATE_ANABUD,
Date as DATE_ANALYTIC,
dans tblBudget : Date as @CLE_DATE_ANABUD,
Date as DATE_BUDGET,
idem pour FY entre tblAnalytic et tblBudget.
c'est assez fastidieux mais boucle par boucle tu fais le ménage.
Je conseille juste comme montré au dessus de conserver tous tes champs initiaux en les renommant (notamment pour contrôle de cohérence)
Je ne sais pas si j'ai été assez clair, et je ne sais pas non plus pour les autres tables "mapping" et "BFC" quels sont liens hiérarchiques...
Florent
ce qui revient à la proposition de sbobbyraj