Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
J'ai (encore!) besoin de vos conseils
J'ai plusieurs tableaux excel que j'importe sous QV qui ont un format de ce type :
Numéro de commande | Date de récéption commande | Nom-prénom | date d'envoi CV |
1 | 23/03/2018 | Poire | 01/04/2018 |
2 | 30/01/2018 | Pommes | 02/02/2018 |
2 | 30/01/2018 | Cerise | 04/02/2018 |
3 | 31/01/2018 | Fraise | 07/02/2018 |
1 | 23/03/2018 | Citron | 05/04/2018 |
J'aimerais calculer le délai en jour entre la date de réception et la date d'envoi du tout premier CV. Par exemple sur mon tableau ce serait la ligne de Poire, puis celles de Pommes et enfin Fraise.
Je ne trouve pas comment prendre en compte seulement la date la plus ancienne dans ma colonne date d'envoi CV. J'ai pensé à un Set analysis mais je ne trouve pas....
D'avance merci pour votre aide !
Céline
Bonjour,
Il faut que tu procèdes ainsi :
- Charger le fichier dans une table temporaire.
- Charger les données de cette table temporaire dans une seconde table en ajoutant une colonne avec le min de la date d'envoi du CV.
- Calculer le délai et supprimer éventuellement la date d'envoi du CV la plus ancienne..
Bonjour Laurent,
Donc si je comprends bien (je suis encore un peu novice....)
Dans mon script je crée une table ou je charge mes données
Ensuite je créer une seconde table ou je mets une notion de minimum sur la date d'envoi du CV
Et après dans une expression je calcul le délais ou je le fais directement dans le script ?
Je dois supprimer les tables temporaires ?
(j'avoue c'est un peu flou pour moi )
Bonjour Céline,
Pour compléter la réponse de Laurent et te donner un exemple de script dans ton cas :
// Chargement de la table d'origine (à modifier dans ton cas)
CSV:
LOAD * Inline [
Numéro de Commande, Date de réception commande, Nom Prénom,Date d'envoi CV
1, 23/03/2018, Poire, 01/04/2018
2, 30/01/2018, Pommes, 02/02/2018
2, 30/01/2018, Cerise, 04/02/2018
3, 31/01/2018, Fraise, 07/02/2018
1, 23/03/2018, Citron, 05/04/2018
];
// Réduction de la table au niveau de la commande en gardant seulement la date d'envoi CV la plus basse (GROUP BY)
TEMP:
LOAD "Numéro de Commande",
"Date de réception commande",
Min("Date d'envoi CV") as "Date d'envoi CV"
Resident CSV
Group By "Numéro de Commande",
"Date de réception commande";
// Calcul du délai entre les deux dates
FINAL:
LOAD "Numéro de Commande",
"Date de réception commande",
"Date d'envoi CV",
"Date d'envoi CV" - "Date de réception commande" as Délai
Resident TEMP;
// On ramène dans la table le Nom Prénom grâce à deux champs clés : Numéro de Commande et Date d'envoi CV
left join(FINAL)
LOAD "Numéro de Commande",
"Date d'envoi CV",
"Nom Prénom"
Resident CSV;
Drop tables CSV, TEMP; // Suppression des tables inutiles
Le résultat :
Bonjour Christophe ,
J'y suis presque !
Lorsque je recharge mes données, il me note cette anomalie (alors que j'ai l'impression qu'il me fait bien le calcul car j'ai des données qui s'affichent et qui ont l'air à priori correcte):
Voici mon script :
//Création table CSV
CSV :
LOAD [Référence commande],
[Nature de la commande],
[Région],
Agence,
[Date de la communication de la demande],
[Nom Prénom],
[Date envoi
(auprès du client)] ,
FROM
[xxxx.xlsx]
(ooxml, embedded labels, table is [3-Profils transmis ]);
// Réduction de la table au niveau de la commande en gardant seulement la date d'envoi CV la plus basse (GROUP BY)
TEMP:
LOAD [Référence commande],
[Région],
[Date de la communication de la demande],
Min([[Date envoi
(auprès du client)]) as [Date d'envoi]
Resident CSV
Group By [Référence commande],
[Région],
[Date de la communication de la demande];
// Calcul du délai entre les deux dates
FINAL:
LOAD [Référence commande],
[Région],
[Date de la communication de la demande],
[Date d'envoi],
[Date d'envoi]- [[Date de la communication de la demande] as [Délai]
Resident TEMP;
// On ramène dans la table le Nom Prénom grâce à deux champs clés : Numéro de Commande et Date d'envoi CV
left join(FINAL)
LOAD [Référence commande],
[Région],
[Délai],
[Nom Prénom]
Resident CSV;
Drop tables CSV, TEMP; // Suppression des tables inutiles
D'avace merci beaucoup !
Il faut juste enlever le Délai dans le left join final et ça devrait être bon
ça fonctionne !!!!
Merci beaucoup à vous deux!
Bonjour Céline.
Maintenant que ça fonctionne, il faut mettre la question en mode "résolue". ;o)
effectivement j'ai un peu oublié cette étape , merci du rappel !