在 jsl 中设置链接 ID 似乎不起作用 - 怎么了?我正在尝试在 JSL 中设置链接 ID,但在 JSL 中设置链接 ID 时,链接 ID 似乎已按应有的方式设置在表中,但其他表中应该引用它的链接引用不起作用。
如果我删除链接 ID 并通过右键单击链接 ID 进行设置,一切正常。
我用这个:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
看不出这有什么问题。 我是否缺少一些刷新操作以使其正常工作? 有什么建议么?
脚本回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?正如 Craige 提到的,我认为这是一个“保存”问题。 我以前遇到过这个问题,令人沮丧的是,我只在 PC 上遇到过。 在 Mac 上,我不需要执行保存。
确保首先保存了我的表,解决了问题。
布雷迪
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?我发现了一些新想法:
如果我正在执行的 JSL 脚本没有保存并且之前从未保存过(因此如果源代码被写入或复制到一个全新打开的脚本窗口中),链接两个未保存的数据表就像一个魅力。
如果它已保存,或者如果它是一个刚刚修改但未保存的现有脚本,则它不起作用。
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?大家好你们好,
我在通过脚本链接两个表时遇到了同样的问题。
它的行为完全一样@ThomasZatValcon描述。
通过单击手动完成后,我从日志中复制了两行代码。
然后这取决于它们插入的位置。 如果我将它们插入一个新的脚本窗口,该脚本就可以工作。 如果我将它们插入到我当前正在开发的脚本中(最初从中打开两个表),它就不起作用。
对这个问题有什么新的见解吗?
干杯
罗伯特
顺便提一句。 与此同时,我发现了一个相关的线程。 解决方法是先保存数据表,但这并不总是很方便。
https://community.jmp.com/t5/Discussions/Virtual-Join-via-JSL-does-not-work/td-p/360675
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?尝试在链接之前保存表格,看看您的结果是否一致。 我不确定这些链接在内部是如何工作的,但这可能取决于可用的文件名。
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?这是两张不同的桌子。 左边的是带有 ID 的表,左边的表是带有引用的表。
是的,我尝试了 column(dt...) 和 dt:name()... 引用。
我还尝试将有效的代码(当它从单独的脚本窗口运行时)放入一个单独的文件中并包含它。 也没用。 我试图将它放入 expr() 并对其进行评估。 也没有帮助。
但是如果我创建一个单独的脚本窗口并从那里运行它们,这两行代码就可以工作,这是出乎意料的。
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?他们应该是一样的吗? 因为两个表的列数不同。
你看过 `dfps` 是对的吗? 或者尝试使用 `Column(dt, "Country")`?回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?仍然没有弄明白,但我在这里得到了一些真正奇怪的行为:
在两个窗口中具有相同的代码:

当我在左侧窗口中运行代码时,请注意带有两个键的图标是灰色的(它不起作用):

当我在右侧窗口中运行相同的两行时,它起作用了:

左侧窗口中的代码是创建 jsl 的位置。 所有代码都只是在全局命名空间中运行。 我什至尝试将名称默认设置为 here(1) 并得到相同的行为,这让我感到惊讶,因为我预计无法从另一个脚本窗口引用表变量。
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?谢谢。 我修改了您的代码以更好地表示正在发生的事情(表格仅在内存中)以更接近地表示正在发生的事情并预计它会失败,但它确实有效。 仍然没有弄清楚是什么导致我的其他代码失败,但如果我发现了,我会更新这个线程。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// creating a unique ID
dt2 = dt << subset( all rows, all columns );
dt2 << New Column( "_Row", <<SET each="" value=""></SET>
回复:在 jsl 中设置链接 ID 似乎不起作用 - 有什么问题吗?你是说你在 ID 之前设置参考?不确定你会怎么做,但这对我来说很好。
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
// creating a unique ID
dt << New Column("_Row", << Set Each Value(Row()));
// subsetting just so I have something to link
dt_sub = dt << Subset(
Selected Rows( 0 ),
Rows( [1, 2, 3, 4, 5] ),
columns( :_Row )
);
Column(dt, "_Row") << Set Property( "Link ID", 1 );
Column(dt_sub, "_Row") << Set Property( "Link Reference",
Reference Table( "$SAMPLE_DATA\Big Class.jmp" )
);