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

Table de Relation multiple vers un même Objet

Bonjour,

J'aimerais connaître le chargement optimum dans QlikView pour consulter et analyse un Catalogue d'Articles qui sont lié par diféfrentes régles d'assemblages (Nécessité, Incompatibilité, etc.)

Soit le Modèle suivant

CatalogueArticle.png
Est-il nécessaire de faire des ALIAS de Tables pour avoir les descriptions des Acticles nécessaires par exemple ?

Est-il préférable de faire une HIERARCHY pour les Articles nécessaires d'Articles nécessaires d'Arcticle par exemple ?

J'aimerais connâitre les Objets de Feuille les plus appropriés pour visualiser mon Catalogue d'Article ?

Merci pour votre disponibilité,

8 Replies
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Paul-Alexandre,

Je n'ai pas de solution toute fait à vous proposer, cependant, je vous inviterais à consulter le document Whats New in QlikView11.qvw qui devrait être installé par défaut sur votre serveur, et regarder comment ils ont procédé à la création des objets d'analyse sous l'onglet "Sales Overlap".

De fait, à l'aide de la nouvelle fonctionnalité des "Alternate States" disponible depuis la version 11 de QlikView, il y a moyen d'afficher un modèle associatif entre deux états différents touchant le même jeu de données. Dans l'exemple, les analyses présentées sous cet onglet abordent les relations entre des classes d'items vendus, lesquels sont associés via une table d'association correspondant aux factures.

Dans votre modèle, les articles sont associés via la table d'assemblage, ce qui me semble, à priori, être une approche plutôt similaire. Peut-être pourriez-vous charger votre modèle tel quel et utiliser les Alternate States et les fonctions P() ou E() dans vos expressions de Set Analysis pour arriver à vos fins?

En espérant que cela vous aide, je vous souhaite une excellente journée, cordialement,

Philippe

Not applicable
Author

Paul-Alexandre,

Même si QV est un modèle associatif, il faut quand même considérer qu'il va falloir modéliser en dimensionnel. Ce qui veut dire qu'il faut privilégier la structure en étoile :

- 1 table de mesures (ou de faits) avec quelques clefs de dimensions (de préférence des clefs entières)

- et une table pour chaque dimension  (clef, hiérarchie, libellés ....)

Tout dépend bien sûr du pourquoi de cette application ... mais quand même

Attention de nommer correctement les champs (casse comprise) car c'est ceux-ci qui sont utilisés partout dans QV. Il faut donc être capable de se repérer facilement.

La HIERARCHY ne sert à pas grand dans QV. A part une présentation dans une ListBox, il ne passera rien. Si vous voulez plus d'infos pour réaliser une hiérarchie (pas très facile) : http://community.qlik.com/docs/DOC-4823

Mieux vaut dans la table Article, mettre plusieurs champs d'attribut (Marque, Groupe de produit ....) et s'en tenir là.

Fabrice

Not applicable
Author

Merci Fabrice pour ces nouveaux éclaircissement,

Modèle associatif versus Modèle en étoile là est bien  mon interrogation

Dans mon Catalogue, on peut effectivement faire plusieurs Feuilles où chacune d’elle est centrée sur un Modèle étoile différent : L’Article et l‘Article dépendant par exemple.

J’ai effectivement utilisé un chargement de la Table Article avec ses dépendances et ses liens en Etoile, et pour naviguer sur l’Article lié j’ai rechargé la Table Article avec un Alias de Table et de champs. Ce qui donne en réalité 2 Etoiles similaires liées par leur lien d’Assemblage.

Mais comment gérer la récursivité de mon modèle : L’Article est un Assemblage d’Articles qui sont chacun un Assemblages d’Article, etc. jusqu’aux Articles élémentaires ? Sanchant qu'il existe plusieurs Types de liens d'Assemblage.

(En bref, le monde Objets composée d’Objets. Le monde Objets en relation avec d’autres Objets)

En précisant, ici qu’il ne s’agit pas de Typer chaque Objet par un qualificatif alors qu’ils sont tous de même nature : Objet initial <=> Objet lié par un Type deRelation <=> etc.

Mon besoin est donc de de naviguer d’Objet en Objet (passer d’une Etoile à une autre), en réutilisant la même Application QlikView récursivement. Comme si je déplaçais mon point de vue, mon analyse d’un Objet à l’autre : 1)  J’analyse l’Article « A » qui est en relation avec l’Article « B ». 2) J’analyse l’Article « B » qui est en Relation inversée avec l’Article « A ». ...) et ainsi de suite de point vue en point vue, d‘Article en Article, d’Objet en Objet…

@+

Not applicable
Author

Bonjour,

Est-il possible de me déplacer de part en part dans les Relations entre mes Articles ?
C.à.d. : Je sélectionne/recherche un ou plusieurs Articles dans la Table principale (ex: T_Article) ce qui me donne des Articles liés possibles (ex : T_Article_1) au travers des Relations (ex :T_AssemblingRules). Je déclenche par un bouton, une action (un script) qui sélectionne/recherche ces Articles liés possibles dans la Table principale (ici : T_Article).

Ainsi je peut me déplacer (avec l'action inverse combinée) de part et d'autre de mes Relations d’Articles en Articles liés.

Avez-vous une idée de Script ?

Cordialement,

P-A LUCK

Not applicable
Author

Paul-Alexandre,

Si T_Article et T_Article_1 sont liés, la sélection de l'un va avoir un impact sur la sélection de l'autre immédiatement. "Refaire" la sélection de T_Article en ayant déduit qch de T_Article_1 risque de faire qch de circulaire.

On peut effectivement via une action modifier la sélection d'un autre champ, spécialement s'ils ont les mêmes valeurs. J'ai trouvé qch qui marche bien. Il faut :

1) créer un bouton ou text

2) lui associer une action type Sélection / Select in Field

3) Renseigner les champs ChampCible et la syntaxe que j'ai trouvée:

  = replace( '(' & concat(DISTINCT ChampCible, '|') &')', ' ', '?')

la fonction concat est souvent employée pour obtenir des infos sur les valeurs sélectionnées. Mais là, il faut

1) l'insérer entre entre parenthèses '(' & ... & ')'

2) mettre le pipe comme séparateur

3) remplacer ce pipe par ? qui permettra lors de la recherche de remplacer par un wildchar  (c'est pour les espaces a priori)

Fabrice

Not applicable
Author

Merci ça correspond bien à mon besoin de piloter une Sélection d'un Champ à partir de la Sélection d'un autre champ.

Est-il possible avec un seul Bouton de Piloter la Sélection plusieurs Champs ?

Cordialement,

P-A LUCK

Not applicable
Author

Merci pour le script,


Si on se fie à l'Aide en ligne <<Rechercher>> l'opérateur '|' et les parentèses ne sont pas mentionné.


Merci encore pour votre disponibilité,

Not applicable
Author

Il suffit d'empiler les actions de type Sélection / Select in Field

action 1 : champ 1 / Syntaxe 1

action 2 : champ 2  / Syntaxe 2

etc.

Un bouton peut avoir une suite  d'actions de types différents ou non.

Fabrice