Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je souhaiterai créer la 3ème colonne de ce tableau sous Qlik Sense (dans le script de chargement si possible) :
J'ai une colonne "Date envoie colis" et seconde colonne "Date livraison colis".
Ex: Si l'article a été envoyé le 03/09/2018 et que la livraison de ce colis a été effectuée le 05/09/2018 alors Ok mais si l'article est livré deux jours après, alors "Pb reception'".
Sachant que les samedis et dimanches il n'y a pas de livraisons, donc les livraisons ont lieu que les jours ouvrés.
Ce que je souhaite écrire dans mon script est le code suivant:
Si "date livraison colis" > "Date envoie colis"+2 alors pb livraison sinon "Ok" mais je ne sais pas comment dire dans mon code qu'il ne faut prendre que les jours ouvrés.
Merci d'avance
Cela donne donc :
If ( Networkday("Date livraison","Date reception" ) >= 2,"Pb reception", "OK") as [Etat de la livraison]
A tester, car les dates "Date livraison" et "Date réception" sont incluses dans le calcul de différence.
En espérant t'avoir aidée,
Marina
Bonjour Juliana,
Tu peux utiliser la fonction networkdays()
Avec cela tu devrais y arriver
Regards,
Marina
Bonjour Juliana;Pour la solution:Dans le script, tu écrirais la ligne suivante:
If (( - )<='2', 'OK',''Probleme livraison') as Statut_livraison,
NB: ( - ) => délai de livraison.Restant disponible.
Envoyé depuis mon smartphone Samsung Galaxy.
Bonjour Guy,
Merci pour ta réponse.
Je ne comprends pas pourquoi au niveau du script tu mets "<='2'
Si je comprends bien dans le code que je souhaite donnerai qqlch du genre :
if( (networkday(date envoie) - networkday(date reception)<=2, "OK" , "Pb reception') ) as "STATUT LIVRAISON"
Cependant je ne comprends pas cette deuxième partie du code :
NB: ( - ) => délai de livraison.Restant disponible.
Bonjour Marina,
Merci pour ton retour.
Si je comprends bien la fonction "NETWORKDAY", le code que je souhaite dans le script donnerai quelque chose de ce genre :
If ( ("Date reception" > Networkday("Date livraison)+2),"Pb reception", "OK") ?
Juliana,
As-tu pris le temps d'ouvrir le lien ?
"La fonction networkdays renvoie le nombre de jours ouvrables (du lundi au vendredi) compris entre les valeurs start_dateet end_date (incluses)"
Il faut donc que tu utilises tes dates "Date envoi" et "Date réception" pour calculer le nombre de jours ouvrés qu'il y en entre ces deux dates.
Si ce nombre est > à 2, alors tu affiches "Pb reception".
à toi de jouer
Regards,
Marina
Oui j'ai ouvert le lien que vous avez transmis mais effectivement je n'avais pas compris le fonctionnement de la fonction de ce sens.
Merci pour l’éclaircissement
Bo jour Juliana,Je mets '2' parce que quand je regarde ton fichier, c'est au de La de deux jour qu'il y a problème. C'est a dire, le délai normal de livraison d'un colis est de deux jours.Mais ce chiffre est soumis à ton appréciation. Si tu estime que c'est 3 jours le délai, alors tu peux mettre 3.On peut aussi remplacer le chiffre 2 par une variable.
Restant disponible
Envoyé depuis mon smartphone Samsung Galaxy.
Cela donne donc :
If ( Networkday("Date livraison","Date reception" ) >= 2,"Pb reception", "OK") as [Etat de la livraison]
A tester, car les dates "Date livraison" et "Date réception" sont incluses dans le calcul de différence.
En espérant t'avoir aidée,
Marina
Après réflexion j'avais compris l'emploi du chiffre 2
En tout cas merci pour votre aide !