Ecco uno script che può essere utilizzato per creare più colonne di ritardo di variabili in una tabella di dati. Questo può essere utile se i tuoi dati sono distorti nel tempo. Ad esempio, se i dati del sensore vengono acquisiti in tempo e i dati nella tabella sono ordinati cronologicamente, i dati corrispondenti a un lotto o prodotto possono essere distribuiti su più righe. Lo script ti consentirà di allineare facilmente i dati per l'analisi.
Names Default To Here(1);
dt=current data table();
/* Query the user for a column roles. */
cdlg = Column Dialog(
ycol = ColList( "Y", MinCol( 1 ), MaxCol( ), Data Type("Numeric"),Modeling Type("Continuous") ),
Line Up( 2,
"Start Lag", slag = Edit Number( 32 )),
Line Up( 2,
"End Lag", elag = Edit Number( 38 ))
);
If( cdlg["Button"] == -1, Throw( "User cancelled" ) );
Remove From( cdlg ); Eval List( cdlg );
range=elag-slag;
If( range <= 0, Throw( "Bad Range" ) );
/* Unload the values from the Column Dialog */
my_collist = cdlg["ycol"];
/*Number of columns chosen*/
numcols=N Items(my_collist);
for(i=1,i<=numcols,i++,
for(j=slag,j<=elag,j++,
newcol=dt << New Column( Char(my_collist[i]) ||" Lag "||Char(j));
newVals = (J(j,1,.) |/ (Column(dt,my_collist[i]) << Get Values))[1::N Row(dt)];
newcol<<SET values=""></SET>