|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() |
Bonjour à tous,
Pouvez-vous me conseiller une solution pour créer une table en SQL. J'ai un jeu de données comme ci-dessous : id;dSortie;nevements;dEvenements 1;28/02/2012;1;10/01/2012 1;28/02/2012;2;20/01/2012 1;28/02/2012;3;30/01/2012 1;28/02/2012;4;10/02/2012 1;28/02/2012;5;20/02/2012 2;15/01/2012;1;10/01/2012 2;15/01/2012;2;20/01/2012 3;31/04/2012;1;10/04/2012 3;31/04/2012;2;20/04/2012 3;31/04/2012;3;30/04/2012 3;31/04/2012;4;10/05/2012 4;31/07/2012;1;10/07/2012 4;31/07/2012;2;20/07/2012 5;31/01/2012;1;10/02/2012 5;31/01/2012;2;20/02/2012 5;31/01/2012;3;10/03/2012 5;31/01/2012;4;20/03/2012 si j'exécute le code suivant : Code :
id;dSortie;evements 1;28/02/2012;5 2;15/01/2012;2 3;31/04/2012;4 4;31/07/2012;2 5;31/01/2012;4 Maintenant, je veux le nombre d’évènements avant la date de sortie. Donc mon premier code est faux. Comment ajouter une condition à la fonction "count()" pour obtenir le résultat ci-dessous : id;dSortie;evements 1;28/02/2012;5 2;15/01/2012;1 3;31/04/2012;3 4;31/07/2012;2 5;31/01/2012;0 Merci de votre attention. |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 957 ![]() |
Bonjour,
Je n'ai pas compris, ça veut dire quoi :"je veux le nombre d’évènements avant la date de sortie"? |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
date de sortie = dSortie
évènements = nombre de ligne d'enregistrement en fait il y a des dates d'évènements (dEvenements) avant la date de sortie et après. seul les évènements avant m'intéresse le premier résultat correspond au code. le second résultat correspond au code que je cherche. |
|
|
00
|
|
|
#4 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
Hello;
j'ai modifié légérement tes données (AVRIL a 30 Jours) Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() |
merci pour le mois avril. lol
mais ton groupe by ne supprime pas les dates d'évènements après la date de sortie (dSortie) |
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() |
la fonction where supprime l'id 5 alors que j'en ai besoin
id;dsortie;evenements 1;28/02/2012;5 2;15/01/2012;1 3;30/04/2012;3 4;31/07/2012;2 j'aurais plutôt imaginé un code comme ci-dessous Code :
|
||
|
|
00
|
|
|
#7 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
Je vois;
Le code devient alors : Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() |
Merci de votre aide, le code s’exécute et le résultat est conforme.
Je voudrais pas abuser mais pouvez vous m'expliquer votre construction. Car j'ai du mal a comprendre la logique. Connaissez-vous de bonnes sources pour apprendre les syntaxe SQl sous SAS ? Merci encore. |
|
|
00
|
|
|
#9 | ||||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
une requête imbriquée;
le select case m'a servi de FLAG ( numerique ) 1 si Dsortie>dEvenements 0 si Dsortie<dEvenements j'ai fais la somme des 1, et 0 par group ( id,dsortie) de la variable CALCULéE ( calculated) et j'ai groupé par id,dsortie. Une petite correction : Code :
désolé j'ai copier vite. tu peux déssocier la requète en 2: Code :
|
||||
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() |
Ne le prenez pas mal mais j'ai modifié le code pour obtenir vraiment mon besoin. Je souhaite le partager avec vous (parce que vous m'avez vraiment aidé) et avec les membres du forum.
Voici le code : Code :
|
||
|
|
00
|
|
|
#11 | |||||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() |
Oui vous avez entièrement raison votre code répond à ma demande.
Avez-vous un peu de temps pour m'explique votre approche avec la requete au niveau du FROM car je comprends pas pourquoi on doit le faire de cette manière. Merci de votre aide. |
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Et pourquoi pas
Code :
|
||
|
|
00
|
|
|
#14 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
avec sa peut être :
Code :
|
||
|
|
00
|
|
|
#15 | ||
|
Membre du Club
![]() |
Merci olivier et sam de votre aide, je rebondis un peu tard, mais c'est pas grave.
voici les codes que j'ai réussi à faire compiler : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com