如何在没有指定命名的情况下堆叠新创建的列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")
);
回复:如何在没有指定命名的情况下堆叠新创建的列谢谢你,我现在可以堆叠这些列了。