我正在为我的一些数据表创建一个 JSL 脚本,并且需要我的函数对列进行操作。
我可以让函数在绘图事件期间作用于列,但不能使用标准操作。
这是一个有效的例子。这作用于当前数据表并绘制 的分布:Column1
,它恰好是具有 4 个唯一项的名义字符。
a = Function(
{col}, // Function parameters
{Default Local}, // Local variables
Distribution(
Nominal Distribution(
Column( col ),
Horizontal Layout( 1 ),
Vertical( 0 )
);
);
);
dt = Current Data Table();
a(Expr(:Column1));
注意Expr()
周围:Column1
。没有这个,分布函数就不起作用。
我想要做的是以下,但它不起作用。它应该做的是显示:Column1
.
a = Function(
{col}, // Function parameters
{Default Local}, // Local variables
retval = associative array(col);
Show(nitems(retval));
);
dt = Current Data Table();
a(Expr(:Column1));
Returns in Log Window:
N Items(retval) = 0; // Should be 4
如果我运行脚本而不尝试将其包装在函数中,那么它就可以正常工作:
retval = associative array(:Column1);
Show(nitems(retval));
Returns in Log Window:
N Items(retval) = 4; // My column happens to have 4 unique entries in it.
我相当确定我的问题与函数内部的命名空间有关,但我似乎无法弄清楚。有没有人有什么建议?