|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2005 Messages : 39 ![]() |
Bonjour,
Je débute avec SAS et je cherche à savoir comment obtenir le nombre d'enregistrements d'une table SAS et le nombre de valeurs non nulles d'une variable. Plus précisément, je cherche à donner un identifiant unique à chaque observation. J'ai commencé par donner le numéro de l'observation comme identifiant, seulement entre temps, j'ai intercalé d'autres observations. Je voudrais leur donner comme identifiant le nombre de valeurs non nulles de la variable + 1. Est-ce une bonne solution? Y en a-t-il une meilleure? ![]() Merci pour vos réponses... |
|
|
00
|
|
|
#2 | ||||||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 284 ![]() |
Bonjour,
Peut-être les petits programmes suivants pourront t'aider : CREATION D'UN PETIT JEU DE DONNEES Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : septembre 2006 Messages : 1 973 ![]() |
Salut,
Que veux-tu exactement? Dénombrer le nombre d'observation et le nombre de valeurs manquantes ou créer un identfiant pour une table. En parlant d'identifiant sache que tu peux créer des clés contenant plusieurs variable : pour être plus claire un identifiant peux être déterminer par une, deux variables ou plus de deux variables : genre le nom, prenom, date de naissance et date du jour!! Suivant ta réponse nous pourrons orienter nos réponses. |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2005 Messages : 39 ![]() |
Dans ma table, j'ai des noms , prénoms - hashés, et autres données médicales de patiente. Certaines d'entre elles peuvent être des homonymes (même nom, même prénom et parfois même même date de naissance!). Donc ce n'est pas forcément une bonne idée de les utiliser comme identifiants.
Je veux créer un numéro unique pour chaque observation qui identifiera une et une seule patiente. Je pensais prendre le numéro de l'observation et puis si des observations s'intercalent entre temps, je voulais prendre le nombre d'observations + 1. J'ai voulu utiliser une fonction de génération de nombre pseudo-aléatoire mais il y a toujours un doublon et SAS refuse du coup - et c'est normal - de procéder à la mise en place de la clé primaire. Je suis tout à fait capable de pondre un algorithme en java qui génère un numéro unique. Mais alors avec SAS, je dois apprendre à raisonner autrement... Voilà Merci |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2006 Messages : 1 973 ![]() |
Avec le langage marco de SAS tu peux réussir à faire à peu près le même type de programmation : boucle, test if, ......, declaration de variables.
Par contre juste une question : concernant tes doublons tu suppose donc que chaque personne n'apparaît qu'une et une seule fois : il n'y a donc aucun doublons dans ta table!! En effet en ne créant un identifiant que par rapport à son numero d'observation tu ne pourra pas identifier des personnes similaires!! Une autre question : pourquoi ton numero d'observation n'est pas déjà unique (donc succeptible d'être une clé)?? |
|
|
00
|
|
|
#6 | ||
|
Membre éprouvé
![]() Inscription : octobre 2007 Messages : 442 ![]() |
J'ai peut-être raté un épisode, mais pourquoi tu n'utilises pas la variable interne _N_ pour générer tes IDs ?
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com