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

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Problème macro SAS : macro qui ne fonctionne que sur de petites périodes et pas sur de longues périodes ( err
    Bonjour,

    Je déute en macro SAS. je me sens perdu car mes repères en SAS sont chamboulés.
    Je dois rendre un projet de stage dans 2 semaines et j'ai cherché depuis un mois je ne trouve toujours pas.
    Voici on problème

    J’ai une base de données avec de nombreuses variables
    Voici les variables entre autres :
    Entree_1
    Entree_2
    Entree_3
    ….
    Entree_125
    Rgl_1
    Rgl_2
    Rgl_3
    …
    Rgl_125
    Compte
    Ces variables ne contiennent que des nombres

    Je dois créer une variable Caisse

    Caisse_&k ( avec k variant de 1 à 125) doit vérifier deux variables :
    L’entrée_&j=1 avec j variant de 1 à 125
    k=r-j+1
    alors si les deux conditions sont vérifiées on a Caisse_&k=rgl_R

    J’ai fait un code.
    LE voici

    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
    %macro test( per1=, per2=)
    %do R= &per1%to & per2;
    %do k=&per1 %to &per2;
    %do j=&per1 to & per2;
     
    if (entrée_&j=1) and (&k=&r-&j+1) then do;
    caisse_&k=rgl_R;
     
    End;
     
     
    %end;
    %end;
    %end;
    %mend;
    %test (per1=1 , per2=125)
    Celui fonctionne que sur de petite période. ( C 'est à dire per1=1 , per2=10)
    Malheureusement chaque fois je le lance sur une longue période SAS me met out of memory
    Je voudrais optimiser mon code pour que ça aille mieux.
    ou trouver une solution pour engendrer toutes mes variables caisse ( caisse_1; caisse_2 ; etc... caisse_125)

    et avoir une table à la fin


    Pourriez vous m'aider s'il vous plait? merci d'avance

    Dragon_thuha

  2. #2
    Membre éprouvé
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Points : 916
    Points
    916
    Par défaut
    Bonjour !
    Tout d'abord pas de panique ! Le plus dur quand on débute c'est la syntaxe.
    Tu es sûr de vouloir faire une macro pour ça ?
    Ton code ne peut pas marcher: tu mélanges le code macro (ex: %DO et %TO) avec le code d'une étape data (ex: if then do)
    Mis à part les erreurs de syntaxe, tu fais 3 boucles %DO imbriquées de 1 à 125 soit 125*125*125= 1 953 125 itérations ...

    Peux tu montrer un extrait de ta table en entrée avec les variables que tu dois utiliser et le résultat que tu dois obtenir ?

    Bon courage,
    Steel
    Avant de poser votre question, n'oubliez pas :
    FAQ, SAS DOC et de ce forum

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    merci pour tes conseils je vais les appliquer

Discussions similaires

  1. [XL-2003] Macro qui ne fonctionne que si j'insère un point d'arrêt
    Par nashifr dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 19/03/2014, 18h57
  2. Macro EXCEL - Boucle qui ne fonctionne pas
    Par babouchka01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/10/2011, 11h24
  3. [Macro] Chargement macro SAS
    Par stefsas dans le forum Macro
    Réponses: 2
    Dernier message: 30/07/2008, 14h17
  4. [Macro] Erreur macro sas
    Par bibette dans le forum Macro
    Réponses: 2
    Dernier message: 07/07/2008, 22h04
  5. Réponses: 6
    Dernier message: 04/09/2007, 00h11

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