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 30/06/2011, 16h38   #1
Membre habitué
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 211
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 211
Points : 133
Points : 133
Par défaut utilité de _LAST_= system option?

Bonjour,

je viens de voir qu'il existe une option _LAST_=
La description de cette option est la suivante:
Citation:
By default, SAS automatically keeps track of the most recently created SAS data set. Use the _LAST_= system option to override the default.

_LAST_= is not allowed with data set options.
Je me demandais quelle pouvait être l'utilité d'une telle option?
Quelqu'un voit-il un cas où l'usage de cette option est pertinente?

Merci pour vos réponses
L0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 17h04   #2
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
exemple: tu crees un jeu de donnees par une etape data. Puis tu fais une proc sort, sans preciser le data=. Il utilisera le dataset que tu viens de creer dans l'etape data.

Pertinence du _LAST_? Rien n'est moins sur. Autant eviter les malentendus et toujours preciser le jeu de donnees sur lequel on travaille, je pense.
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/06/2011, 18h12   #3
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

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

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
hello,
je rejoins manoutz sur cette remarque, le mieux est de renseigner la table sur laquelle on veut faire les traitements.
toute fois si tu veux travailler avec le même nom de la table et que t'as besoin de versionning t'as l'option genmax=n où n est le nombre de version.
mais cette idée de _last_ me fait penser au sql; quand on travail sur un grand nombre de variables avec des nom tordu. on utilise le positionnement des variables comme dans cet exemple.

Code :
1
2
3
4
5
6
 
 
proc sql;
CREATE TABLE test AS SELECT 
age, sex,name FROM sashelp.class ORDER BY  2,1,3;
quit;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 07h35   #4
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Salut.
Je plusse sur l'idée qu'omettre le nom de la table sur laquelle on travaille c'est prendre un risque et embrouiller un relecteur potentiel du programme.
Je ne m'étais jamais penché sur cette option, mais à te lire je me disais "ah tiens, ça peut être éventuellement un truc de fainéant si on a 3 procs de suite sur la même table". Genre
Code :
1
2
3
4
5
6
7
8
9
10
OPTION _LAST_= sashelp.class ;
PROC MEANS ;
  VAR weight height ;
RUN ;
PROC FREQ ;
  TABLE sex age ;
RUN ;
PROC REG ;
  MODEL weight = height age ;
RUN ; QUIT ;
Jusque-là, effectivement, ça fonctionne. Mais l'option est remise à jour à la fin de chaque procédure, donc si la proc MEANS génère une table, ce sera elle que FREQ utilisera.

Moralité ? Ça ne doit pas servir à grand-monde, et plutôt dans des programmes brouillons. En production, toujours mentionner le nom de la table sur laquelle on s'appuie.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 10h37   #5
Membre habitué
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 211
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 211
Points : 133
Points : 133
Merci pour vos réponses.

Effectivemment mieux vaut ne pas l'utiliser...

Je me demandais si ça pouvait avoir une utilité lorsque l'on construit/teste un programme.

Mais bon, comme je suis d'accord avec vous je ne vais probablement pas l'utiliser de si tôt.

Bonne journée à tous.
L0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h48.


 
 
 
 
Partenaires

Hébergement Web