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

Macro Discussion :

Créer un chemin dynamique sous Guide Entreprise 5.1


Sujet :

Macro

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 138
    Points
    138
    Par défaut Créer un chemin dynamique sous Guide Entreprise 5.1
    Bonjour à tous,

    Je suis bloqué et j'ai pensé à vous, mon problème est surement du à la fonction %SUBSTR mais j'arrive pas à comprendre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    * On choisit un répertoire de travail à executer à chaque ouverture de programme;
    %LET LONGUEUR = %EVAL( %LENGTH(&_CLIENTPROJECTPATH.) - %LENGTH(&_CLIENTPROJECTNAME.) - 1);
    %PUT La longueur est de &LONGUEUR. ;
    %LET CHEMIN = %SUBSTR(&_CLIENTPROJECTPATH.,1,&LONGUEUR.) ;
    %PUT Le chemin du répertoire racine est &CHEMIN. ;
    Journal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    * On choisit un répertoire de travail à executer à chaque ouverture de programme;
    16         %LET LONGUEUR = %EVAL( %LENGTH(&_CLIENTPROJECTPATH.) - %LENGTH(&_CLIENTPROJECTNAME.) - 1);
    17         %PUT La longueur est de &LONGUEUR. ;
    La longueur est de 44
    18         %LET CHEMIN = %SUBSTR(&_CLIENTPROJECTPATH.,1,&LONGUEUR.) ;
    19         %PUT Le chemin du répertoire racine est &CHEMIN. ;
    20
    Si quelqu'un a une idée sur le sujet.

    Merci à tous

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 138
    Points
    138
    Par défaut
    Si on enlève la longueur de la chaine à récupérer on obtient bien le CHEMIN.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    * On choisit un répertoire de travail à executer à chaque ouverture de programme;
    %LET LONGUEUR = %EVAL( %LENGTH(&_CLIENTPROJECTPATH.) - %LENGTH(&_CLIENTPROJECTNAME.) - 1);
    %PUT La longueur est de &LONGUEUR. ;
    %LET CHEMIN = %SUBSTR(&_CLIENTPROJECTPATH.,1) ;
    %PUT Le chemin du répertoire racine est &CHEMIN. ;
    Journal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    * On choisit un répertoire de travail à executer à chaque ouverture de programme;
    16         %LET LONGUEUR = %EVAL( %LENGTH(&_CLIENTPROJECTPATH.) - %LENGTH(&_CLIENTPROJECTNAME.) - 1);
    17         %PUT La longueur est de &LONGUEUR. ;
    La longueur est de 44
    18         %LET CHEMIN = %SUBSTR(&_CLIENTPROJECTPATH.,1) ;
    19         %PUT Le chemin du répertoire racine est &CHEMIN. ;
    Le chemin du répertoire racine est 'C:\Users\toto\Documents\PROJET_20141125.egp'
    Donc c'est la longueur qui pose problème visiblement mais je ne sais pas pourquoi.

    Help, merci

  3. #3
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    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 624
    Points : 3 402
    Points
    3 402
    Par défaut
    Hello,
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    %LET LONGUEUR = %eval(%EVAL( %LENGTH(&_CLIENTPROJECTPATH.) - %eval(%LENGTH(&_CLIENTPROJECTNAME.)) - 1));
     
    %LET CHEMIN = %SUBSTR(&_CLIENTPROJECTPATH.,1,&LONGUEUR.) ;
     
    %PUT Le chemin du répertoire racine est &CHEMIN. ;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  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
    Bonjour,

    1/ Utilise %QSUBSTR au lieu de %SUBST
    2/ Les macros variables automatiques _CLIENTPROJECTPATH et _CLIENTPROJECTPATH ont leur valeurs entre côtes, attention au résultat ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    %LET LONGUEUR = %EVAL( %LENGTH(&_CLIENTPROJECTPATH.) - %LENGTH(&_CLIENTPROJECTNAME.) - 1);
    %PUT La longueur est de &LONGUEUR ;
    %LET CHEMIN = %QSUBSTR(&_CLIENTPROJECTPATH.,1,&LONGUEUR) ;
    %PUT Le chemin du répertoire racine est &CHEMIN ;
    Bon courage !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 138
    Points
    138
    Par défaut
    Merci ça fonctionne, je n'avait pas penser aux quotes.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/07/2014, 16h34
  2. librairie sous SAS ENTREPRISE GUIDE
    Par id301077 dans le forum Outils BI
    Réponses: 11
    Dernier message: 16/10/2009, 11h23
  3. rapport sous SAS Entreprise GUIDE
    Par id301077 dans le forum Outils BI
    Réponses: 5
    Dernier message: 06/04/2009, 18h35
  4. Réponses: 3
    Dernier message: 09/10/2007, 15h24
  5. Créer un champ unique sous Entreprise Manager
    Par Kokito dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2004, 10h54

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