使所有列函数都能接受 Column("Name") 参数,以简化从 JSL 创建列公式的过程。是什么促使你提出这个愿望清单请求?
JMP 的用户界面让我习惯于选择列并将其拖放到框中,包括公式编辑器。这些列列表框在后台会生成与列名对应的字符串,但对话框的显示方式并非如此,我实际上是在拖动列。
pauldeen_0-1789654679720.pngpauldeen_0-1789654679720.pngpauldeen_0-1789654679720.png
同样的方法在脚本中不起作用:
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
ColList = {};
For(i=1, i<=NCols(), i++,
If(Column(i)<
<GETDATATYPE></GETDATATYPE>
<P>此示例生成了一个无效的 Column("Name") 对象列表,Mean() 函数无法处理该列表。这使得新手脚本编写者使用列公式变得比实际需要的要困难得多。</P> <P>请参阅此讨论: <A href="https://community.jmp.com/t5/Discussions/How-to-create-an-average-column-with-JSL-based-on-random-columns/m-p/968140#M110445" target="_blank">https://community.jmp.com/t5/Discussions/How-to-create-an-average-column-with-JSL-based-on-random-columns/mp/968140#M110445</A></P> <P>请参阅支持案例:00345202</P> <P><STRONG>您希望看到哪些改进?</STRONG></P> <P>扩展所有列公式函数,使其接受类型为 Column("Name") 的对象,并在内部将其转换为样式为 :"Name"n 的可索引列类型。这样,即使从技术上讲它是一个不同的对象,也能与拖放列的 UI 样式保持一致。</P> <P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pauldeen_1-1789654714335.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="pauldeen_1-1789654714335.png" style="width: 155px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="pauldeen_1-1789654714335.png" style="width: 155px;"><span class="lia-inline-image-display-wrapper" image-alt="pauldeen_1-1789654714335.png" style="width: 155px;"><img src="https://us.v-cdn.net/6038925/uploads/images/117467i4343BA562F3D604F/pauldeen_1-1789654714335.png" role="button" title="pauldeen_1-1789654714335.png" alt="pauldeen_1-1789654714335.png" /></span><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">pauldeen_1-1789654714335.png</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">pauldeen_1-1789654714335.png</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">pauldeen_1-1789654714335.png</SPAN></SPAN></P> <P>这里列出的所有函数都应该进行扩展,以接受 column() 类型。</P> <P><STRONG>为什么这个想法很重要?</STRONG></P> <P>它使 JSL 和 UI 在逻辑上以相同的方式工作,从而降低了新脚本编写者的入门门槛。</P> <BR /> <BR />
回复:使所有列函数都能接受 Column("Name") 参数,以简化从 JSL 创建列公式的过程以下是一篇关于 Column 和 As Column 之间区别的社区帖子:
Column() vs As Column() vs datable:column vs dt:As name("column")
可以将柱子()视为具有值、颜色、规格等属性的对象。Column() 的意思是:给我当前行的值——这正是公式所需要的。
公式实际上需要使用作为列() ,而不是column()。
您是否可以接受使用作为列()而不是柱子()的变通方法?
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
ColList = {};
For(i=1, i<=NCols(), i++,
If(Column(i)<
<GETDATATYPE></GETDATATYPE>
回复:使所有列函数都能接受 Column("Name") 参数,以简化从 JSL 创建列公式的过程有时,公式中会使用列 () 。
例如,如果您想检查某个值是否在规范中,则需要一个相当复杂的结构来向column()(具有列属性的列)请求规范,并将当前行(作为 column() )的值与该规范进行比较。
如果将柱子()用作作为列()的替代方案,则此类函数将不再有效。
另一方面——对于“规范中的问题”这个问题,我希望 JMP 2027 能提供一个辅助函数来简化此类计算。
:folded_hands: 在 spec (value) 中