Qlik Community

Groupe des Utilisateurs Francophones

cancel
Showing results for 
Search instead for 
Did you mean: 
bckaps69
Contributor
Contributor

Rapprochement

Bonjour,

Voici ma problématique.

Pour un même article, d'un côté j'ai des commandes clients :

ArticleN° CdeQtéDélai
ART-001CDE-0011015/04/18
ART-001CDE-0022031/05/18

De l'autre des ordres de fabrication :

ArticleOFQtéDélai
ART-001OF-001831/03/18
ART-001OF-0021030/04/18
ART-001OF-0031531/05/18

Mon objectif est de faire un rapprochement cde/of pour arriver au résultat suivant :

CdeOFQtéDélai
CDE-001OF-001831/03/18
CDE-001OF-002230/04/18
CDE-002OF-002830/03/18
CDE-002OF-0031231/05/18

Mais je ne sais pas comment procéder. Est-ce que quelqu'un peut m'aider ?

Merci d'avance.

1 Solution

Accepted Solutions
sfatoux72
Partner
Partner

Merci pour ce challenge

Il faut commencer par transformer chaque Commandes, Stock et Ordre de fabrication en élément unitaire. ==> Une commande de 10 articles va donner 10 lignes de 1 article.

Ce point est réalisé grâce à l'instruction : SubField(Left(Repeat('1,', Qté), (Qté*2)-1), ',')

Le point suivant nécessite de créer une clé incrémentale par article pour les Commande et une clé équivalente pour le Stock et ordre de fabrication

Ce point est réalisé grâce à l'instruction : AutoNumber(RowNo(), 'STK_'&Article)

Les commandes unitaires peuvent alors être associées au stock unitaire et ordre de fabrication unitaire.

Voir l'application ci-jointe.

J'ai ajouté un 2ème article à ton exemple, pour couvrir tous les cas. L’association est réalisée par une jointure sur les champs IdUnitaire (voir ci-dessus) et article.

community_1450840.png

Si tu n’as pas besoin du détai, tu peux effectuer un “group by” dans ton script pour ne conserver que les informations importanté. Quelque chose de similaire à ce que j’ai fait dans le tableau ”forme condensée”

View solution in original post

10 Replies
lcloatre
Partner
Partner

Bonjour Julien,

Il faut que tu créés une table de jointure entre le numéro de commande et les ordres de fabrication.

Dans l'exemple que tu donnes, je ne vois pas comment faire le lien, il  doit manquer un élément.

bckaps69
Contributor
Contributor
Author

Justement c'est cela le problème. L'affectation doit se faire "en automatique" par ordre de délai croissant.

lcloatre
Partner
Partner

En fonction des quantités ?

Tu n'avais pas tout dit ;o)

bckaps69
Contributor
Contributor
Author

Désolé 😉

Oui je dois affecter les quantités produites sur les quantités commandées.

bckaps69
Contributor
Contributor
Author

Bonjour,

Je reformule ma demande pour vous aider à mieux comprendre mon besoin.

J'ai des commandes client avec un délai de livraison :

2018-03-12_15h30_13.jpg

J'ai du stock disponible :

2018-03-12_15h31_41.jpg

Et j'ai des ordres de fabrication en cours :

2018-03-12_15h32_31.jpg

J'aimerai rapprocher ces éléments de façon chronologique en fonction des différentes dates (je considère le stock disponible à l'instant T). Le résultat serait :

2018-03-12_15h34_48.jpg

La finalité est d'obtenir une date de livraison prévisionnelle.

Merci d'avance pour votre aide.

sfatoux72
Partner
Partner

Merci pour ce challenge

Il faut commencer par transformer chaque Commandes, Stock et Ordre de fabrication en élément unitaire. ==> Une commande de 10 articles va donner 10 lignes de 1 article.

Ce point est réalisé grâce à l'instruction : SubField(Left(Repeat('1,', Qté), (Qté*2)-1), ',')

Le point suivant nécessite de créer une clé incrémentale par article pour les Commande et une clé équivalente pour le Stock et ordre de fabrication

Ce point est réalisé grâce à l'instruction : AutoNumber(RowNo(), 'STK_'&Article)

Les commandes unitaires peuvent alors être associées au stock unitaire et ordre de fabrication unitaire.

Voir l'application ci-jointe.

J'ai ajouté un 2ème article à ton exemple, pour couvrir tous les cas. L’association est réalisée par une jointure sur les champs IdUnitaire (voir ci-dessus) et article.

community_1450840.png

Si tu n’as pas besoin du détai, tu peux effectuer un “group by” dans ton script pour ne conserver que les informations importanté. Quelque chose de similaire à ce que j’ai fait dans le tableau ”forme condensée”

bckaps69
Contributor
Contributor
Author

Bonjour Sébastien,

Un grand merci pour ta solution. J'ai testé ce matin et cela fonctionne bien en réelle. J'ai juste une problématique quand il n'y a pas de stock : ça ne fonctionne pas. Dans ton exemple, pour l'article 2, si je mets la quantité en stock à 0, voila ce que j'obtiens :

2018-03-13_10h46_11.jpg

Est-ce que tu as une idée pour régler ce souci ?

Merci d'avance.

sfatoux72
Partner
Partner

‌il faut filtrer les quantité égale à zéro , que ce soit pour les Stock, les commandes ou les order de fabrication afin de ne pas générer de ligne dans ce cas , sinon ça crée des décalages comme tu peux le voir à droite sur ton print screen

sfatoux72
Partner
Partner

‌Alors ça fonctionne en filtrant les quantités à 0 ?

SI oui, merci de mettre la question comme résolue