Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/11/2007, 03h15   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 3
Points : 0
Points : 0
Par défaut [Manip BD] Compiler du code sans l'exécuter ?

J'aimerais créer une application pour analyser du code SAS. Le problème est au niveau du code macro. Pour analyser le code du programme, il faudrait d'abord que les références macros soient exécutées.

Exemple. Pour le code :
Code :
1
2
3
4
%let annee=2007;
DATA test;
SET work.librairie_&year.;
run;
Ce qui m'intéresse, c'est:
Code :
1
2
3
DATA test;
SET work.librairie_2007;
run;
J'aimerais aussi savoir 2 autres choses :
- s'il est possible de lire un fichier texte sans l'insérer dans une table
- s'il est possible de mettre une option pour qu'un data step ne s'exécute pas, comme l'option noexec pour les requêtes SQL.
Dundee31416 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 11h31   #2
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Par rapport à ton premier probleme est ce que ton code marche?
Pour ta deuxième question pourquoi ne veux-tu pas utiliser une table pour importer tes données?
Je ne comprend pas ta dernière question!!


Citation:
Envoyé par Dundee31416 Voir le message
%let annee=2007;
data test;
set work.librairie_&year.;
run;
Tu déclare une variable annee que tu n'utilise pas après (tu utilise la variable 'year'??)!!
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 14h05   #3
Invité de passage
 
Inscription : novembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 3
Points : 0
Points : 0
Par défaut Précisions

Haha, désolé!
L'habitude de programmer en anglais a pris le dessus

Évidemment je voulais dire :
Code :
1
2
3
4
%let annee=2007;
DATA test;
SET work.librairie_&annee.;
run;
Pour la deuxième question.
Supposons que j'aie besoin de lire un fichier texte quelconque, dont j'ignore la longueur des lignes. Le problème avec l'importation dans une table c'est que je ne connais pas la longueur des lignes, et que je ne veux pas séparer ce texte en colonne puisque c'est un texte quelconque.

Pour ma dernière question, voici un exemple sql :
Code :
1
2
3
proc sql noexec;
SELECT nom, age, sexe FROM work.joueurs WHERE sexe='M';
quit;
L'option noexec fera que SAS va vérifier que la requête est valide, mais une fois cela fait, il ne l'exécutera pas.

Je veux donc savoir s'il y a un équivalent pour les data steps.
Dundee31416 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 17h05   #4
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Pour l'importation des données tu peux utiliser proc import en sélectionnant bien evidemment le bon sépartaeur de colonne (par exemple la tabulation) qui dépend de ton fichier de données initiale.
Pour la dernière question je ne peux te répondre car je n'utilise pas ce type d'options!!

Si j'ai bien compris .... pour toutes tes questions en gros tu veux tester la faisabilité des programmes sas.
Une question : si ceux-ci ne sont pas réalisables que demande-tu au logiciel de faire?
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 18h09   #5
Invité de passage
 
Inscription : novembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 3
Points : 0
Points : 0
Non, pas tester la faisabilité.
Plutôt analyser le code pour, par exemple, savoir quel tables sont utilisées, quelles macros sont utilisées, etc.
Dundee31416 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 20h18   #6
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
En gros tu veux faire de l'administration de tables et de macro sous sas pour connaître les besoins des utilisateurs?
Si c'est le cas je ne vais pour ma part pas vraiment pouvoir t'aider car je m'en sert uniquement pour faire des analyses stats et de la manipulation sur les données!

Ma version ne comprend pas toutes les options disponible et illimitées de SAS pour faire ce genre de manip.

Quels modules utilises-tu?
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h08.


 
 
 
 
Partenaires

Hébergement Web