讓所有列函數都能接受 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) 中