如何在沒有指定命名的情況下堆疊新創建的列num_columns = 3;
col_names = Associative Array();
For(i = 1, i <= num_columns, i++,col_name = Char(400 + (i - 1) * 100);ATOM0TABLE << New Column(col_name, Character, Nominal, formula(Word(i, :FINAL_RESULT, "_"), ""));
col_names[i] = col_name);
stacktable = ATOM0TABLE << Stack(
Columns ( col_names), // List of columns to stack
Source Label Column("Label"), Stacked Data Column("Data"),
Output Table("stacktable"));正在嘗試創建 3 列,列名稱為 400,並連續直到 600,然後堆疊這些新列。 在創建列之前它工作正常,但無法如圖所示堆疊列“在‘錯誤論證’的訪問或評估中找不到該列
空的()”
數據存取回复:如何在沒有指定命名的情況下堆疊新創建的列您正在嘗試使用關聯數組作為 << Stack 的輸入。 您可以使用 << Get Values 從關聯數組中獲取值。 (認為在這種情況下最好使用列表)。
Names Default To Here(1);
dt = New Table("",
Add Rows(1),
New Column("FINAL_RESULT", Character, Nominal, Values({"TEST1_TEST2_TEST3"}))
);
num_columns = 3;
col_names = {};
For(i = 1, i <= num_columns, i++,
col_name = Char(400 + (i - 1) * 100);
new_col = dt << New Column(col_name, Character, Nominal, formula(Word(i, :FINAL_RESULT, "_"), ""));
Insert Into(col_names, new_col << get name);
);
stacktable = dt << Stack(
// Columns(col_names << get values), // if using associative array
Columns(col_names),
Source Label Column("Label"),
Stacked Data Column("Data"),
Output Table("stacktable")
);
回复:如何在沒有指定命名的情況下堆疊新創建的列謝謝你,我現在可以堆疊這些列了。