Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Historiser des données

Envoyé par Aline 
Ce forum est en lecture seule. C'est une situation temporaire. Réessayez plus tard.
Historiser des données
08 février 2011, 17:01
Bonjour,

Je souhaite historiser mes tables sas. Mon souhait est qu'à chaque mise à jour de ma table de base, une copie soit créée avec la date et l'heure dans le nom de la copie.
Ainsi, mon objectif est de conserver toutes les tables afin d'avoir une traçabilité des modifications apportées à ma table de base. Je ne veux surtout pas écraser cette dernière.

Schéma explicatif :

1ère maj : tab_base -->tab_maj1 (je dois avoir la table de base ET la nouvelle table)
2ème maj : tab_maj1 -->tab_maj2 (je dois avoir table de base, tab_maj1 ET tab_maj2)
3ème maj : tab_maj2 -->tab_maj3 (je dois avoir table de base, tab_maj1, tab_maj2 ET tab_maj3)
etc...


Merci d'avance pour votre aide.
Re: Historiser des données
08 février 2011, 19:53
bonsoir,

en utilisant un truc appris sur l'excellent site sas reférence, voici un draft de macro qui fait l'affaire :

%macro backup(data);
proc format;
picture sasref other="%0H%0M%0S" (datatype=time);
run;
data &data._%sysfunc(today(),yymmddn.)_%sysfunc(time(),sasref6.);
set &data ;
run;
%mend;

reste plus qu'à glisser l'appel à macro suivant quand vous faîtes une modif de la table sas :
%backup(test);

réutilisation d'un bout de programme trouvé à cette adresse :
[thesasreference.wordpress.com]

--
"Le statisticien est un homme qui fait un calcul juste en partant de prémices douteuses pour aboutir à un résultat faux." Jean Delacour, auteur