|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 9 ![]() |
Bonjour à vous,
j'essaie de trouver dans une table qui regroupe l'ensemble des appels faits dans l'entreprise, les gens qui ont "rappelé" la même journée ou le lendemain. J'ai donc pris un dataset des appels, que je merge avec lui même en changeant les noms des champs date pour pouvoir ensuite les comparer. Le dataset a la forme suivait : #Client DateAppel HeureAppel. En faisant un merge par le #client, j'avais espoir, que pour une personne qui a appelé 2 fois , le dataset de résultats contienne 4 lignes mais malheureusement la première ligne se match a la 1ere et la 2e à la 2e, mais pas le croisé ... Est ce que je rate un argument dans mon merge pour faire le merge croisé ou bien il faut obligatoirement que je passe par un "proc sql" pour avoir ce résultat ? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Bonjour, pas sur de bien comprendre ton probleme, pd'une amniere generale le merge va associer des colonnes (contrairement au set qui va associer des lignes) par rapport a ta cle. As tu par ailleurs verifie l'unicite de ta cle et trie tes donnees? Normalement tu dois pouvoir faire la meme chose dans une etape data que dans une proc sql (hormis produit cartesien).
Peux tu nous faire parvenir ton code (si ce qui est mit au dessus ne resout pas ton probleme) |
|
|
10
|
|
|
#3 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Hello,
je n'ai pas bien compris non plus. Peut être un exemple de données en entrée et le résultat souhaité nous aidera à réflichir avec toi. |
|
|
10
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : août 2008 Messages : 9 ![]() |
ok j'avoue , on sent que c'est lundi matin ici
Code :
NUM_PDO = 123 ID_Appel1 = 999 ID_Date1 = 20110603 id_Heure1 = 101009 NUM_PDO = 123 ID_Appel1 = 1002 ID_Date1= 20110624 id_Heure1 = 1501018 et appel_juin2 NUM_PDO = 123 ID_Appel2 = 999 ID_Date2 = 20110603 id_Heure2 = 101009 NUM_PDO = 123 ID_Appel2 = 1002 ID_Date2= 20110624 id_Heure2 = 1501018 NUM_PDO = 123 ID_Appel2 = 1105 ID_Date2= 20110631 id_Heure2 = 060005 Je m'attendais a une table de résultat avec 6 lignes mais je n'en ai que 2 ... la troisième occurence dans appel_juin2 disparaissant complètement. *croise les doigts pour que ce soit un peu plus clair maintenant* |
||
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Inscription : avril 2009 Messages : 537 ![]() |
Pour cela il faudrait que le merge fasse un produit cartesien et il ne le fait pas ce sacripant
![]() donc switch pour du SQL |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 9 ![]() |
ouais ouais ouais ... Note mentale = pas de produit cartésien avec un merge .. ça me fait un peu peur sur les programmes que j'ai fait dans le passé !
Merci beaucoup pour la confirmation |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com