Aquí hay un script que se puede usar para crear múltiples columnas de retardo de variables en una tabla de datos. Esto puede ser útil si sus datos están sesgados a tiempo. Por ejemplo, si los datos del sensor se capturan a tiempo y los datos de su tabla se ordenan cronológicamente, entonces los datos correspondientes a un lote o producto se pueden distribuir en varias filas. El script le permitirá alinear fácilmente los datos para su análisis.
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>