IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

m.brahim

Optimisation espace disque

Noter ce billet
par , 17/07/2015 à 19h16 (639 Affichages)
Bonjour,

Je partage ce code avec vous:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
option symbolgen mprint;

%macro optimisation(lib=);

proc contents data=&lib.._all_ out=tt.tables (keep=memname)  noprint;
run;

proc sort data=tt.tables nodup; by memname; run;

%macro opt(memname=);
proc contents data=&lib..&memname. out=tt.tt1 noprint;
run;

data tt.tt1 (where=(type=2));
set tt.tt1;
run;

data _null_;
set tt.tt1 end=last;
call symputx ('nn'||left(_n_),name);
IF last then call symputx('cnt',_n_);
run;

data _null_;
%do i=1 %to &cnt;
  %global val&i;
  proc sql;
  select max(length(&&nn&i)) into: val&i from &lib..&memname.;
  quit;
 %end; 
  run;
  data _null_;
  %do i=1 %to &cnt;
  proc sql noprint;
  alter table &lib..&memname.
  modify &&nn&i char(&&val&i.) format=$%sysfunc(trim(&&val&i.)). informat=$%sysfunc(trim(&&val&i.)). ;
  %end;
  run;

%mend;

data _null_;
set tt.tables;
call execute('%nrstr(%opt(memname='||strip(memname)||'));');
run;
%mend;

%optimisation(lib=work);
Cordialement

Envoyer le billet « Optimisation espace disque » dans le blog Viadeo Envoyer le billet « Optimisation espace disque » dans le blog Twitter Envoyer le billet « Optimisation espace disque » dans le blog Google Envoyer le billet « Optimisation espace disque » dans le blog Facebook Envoyer le billet « Optimisation espace disque » dans le blog Digg Envoyer le billet « Optimisation espace disque » dans le blog Delicious Envoyer le billet « Optimisation espace disque » dans le blog MySpace Envoyer le billet « Optimisation espace disque » dans le blog Yahoo

Catégories
Sans catégorie

Commentaires