<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich verwende JSL, um einige Daten zu stapeln. Die Spalten haben Spec Limit-Eigenschaften, daher verwende ich JSL, um diese Werte manuell in einer Matrix zu stapeln, um sie auch zu den Daten hinzuzufügen. Das Problem ist, dass ich einer Matrix anscheinend keine Werte zuweisen kann, ohne sie zu definieren. Und ich kann eine Matrix nicht dynamisch definieren. Vielleicht fehlt mir etwas oder es gibt andere Matrixtricks, die jemand vorschlagen kann.
dt0 ist die Tabelle, von der aus ich arbeite
i_ncols wird aus der Anzahl der Zeilen in einer anderen Tabelle ermittelt.
ls_colnames ist die Liste der Spaltennamen, die ich stapeln möchte, und wird mit einer anderen Tabelle generiert
ld_targets ist die letzte Matrix, die ich mit dieser Schleife generieren möchte
//Ziele aus Spalteneigenschaften abrufen
ld_targets = [](3, i_ncols);
For( i = 1, i <= i_ncols, i++,
Für(j = 0, j <= 2, j++,
ld_specs = Column(dt0, ls_colnames[i_ncols * j + i]) << Get Property("Spec Limits");
ld_targets[j + 1, i] = ld_specs["Ziel"];
)
);
Dies führt zu einem Kompilierungsfehler "erwartete ganze Zahl für die Anzahl der Spalten" und wird nicht einmal ausgeführt.
wenn ich die Matrix nicht definiere (erste Zeile auskommentieren) erhalte ich den Laufzeitfehler "Nothing to set in access or evaluation of 'Assign' , ld_targets[j + 1, i] = ld_specs["Target"]"
Irgendwelche Vorschläge?
vielen Dank im Voraus
Heidekraut
Wow, das war wirklich einfach. Warum wird dies im Scripting Guide nicht deutlicher?
Jetzt muss ich herausfinden, wie ich diese Matrix in eine Tabelle einfügen kann. Suchen Sie nach einem neuen Beitrag zu dieser Frage.
H
Verwenden Sie Matrix() anstelle von [ ], wenn Sie eine Matrix mit einer Variablen definieren.
ld_Ziele = Matrix ( 3 , i_ncols ) ;