IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAS Base Discussion :

Selection d'observations dans table


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 43
    Points : 14
    Points
    14
    Par défaut Selection d'observations dans table
    bonjour,

    Sur mon fichier j'aimerai selectionner que les études qui portent uniquement sur la comparaison de médicaments.
    j'ai une ligne par bras de comparaison et donc j'ai plusieurs lignes pour une même étude.
    J'airerai faire en sorte de ne garder que les études ou j'ai Médicaments dans tous les bras

    voici un exemple de ma table

    clé primaire Clé étrangère(identification étude) Bras
    1 A médicament
    2 A dispositif médical
    3 A médicament
    4 B médicament
    5 , B médicament
    6 C médicament
    7 D dispositif médical
    8 D dispositif médical

    Je voudrais donc avoir une table que avec les 2 lignes de l'étude B et la ligne de l'étude C

    Merci par avance pour votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mars 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 48
    Points : 63
    Points
    63
    Par défaut
    Bonjour,
    Si j'ai bien compris voilà le cade.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Proc sql noprint; 
    Create ManouvelleTable as 
    Select * from Matable where CleEtrangereBras in ('B médicament', 'C médicament'); 
    quit;
    Bon courage.
    N'oubliez pas de cliquer sur résolu si votre problème est résolu .

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 43
    Points : 14
    Points
    14
    Par défaut
    bonjour,

    merci pour la commande mais ca ne fonctionne pas

    voici ma commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    proc sql noprint;
    create analyze.interventions2 as
    select * from analyze.interventions1 where NCT_ID Intervention-Type in 'Drug');
    quit;
     
    voici que ce me dit SAS
     
    22   proc sql noprint;
    23   create interventions2 as
                --------------
                22
                76
    ERROR 22-322: Syntax error, expecting one of the following: TABLE, VIEW.
     
    ERROR 76-322: Syntax error, statement will be ignored.
     
    24   select * from interventions1 where NCT_ID Intervention-Type in ('Drug');
    25   quit;
    j'ai essayé en mettant le nom complet du fichier (analyze.intervention1 et analyse.intervention2), j'ai le même message.



    De plus je ne comprends pas, dans la commande je ne peux pas lister tous mes numéros de clés étrangeres (A, B, C....)


    La table d'exemple est mal ressortie a l'envoi. je la mets en PJ


    En gros je ne veux garder que les essais cliniques (NCT_ID) que ne testent que des médicaments (1 seul médicament testé ou plusieurs médicaments comparés entre-eux dans le meme essai clinique (pas de tests de médicaments versus autre choses) donc selon lexemple de la piece jointe il me faudrait toutes les lignes correspondantes aux NCT_ID= NCT02646163, NCT02646189 et NCT02646267, soit 7 lignes.

    Merci par avance



    CT6.pdfCT6.pdf

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mars 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 48
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Tout d'abord dans mon code il y a une petite. Il manque "Table" dans ma requête. C'est ce que la log log dit d'ailleurs.

    Ensuite dans ta requête, tu mets une filtre sur deux colonnes "NCT_ID" et "INTERVENTION_TYPE" avec une seule condition. ça doit être (Condition1 = "Drug" and Condition2 = "Drug" ). De plus tu as mal orthographié "INTERVENTION_TYPE". Donc Cela ne pouvait pas marchait de toute façon.

    Voilà ce que je te propose pour extraire exactement les 7 lignes que tu souhaites en se basant sur la table mise en PJ.
    Espérant que cette fois-ci ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Proc sql noprint; 
    Create Table analyze.interventions2 as 
    Select * from analyze.interventions1 where NCT_IDin in ('NCT02646163', 'NCT02646189', 'NCT02646267'); 
    quit;
    Bon couage.
    N'oubliez pas de cliquer sur résolu si votre problème est résolu .

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 43
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Merci pour votre retour. Le problème je pense dans ce que vous me proposez c'est qu'il faut que je spécifie les NCT_ID que je veux sélectionner ce qui revient à faire un trie manuel. J'ai environ 1500 études à trier. Est ce qu'il existerait une méthode plus automatique ?

    Merci par avance

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Dataminer
    Inscrit en
    Septembre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Dataminer
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 29
    Points : 38
    Points
    38
    Par défaut
    J'ai une méthode qui vaut ce qu'elle vaut, m'enfin si tu as rien d'autre ...

    Je procède en deux étapes :
    - identification des études qui n'ont pas que "médicament" en bras
    - exclusion de ces études de la table d'origine

    Si on considère que toto est le nom de ta table d'origine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    proc sql;
    	create table table_1 as
    	select distinct cle_etra 
    	from toto
    	where bras not like "médicament";
    	create table table_finale as
    	select *
    	from toto
    	where cle_etra not in
    	(
    		select cle_etra from table_1
    	);
    quit;
    On obtient donc trois observations dans la table finale, qui sont deux observations de la table B et une observation de la table C.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 43
    Points : 14
    Points
    14
    Par défaut
    bonjour,

    un grand merci! Ca fonctionne .

Discussions similaires

  1. Requete select distinct mail dans deux tables
    Par calitom dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/06/2008, 15h07
  2. Selection des données dans une table
    Par Bouanda dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/02/2008, 12h48
  3. [SQL] Selection code inexistant dans une autre table
    Par Benj2007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/08/2007, 13h25
  4. Selection d'enreg dans 5 tables liées
    Par CharleLéo dans le forum Access
    Réponses: 6
    Dernier message: 21/12/2006, 14h36
  5. Réponses: 4
    Dernier message: 08/06/2006, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo