Ho trovato utilizzando un set di dati di esempio che posso ottenere eseguendo una valutazione di un elenco per gli assi Y da inserire nel generatore di grafici.
Il problema è che sembra funzionare solo quando provo il codice con un campione e non con la mia tabella dati effettiva.
dt = Current data table ();
// (colonne in dt come DATE, WW, MODULE, BEOL_1, BEOL_2, BEOL_3, FEOL_X)
colus = dt << Ottieni nomi colonna ();
B_list = {};
Per (i = 1, i <= N elementi ( Colus ), I ++,
Se (a sinistra (colus [i], 4) == "BEOL", inserisci in (B_list, colus [i]))
);
str = "";
for (i = 1, i <= N Items (B_list), i ++,
colName = B_list [i];
yStr = EVALINSERT ("Y (^ colName ^, Position (1)),");
str = str || yStr;
);
Ma continua a fallire in yStr con un errore come:
Nome non risolto: BEOL_1 in accesso o valutazione dell ' BEOL_1 ', BEOL_1 / * ### * /
Io proprio non capisco.
Il mio piano è stato infine utilizzare eval (parse (evalinsert (graph builder ()))
Dopo averlo esaminato di nuovo, penso che il mio suggerimento di utilizzare la parola chiave String dovrebbe risolvere il problema.
L'esempio originale che hai usato un elenco che conteneva un elenco di stringhe che rappresentavano i nomi delle colonne.
Ma una volta risolto questo problema, avrai un altro problema; l'esempio su cui stai basando il tuo codice ha due punti prima di ^ colName ^ e questo manca nel tuo codice:
yStr = EvalInsert( “Y(:^colName^,Position(1)),”);
Solo un pensiero: prova:
colus = dt << Ottieni nomi colonna (stringa);
Stringa è una parola chiave che farà sì che colus contenga un elenco di nomi di stringhe piuttosto che riferimenti di colonne.