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

ODS et reporting Discussion :

Avis pour la gestion des sorties SAS : création de dossier


Sujet :

ODS et reporting

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut Avis pour la gestion des sorties SAS : création de dossier
    Bonjour, je travaille actuellement sur une MACRO SAS qui imprime plusieurs résultats tel que des histogrammes, QQ-plot, ACP, ACM, tests ect ect ect pour chacune des variables de la table que je rentre.

    Or je voulais savoir s'il était possible de créer automatiquement pour chaque variable, un dossier dans lequel on envoi chacune des sorties spécifiques à chaque variable.

    Ex: j'ai ma table avec 3 variables V1, V2 et V3, lors de l'éxécution de ma macro cette dernière créé un dossier 'traitement V1' où il sauvegarde les impressions des différents tests, graphes et histogrammes propres à V1, de même pour V2 et V3.

    Merci d'avance, je ne maîtrise pas du tout ce côté de SAS (s'il est possible en fait), concernant les sorties sous forme de table excel j'ai ce qu'il faut en guise de doc grâce à l'excellente série des gnagna "expliquées à ma fille" de O. Decourt.

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut La création de répertoires expliquée à ma fille
    Salut (et merci pour la pub).
    Tu peux utiliser la fonction DCREATE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    %LET racine=c:\temp ; /* celui-là existe déjà, sinon gare ! */
     
    %LET chemin = %SYSFUNC(DCREATE(variable v1, &racine)) ;
    /* crée le sous-répertoire "VARIABLE V1" dans le répertoire racine
       la macro-variable CHEMIN contient l'arborescence complète */
    %PUT &chemin ;
    Attention à ce que le répertoire que tu essayes de créer n'existe pas déjà (ce que tu peux vérifier avec la fonction FILEEXIST).
    Bon courage.
    Olivier

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    Merci! je vais tester dés que j'ai un moment.

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    J'ai inséré le code d'Olivier dans ma macro et ça marche, à ceci prés que je n'ai pas les droits de suppression sur le dossier créé.

    J'ai visité le site du support SAS mais on dirait qu'aucune option n'est disponible pour gérer les droits du dossier que l'on crée. Possible d'avoir une info là dessus?

    Dois-je vois avec mon administrateur réseau pour régler ce problème ou est-ce bien SAS qui part défaut met aucun droit aux fichiers créés avec DCREATE?

    En vous remerciant d'avance.

  5. #5
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Bonjour,

    Je pense que tu peux vérifier toi même les droits que tu as sur le répertoire.
    Sinon demande à l'administrateur si tu as les droits en suppression sur ton répertoire...

    Cordialement

  6. #6
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    peut être est ce également envisageable de changer les droits sous MS-DOS via la commande X. Commande éxécutée depuis sas, donc...

  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    Aprés en avoir parler avec mon administrateur réseau, étant donné que SAS est implanter dans un serveur bloqué par l'administrateur mon souci vient de là.

    Donc depuis SAS je peux supprimer mes répertoires, mais à la main non.

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    Peut-on supprimer un répetoire autrement qu'avec la syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    x 'del /home/public/test &';
    En effet ça me renvoi l'erreur suivante du coup:
    ERROR: Shell escape is not valid in this SAS session.

    Eventuellement une atteinte aux droits du serveur j'imagine...

  9. #9
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    contacte ton admin réseau

  10. #10
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Dans le même esprit que X, il y a CALL SYSTEM (dans une étape DATA). Si tu utilises Enterprise Guide, souvent X est interdit mais CALL SYSTEM autorisé.
    En pur SAS, tu as aussi la fonction FDELETE (le répertoire doit être vide).

    Et si c'est un pb de droits, comme dit Manoutz, voir avec l'administrateur du serveur.
    Bonne journée.
    Olivier

  11. #11
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    Merci Manoutz et Olivier pour vos réponses rapides!

    Je ferais un EDIT pour donner la solution qui aura résolu mon problème!

  12. #12
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    Finalement j'ai trouvé la solution à mon problème sur ce topic disponible sur le forum: http://www.developpez.net/forums/d52...fdelete-macro/

    Ca utilise le FDELETE que tu m'avais conseillé Olivier.

    L'administrateur réseau ne pouvant résoudre mon souci puisque SAS étant sur un serveur je n'ai aucun droit et comme les dossiers que je crée viennent du serveur, forcément je peux avoir les droits sur un dossier dont le nom ne change pas mais sur les autres il faudrait à chaque fois me les filer, ce qui ne sert à rien quoi.

    Pour revenir à la macro présentée sur le lien, j'aurais juste une question, dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    filename test "F:\root\work\test.txt";
    %TEST (test);
    à test j'ai un nom du genre: analyse descriptive des variables, comment je peux entrer ce type de nom de fichier dans cette syntaxe? j'ai essayé avec les guillements mais il a pas vraiment apprécié...

    En vous remerciant.


    EDIT: plus exactement voici le message d'erreur qu'il me renvoi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ERROR: Invalid logical name.
    ERROR: Error in the FILENAME statement.
    NOTE: In a call to the FEXIST routine, the fileref 'Filtre differentiel' exceeds 8 characters, and will be truncated.

  13. #13
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Citation Envoyé par joyeux_lapin13 Voir le message
    Pour revenir à la macro présentée sur le lien, j'aurais juste une question, dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    filename test "F:\root\work\test.txt";
    %TEST (test);
    à test j'ai un nom du genre: analyse descriptive des variables, comment je peux entrer ce type de nom de fichier dans cette syntaxe? j'ai essayé avec les guillements mais il a pas vraiment apprécié...
    Comme tout s'appelle "test" dans l'exemple (quelle horreur pédagogique d'ailleurs !!!), j'essaye de deviner où tu as un souci. Vu le message d'erreur, c'est a priori au niveau du FILENAME.
    Il n'y a aucune obligation que le nom logique (fileref) connu de SAS soit corrélé au nom physique (entre les guillemets du FILENAME). Donc tu peux conserver TEST tout le temps si tu veux. La seule chose qui change c'est l'adresse physique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    filename a_virer "F:\root\work\un nom avec du blabla.txt";
    %TEST (a_virer);

  14. #14
    Membre habitué
    Homme Profil pro
    Ingénieur d'études / Biostatisticien
    Inscrit en
    Décembre 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études / Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 354
    Points : 194
    Points
    194
    Par défaut
    Ok! désolé en effet j'avais fini par m'habituer à différencier l'exemple par 'test' et la macro par 'TEST' lol.

    Merco Olivier!

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 25/11/2020, 13h19
  2. [AC-2007] Création bouton pour activer gestion des tables liées
    Par ouahab dans le forum Access
    Réponses: 1
    Dernier message: 12/10/2012, 09h59
  3. Création d'une base de donnée pour la gestion des alertes
    Par Bandrax dans le forum Modélisation
    Réponses: 4
    Dernier message: 09/04/2009, 16h47
  4. quel SGBD possible pour telle gestion des droits
    Par meufeu dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 14/04/2005, 09h17
  5. Réponses: 3
    Dernier message: 04/08/2004, 19h48

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