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

Débutez Discussion :

Création de plusieurs tables dans une étape DATA


Sujet :

Débutez

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 38
    Points : 42
    Points
    42
    Par défaut Création de plusieurs tables dans une étape DATA
    Re-Bonjour,

    je cherche à créér à partir d'une table de nombreuses autres tables dans une boucle.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Data a;
     do i=1 to 100;
    if x(i)>y(i) then output Rea x(i); /* En gros ce que je veux faire c'est que si la condition est vérifiée je crée une table qui s'apelle Rea1980 si x(i)=1980*/
    Je n'ai aucune idée de comment faire une telle chose , pourriez vous m'aider s'il vous plait?
    Merci d'avance.
    Bonne journée.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Tu dois connaitre à l'avance toutes les tables que tu vas créer pour les mettre dans "DATA"

    X

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Ok, merci pour votre réponse mais y a t 'il une solution alors pour créer plusieurs tables dans une boucle à partir d'une table d'origine?
    Merci d'avance

  4. #4
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Bonsoir,

    -> Rechercher toutes les valeurs possibles et créer une variable (proc sql select distinct mavariable into :listevar separated by " ").

    -> data &listevar;

  5. #5
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Bonsoir

    Citation Envoyé par xav2229 Voir le message
    Tu dois connaitre à l'avance toutes les tables que tu vas créer pour les mettre dans "DATA"
    X
    On peut contourner le problème de la déclaration à priori des tables via une table de hashage (cf le dernier paragraphe du papier "Le hash expliqué à ma fille" d'O Decourt http://www.od-datamining.com/index.htm).

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    ha oui bonne idée!

  7. #7
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello;
    difficile de donner un exemple sur mesure vu le peu d'éliment que tu nous a fourni, donc je te propose un lien et un petit programme macro.

    http://www.sascommunity.org/wiki/Spl...a_into_Subsets
    le lien ci-dessus contient plusieurs méthodes qui semblent traiter ta problématique, on y trouve aussi la méthode Hachage "reprit" par Olivier dans son Exemple.

    Programme :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    data exemple;
      do i=1 to 20000;
        x=rannor(1);
          output;
      end;
    run;
     
     
    %let max=5000;
     
     
    proc sql noprint;
      select count(1) into :nb_lignes from exemple;
    quit; 
     
     
    %macro split_data;
        %let tab=%sysfunc(ceil((&nb_lignes/&max)));
          %do i=1 %to &tab;
            data table_&i;
              set exemple;
            if (&i-1)*&max+1<=_n_<=&i*&max;
            run;
          %end;
    %mend ;
     
     
    %split_data;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DATA] Plusieurs like dans une étape DATA
    Par alers dans le forum SAS Base
    Réponses: 1
    Dernier message: 02/12/2014, 15h55
  2. Groupement de plusieurs tables dans une seule
    Par kemiolek dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/06/2008, 17h27
  3. Copie de colonnes de plusieures tables dans une autre table
    Par PPLILH2008 dans le forum Modélisation
    Réponses: 3
    Dernier message: 04/06/2008, 15h09
  4. Réponses: 1
    Dernier message: 30/05/2008, 14h52
  5. plusieurs tables dans une seule table
    Par scully2501 dans le forum Access
    Réponses: 1
    Dernier message: 10/10/2005, 09h19

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