Ich habe mithilfe eines Beispieldatensatzes herausgefunden, dass ich eine Auswertung der Liste für die Y-Achsen durchführen kann, um sie in den Graph Builder einzugeben.
Das Problem ist, es scheint nur zu funktionieren, wenn ich den Code mit einem Beispiel und nicht mit meiner eigentlichen Datentabelle versuche.
dt = Aktuelle Datentabelle ();
// (Spalten in dt als Beispiel mit den Namen DATE, WW, MODULE, BEOL_1, BEOL_2, BEOL_3, FEOL_X)
colus = dt << Erhalte Spaltennamen ();
B_list = {};
Für (i = 1, i <= N Elemente ( Colus ), i ++,
Wenn (links (colus [i], 4) == "BEOL", einfügen in (B_list, colus [i]))
);
str = "";
für (i = 1, i <= N Elemente (B_list), i ++,
colName = B_list [i];
yStr = EVALINSERT ("Y (^ colName ^, Position (1))");
str = str || yStr;
);
Bei yStr schlägt es jedoch mit einem Fehler wie folgt fehl:
Name nicht gelöst: BEOL_1 in Zugang oder Bewertung von ' BEOL_1 ', BEOL_1 / * ### * /
Ich verstehe es einfach nicht.
Mein Plan war eval (evalinsert (graph builder ()))
Nach nochmaliger Betrachtung denke ich, dass mein Vorschlag, das String-Schlüsselwort zu verwenden, das Problem beheben sollte.
Das ursprüngliche Beispiel, in dem Sie eine Liste verwendet hatten, enthielt eine Liste von Zeichenfolgen, die die Spaltennamen darstellten.
Sobald Sie dieses Problem behoben haben, werden Sie ein anderes Problem lösen. Das Beispiel, auf dem Sie Ihren Code basieren, hat einen Doppelpunkt vor ^ colName ^ und fehlt in Ihrem Code:
yStr = EvalInsert( “Y(:^colName^,Position(1)),”);
Nur ein Gedanke: Versuch:
colus = dt << Spaltennamen (String) abrufen;
String ist ein Schlüsselwort, mit dem colus eine Liste von Stringnamen anstelle von Spaltenverweisen enthält.