cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-765189%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%88%97%E5%BC%8F%E5%86%85%E3%81%A7%E5%A4%89%E6%95%B0%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-765189%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%E5%88%97%E3%81%AE%E6%95%B0%E5%BC%8F%E5%86%85%E3%81%A7%E5%A4%89%E6%95%B0%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E8%89%AF%E3%81%84%E7%BF%92%E6%85%A3%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%20%E3%81%9D%E3%82%8C%E3%81%A8%E3%82%82%E3%80%81%E3%81%93%E3%82%8C%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%83%AA%E3%82%B9%E3%82%AF%E3%81%8C%E7%94%9F%E3%81%98%E3%81%BE%E3%81%99%E3%81%8B%3F%20%E7%A7%81%E3%81%AE%E6%95%B0%E5%BC%8F%E3%81%AF%E3%81%86%E3%81%BE%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E4%BF%A1%E9%A0%BC%E6%80%A7%E3%81%8C%E4%BD%8E%E3%81%84%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%8B%E3%81%A8%E5%BF%83%E9%85%8D%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Erownum%20%3D%20Row()%3B%0AIf(%20%3AMeasurement%20type%20%3D%3D%20%22STUDY_VARIABLE%22%2C%0A%09%3AControl%20means%5BMin(%0A%09%09Current%20Data%20Table()%20%26lt%3B%26lt%3B%20get%20rows%20where(%20%3AMeasurement%20type%20%3D%3D%20%22STUDY_CONTROL%22%20%26amp%3B%20%3AControl%20group%20%3D%3D%20%3AControl%20group%5Brownum%5D%20)%0A%09)%5D%2C%0A%09%3AControl%20means%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E8%A8%AD%E5%AE%9A%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CUL%3E%3CLI%3E%3A%E6%B8%AC%E5%AE%9A%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AF%E3%80%81%E5%90%84%E8%A1%8C%E3%81%ABSTUDY_CONTROL%E3%81%BE%E3%81%9F%E3%81%AFSTUDY_VARIABLE%E3%81%AE%E3%83%A9%E3%83%99%E3%83%AB%E3%82%92%E4%BB%98%E3%81%91%E3%82%8B%E5%88%97%E3%81%A7%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3E%3A%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AF%E3%80%81%E3%83%A9%E3%83%99%E3%83%AB%EF%BC%88%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF%EF%BC%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81STUDY_VARIABLES%E3%81%AE%E8%A1%8C%E3%82%92%E3%80%81%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8BSTUDY_CONTROL%E8%A1%8C%E3%81%AE%E9%81%A9%E5%88%87%E3%81%AA%E5%B9%B3%E5%9D%87%EF%BC%88%3A%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E5%B9%B3%E5%9D%87%EF%BC%89%E3%81%AB%E9%96%A2%E9%80%A3%E4%BB%98%E3%81%91%E3%82%8B%E5%88%97%E3%81%A7%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3E%3A%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%5BRow()%5D%E3%81%AF%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%9F%E3%82%81%E3%80%81%E6%9C%80%E5%88%9D%E3%81%ABrownum%E5%A4%89%E6%95%B0%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E3%82%A8%E3%83%AC%E3%82%AC%E3%83%B3%E3%83%88%E3%81%AA%E8%A7%A3%E6%B1%BA%E7%AD%96%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%E3%80%81%E3%81%9D%E3%82%8C%E3%81%A8%E3%82%82%E5%8D%B1%E9%99%BA%E3%81%AA%E3%83%8F%E3%83%83%E3%82%AF%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3C%2FP%3E%3CP%3E2%20%E7%95%AA%E7%9B%AE%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%A8%E3%81%97%E3%81%A6%E3%80%81%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%83%BC%E3%81%AF%E6%95%B0%E5%BC%8F%E3%81%A7%20Current%20Data%20Table()%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E5%8D%B1%E9%99%BA%E3%81%A7%E3%81%82%E3%82%8B%E3%81%A8%E8%AD%A6%E5%91%8A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%82%82%E3%81%A3%E3%81%A8%E8%89%AF%E3%81%84%E4%BB%A3%E6%9B%BF%E6%89%8B%E6%AE%B5%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%82%8C%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E7%A7%81%E3%81%AE%E6%9C%80%E5%88%9D%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%87%E3%83%93%E3%83%83%E3%83%89%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-802726%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3ERe%3A%20%E5%88%97%E5%BC%8F%E5%86%85%E3%81%A7%E5%A4%89%E6%95%B0%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-802726%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CP%3E%E3%82%AF%E3%83%A9%E3%83%96%E3%81%B8%E3%82%88%E3%81%86%E3%81%93%E3%81%9D%EF%BC%81%20%3CLI-EMOJI%20id%3D%22lia_slightly-smiling-face%22%20title%3D%22%3Acara_con_una_leve_sonrisa%3A%22%3E%3C%2FLI-EMOJI%3E%3CLI-EMOJI%20id%3D%22lia_slightly-smiling-face%22%20title%3D%22%3Acara_con_una_leve_sonrisa%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E3%80%8C%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%20%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB()%E3%80%8D%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%81%94%E8%B3%AA%E5%95%8F%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJMP-Scripters-Club-Discussions%2FScripters-Club-Recording-Building-Robust-and-fail-safe-scripts%2Fm-p%2F788286%23U788286%22%20class%3D%22lia-mention-container-editor-message%20lia-img-icon-forum-thread%20lia-fa-icon%20lia-fa-forum%20lia-fa-thread%20lia-fa%22%20target%3D%22_blank%22%3EScripters%20Club%20%E3%81%AE%E8%A8%98%E9%8C%B2%3A%20%E5%A0%85%E7%89%A2%E3%81%A7%E3%83%95%E3%82%A7%E3%82%A4%E3%83%AB%E3%82%BB%E3%83%BC%E3%83%95%E3%81%AA%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90%3C%2FA%3E%E3%81%A7%E5%85%B1%E6%9C%89%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%82%92%E4%BB%A5%E4%B8%8B%E3%81%AB%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Ressel_0-1727703983643.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Ressel_0-1727703983643.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Ressel_0-1727703983643.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Ressel_0-1727703983643.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F68723iE83E94E25BD08DCE%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Ressel_0-1727703983643.png%22%20alt%3D%22Ressel_0-1727703983643.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%82%92%E5%A4%89%E6%95%B0%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%97%E3%80%81%E3%81%9D%E3%81%AE%E5%A4%89%E6%95%B0%E3%82%92%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BE%8B%E3%81%A7%E3%81%AF%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AF%E3%80%8Cdt%E3%80%8D%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-802740%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3ERe%3A%20%E5%88%97%E5%BC%8F%E5%86%85%E3%81%A7%E5%A4%89%E6%95%B0%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-802740%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CP%3E%E6%9C%AC%E5%BD%93%E3%81%AB%20JSL%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E7%B4%A0%E6%99%B4%E3%82%89%E3%81%97%E3%81%84%E8%AC%9B%E7%BE%A9%E3%81%A7%E3%81%97%E3%81%9F!%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%201%20%E6%99%82%E9%96%93%E3%81%A7%E3%80%81%E4%BD%95%E3%83%B6%E6%9C%88%E3%82%82%E3%81%AE%E9%A0%AD%E7%97%9B%E3%81%8B%E3%82%89%E8%A7%A3%E6%94%BE%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%20%3A%20)%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%20%3CFONT%20face%3D%22courier%20new%2Ccourier%22%3ECol%20Min(%20...)%3C%2FFONT%3E%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CBR%20%2F%3E%E3%81%9D%E3%82%8C%E3%81%AF%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E4%BD%9C%E6%A5%AD%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%3A%3CBR%20%2F%3E%20rownum%3CEM%3E%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%3C%2FEM%3E%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CSTRONG%3E%3CEM%3E%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%20%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%3C%2FEM%3E%3C%2FSTRONG%3E%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%81%9F%E3%82%8A%E3%80%81%20%3CSTRONG%3E%3CEM%3Ewhere()%20%E3%81%A7%E8%A1%8C%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%3C%2FEM%3E%3C%2FSTRONG%3E%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3A%20)%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22hogi_0-1727707451592.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22hogi_0-1727707451592.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F68727i2F216F9A5F2E853B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22hogi_0-1727707451592.png%22%20alt%3D%22hogi_0-1727707451592.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20to%20Here(1)%3B%0Adt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FBig%20Class.jmp%22%20)%3B%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%20%22Measurement%20type%22%2C%0A%09Character%2C%0A%09Formula(%0A%09%09Map%20Value(%0A%09%09%09%3Asex%2C%0A%09%09%09%7B%22F%22%2C%20%22STUDY_VARIABLE%22%2C%20%22M%22%2C%20%22STUDY_CONTROL%22%7D%0A%09%09)%0A%09)%0A)%3B%0A%3Aweight%20%26lt%3B%26lt%3B%20Set%20Name(%20%22Control%20means%22%20)%3B%0A%3Aage%20%26lt%3B%26lt%3B%20Set%20Name(%20%22Control_Group%22%20)%3B%0A%0A%0A%2F%2F%20%5E%5E%5E%5E%5E%5E%5E%5Eprepare%20table%0A%0A%2F%2F%20vvvvvvvv%20how%20to%20use%20Col%20Min()%0A%0ANew%20Column(%20%22myCol%22%2C%0A%09Formula(%0A%09%09If(%20%3AMeasurement%20type%20%3D%3D%20%22STUDY_VARIABLE%22%2C%0A%09%09%09Col%20Minimum(%0A%09%09%09%09If(%20%3AMeasurement%20type%20%3D%3D%20%22STUDY_CONTROL%22%2C%0A%09%09%09%09%09%3AControl%20means%2C%0A%09%09%09%09%09Empty()%0A%09%09%09%09)%2C%0A%09%09%09%09%3AControl_Group%0A%09%09%09)%2C%0A%09%09%09%3AControl%20means%0A%09%09)%0A%09)%0A)%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
Asterix
Level I

Declaring a variable inside a column formula

Hi,

Is it good practice to declare a variable inside a column formula? Or does this create risk of errors? My formula works well, but I'm concerned that it might be unreliable. 

rownum = Row();
If( :Measurement type == "STUDY_VARIABLE",
	:Control means[Min(
		Current Data Table() << get rows where( :Measurement type == "STUDY_CONTROL" & :Control group == :Control group[rownum] )
	)],
	:Control means
);

The setup is as follows:

  • :Measurement type is a column which labels each row as either STUDY_CONTROL or STUDY_VARIABLE
  • :Control group is a column which uses a label (just a letter) to associate rows which are STUDY_VARIABLES with the appropriate mean (:Control means) of the relevant STUDY_CONTROL rows
  • :Control group[Row()] didn't work, so I specified the rownum variable up front

Is this an elegant solution or a dangerous hack?

As a second question, the editor warns me that it's dangerous to use Current Data Table() in a formula - is there a better alternative?

Many thanks for any assistance - this is my first question!

David

2 REPLIES 2
Ressel
Level VII

Re: Declaring a variable inside a column formula

Welcome to the club!

 

Regarding your question on 'Current Data Table()', here a screenshot from the shared script in Scripters Club Recording: Building Robust and fail-safe scripts:

Ressel_0-1727703983643.png

 

Store your table in a variable and use that variable in your script. In the screenshot example, that'd be 'dt'.

 

hogi
Level XIII

Re: Declaring a variable inside a column formula

Indeed a wonderful lecture on JSL scripting!

This 1hr will save you months of headache : )

For you problem, please have a look at Col Min( ...).
It will do all the job for you:
No need to declare any rownum - no need to access the current data table nor to get rows where()

: )

hogi_0-1727707451592.png

 

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Measurement type",
	Character,
	Formula(
		Map Value(
			:sex,
			{"F", "STUDY_VARIABLE", "M", "STUDY_CONTROL"}
		)
	)
);
:weight << Set Name( "Control means" );
:age << Set Name( "Control_Group" );


// ^^^^^^^^prepare table

// vvvvvvvv how to use Col Min()

New Column( "myCol",
	Formula(
		If( :Measurement type == "STUDY_VARIABLE",
			Col Minimum(
				If( :Measurement type == "STUDY_CONTROL",
					:Control means,
					Empty()
				),
				:Control_Group
			),
			:Control means
		)
	)
)

Recommended Articles