Hier ist ein Skript, mit dem mehrere Verzögerungsspalten von Variablen in einer Datentabelle erstellt werden können. Dies kann nützlich sein, wenn Ihre Daten zeitlich versetzt sind. Wenn beispielsweise Sensordaten rechtzeitig erfasst werden und die Daten in Ihrer Tabelle chronologisch geordnet sind, können Daten, die einer Charge oder einem Produkt entsprechen, über mehrere Zeilen verteilt sein. Mit dem Skript können Sie die Daten einfach für die Analyse ausrichten.
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>