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-42138%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%89%B5%E5%BB%BA%E5%85%B7%E6%9C%89%E4%BA%A4%E5%8F%89%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%E8%A8%AD%E8%A8%88%E7%9A%84%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42138%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E4%B8%8D%E7%A2%BA%E5%AE%9A%E9%80%99%E6%98%AF%E5%90%A6%E5%8F%AF%E8%83%BD%EF%BC%8C%E4%BD%86%E6%88%91%E8%A9%A6%E8%A9%A6%E9%81%8B%E6%B0%A3%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E5%89%B5%E5%BB%BA%EF%BC%88%E5%9C%A8%20jsl%20%E4%B8%AD%EF%BC%89%E4%B8%80%E7%A8%AE%E4%BA%A4%E5%8F%89%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%EF%BC%8C%E4%BD%86%E4%BD%BF%E7%94%A8%E6%88%91%E8%87%AA%E5%B7%B1%E7%9A%84%E5%80%BC%E9%80%B2%E8%A1%8C%E8%87%AA%E5%AE%9A%E7%BE%A9%E3%80%82%20%E7%82%BA%E4%BA%86%E6%9B%B4%E5%A5%BD%E5%9C%B0%E7%90%86%E8%A7%A3%E6%88%91%E8%87%AA%E5%B7%B1%EF%BC%9A%3C%2FP%3E%3CP%3E%E9%80%99%E6%98%AF%E4%B8%80%E5%80%8B%E8%A1%A8%E6%A0%BC%EF%BC%88%E5%9C%96%201%EF%BC%89%EF%BC%8C%E5%85%B6%E4%B8%AD%E5%8C%85%E5%90%AB%E6%88%91%E8%A6%81%E9%A1%AF%E7%A4%BA%E7%9A%84%E6%95%B8%E6%93%9A%EF%BC%9A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22FIG.%201%20-%20Tabulate%22%20style%3D%22width%3A%20714px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22FIG.%201%20-%20Tabulate%22%20style%3D%22width%3A%20714px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22FIG.%201%20-%20Tabulate%22%20style%3D%22width%3A%20714px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F6840iF9BE5209A840C29C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22wea00061%20-%20Connexion%20Bureau%20%C3%A0%20distance_4.jpg%22%20alt%3D%22FIG.%201%20-%20Tabulate%22%20%2F%3E%3Cspan%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EFIG.%201%20-%20Tabulate%3C%2Fspan%3E%3C%2Fspan%3E%3CSPAN%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EFIG.%201%20-%20Tabulate%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3E%E5%9C%96.%201%20-%20%E8%A3%BD%E8%A1%A8%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E9%80%99%E5%BE%88%E5%A5%BD%EF%BC%8C%E4%BD%86%E4%B8%8D%E5%AE%8C%E5%85%A8%E6%98%AF%E6%88%91%E6%83%B3%E8%A6%81%E7%9A%84%E3%80%82%20%E6%88%91%E6%83%B3%E8%A6%81%E5%BE%97%E5%88%B0%E7%9A%84%E6%98%AF%E9%A1%9E%E4%BC%BC%E6%96%BC%E6%88%91%E5%80%91%E5%9C%A8%E8%AA%BF%E7%94%A8%E6%87%89%E6%80%A5%E5%88%86%E6%9E%90%E6%99%82%E5%BE%97%E5%88%B0%E7%9A%84%E4%BA%A4%E5%8F%89%E9%8C%B6%E6%A1%86%EF%BC%8C%E5%A6%82%E5%9C%962%E6%89%80%E7%A4%BA%EF%BC%9A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22FIG.2%20-%20contingency%20table%22%20style%3D%22width%3A%20266px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22FIG.2%20-%20contingency%20table%22%20style%3D%22width%3A%20266px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22FIG.2%20-%20contingency%20table%22%20style%3D%22width%3A%20266px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F6839i03A87D8238253749%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22wea00061%20-%20Connexion%20Bureau%20%C3%A0%20distance_3.jpg%22%20alt%3D%22FIG.2%20-%20contingency%20table%22%20%2F%3E%3Cspan%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EFIG.2%20-%20contingency%20table%3C%2Fspan%3E%3C%2Fspan%3E%3CSPAN%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EFIG.2%20-%20contingency%20table%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3E%E5%9C%962-%E5%88%97%E8%81%AF%E8%A1%A8%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E4%BD%86%E6%88%91%E6%9C%83%E5%B0%87%E8%88%87%E8%A1%A8%E6%A0%BC%E4%B8%AD%E7%9A%84%E5%88%86%E6%9E%90%E5%88%97%E7%9B%B8%E5%B0%8D%E6%87%89%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BC%E6%94%BE%E5%85%A5%E5%96%AE%E5%85%83%E6%A0%BC%E4%B8%AD%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E2%80%9C%E8%A8%88%E6%95%B8%E2%80%9D%E3%80%81%E2%80%9C%E7%B8%BD%E8%A8%88%EF%BC%85%E2%80%9D%E7%AD%89%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E6%88%91%E5%9C%A8%E9%80%99%E5%80%8B%E8%A8%AD%E8%A8%88%E4%B8%AD%E5%96%9C%E6%AD%A1%E4%BD%86%E5%9C%A8%E8%A1%A8%E6%A0%BC%E7%89%88%E6%9C%AC%E4%B8%AD%E6%B2%92%E6%9C%89%E7%9A%84%E5%8A%9F%E8%83%BD%E6%98%AF%EF%BC%9A%3C%2FP%3E%3CP%3E-%20%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%B8%80%E5%80%8B%E5%96%AE%E5%85%83%E6%A0%BC%E4%B8%AD%E9%A1%AF%E7%A4%BA%E5%A4%9A%E5%80%8B%E5%80%BC%EF%BC%88%E4%B8%A6%E5%9C%A8%E5%B7%A6%E4%B8%8A%E8%A7%92%E9%A1%AF%E7%A4%BA%E5%9C%96%E4%BE%8B%EF%BC%89%3C%2FP%3E%3CP%3E-%20%E5%88%97%E5%92%8C%E8%A1%8C%E6%A8%99%E9%A1%8C%E4%B8%8A%E7%9A%84%E9%99%B0%E5%BD%B1%3C%2FP%3E%3CP%3E-%20%E5%88%97%E6%A8%99%E9%A1%8C%E4%B8%8B%E7%BC%BA%E5%B0%91%E2%80%9C%E5%B9%B3%E5%9D%87%E2%80%9D%E7%B7%9A%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E6%88%91%E6%89%BE%E4%B8%8D%E5%88%B0%E4%BD%BF%E7%94%A8%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%E5%B0%87%E8%A1%A8%E6%A0%BC%E8%BD%89%E6%8F%9B%E7%82%BA%E6%88%91%E6%83%B3%E8%A6%81%E7%9A%84%E5%85%A7%E5%AE%B9%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%82%20%E4%BD%A0%E8%AA%8D%E7%82%BA%E9%80%99%E5%8F%AF%E8%83%BD%E5%97%8E%EF%BC%9F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E8%AC%9D%E8%AC%9D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-42138%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3E%E5%A4%A7%E8%A6%8F%E6%A8%A1%E5%AE%9A%E5%88%B6%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42218%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%89%B5%E5%BB%BA%E5%85%B7%E6%9C%89%E4%BA%A4%E5%8F%89%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%E8%A8%AD%E8%A8%88%E7%9A%84%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42218%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E6%98%AF%E5%95%8A%E3%80%82%20%E7%9B%B4%E5%88%B0%20JMP%2013%20%E6%89%8D%E6%B7%BB%E5%8A%A0%20DisplayBox%20%E7%9A%84%E2%80%9C%E6%8F%92%E5%85%A5%E5%88%B0%E2%80%9D%E5%8A%9F%E8%83%BD%E3%80%82%20%E5%BE%88%E9%AB%98%E8%88%88%E8%81%BD%E5%88%B0%E9%80%99%E5%B0%8D%E4%BD%A0%E6%9C%89%E7%94%A8%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42216%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%89%B5%E5%BB%BA%E5%85%B7%E6%9C%89%E4%BA%A4%E5%8F%89%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%E8%A8%AD%E8%A8%88%E7%9A%84%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42216%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E4%BD%86%E5%8F%AA%E6%9C%89%E4%B8%80%E4%BB%B6%E4%BA%8B%E6%98%AF%EF%BC%8C%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%87%BD%E6%95%B8%E4%B8%AD%E6%88%91%E5%BF%85%E9%A0%88%E6%94%B9%E8%AE%8A%E9%80%99%E4%B8%80%E8%A1%8C%EF%BC%9A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%2F%2F%20Add%20the%20BorderBox%20to%20the%20LineupBox%0A%20%20Insert%20Into(%20lb%2C%20b%20)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E9%80%B2%E5%85%A5%EF%BC%9A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%2F%2F%20Add%20the%20BorderBox%20to%20the%20LineupBox%0A%20%20lb%20%26lt%3B%26lt%3B%20Append(%20b%20)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E8%AE%93%E5%AE%83%E5%B7%A5%E4%BD%9C%EF%BC%8C%E5%90%A6%E5%89%87%E6%88%91%E4%BB%80%E9%BA%BC%E4%B9%9F%E6%B2%92%E6%9C%89%E9%A1%AF%E7%A4%BA%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E7%B5%95%E5%B0%8D%E5%96%9C%E6%AD%A1%E4%BD%A0%E7%9A%84%E5%B7%A5%E4%BD%9C%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42214%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%89%B5%E5%BB%BA%E5%85%B7%E6%9C%89%E4%BA%A4%E5%8F%89%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%E8%A8%AD%E8%A8%88%E7%9A%84%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42214%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%BE%88%E4%B8%8D%E9%8C%AF%EF%BC%81%20%E8%AC%9D%E8%AC%9D%E4%BD%A0%EF%BC%81%20%E6%88%91%E8%82%AF%E5%AE%9A%E6%9C%83%E7%B6%93%E5%B8%B8%E4%BD%BF%E7%94%A8%E9%80%99%E5%80%8B%E4%BB%A3%E7%A2%BC%E6%A8%A1%E6%9D%BF%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-42150%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%89%B5%E5%BB%BA%E5%85%B7%E6%9C%89%E4%BA%A4%E5%8F%89%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%E8%A8%AD%E8%A8%88%E7%9A%84%E9%81%B8%E9%A0%85%E5%8D%A1%E6%A1%86%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-42150%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20TableBox%20%E5%92%8C%20ColSpan%20%E6%A1%86%E7%9B%B8%E7%95%B6%E8%BC%95%E9%AC%86%E5%9C%B0%E9%87%8D%E6%96%B0%E5%89%B5%E5%BB%BA%20Tabulate%E3%80%82%20%E8%AB%8B%E5%8F%83%E9%96%B1%E4%B8%8B%E9%9D%A2%E7%9A%84%E7%A4%BA%E4%BE%8B%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0ANew%20Window(%20%22Col%20Span%20Box%22%2C%0A%20Table%20Box(%0A%20%20Number%20Col%20Box(%20%22CAT_ECH%22%2C%20%7B1%2C%202%2C%203%7D%20)%2C%0A%20%20Col%20Span%20Box(%0A%20%20%20%22CAT_MK%22%2C%0A%20%20%20Col%20Span%20Box(%0A%20%20%20%20%220-100%22%2C%0A%20%20%20%20Col%20Span%20Box(%22COUT_TOT_ENVIRONNE%22%2CNumber%20Col%20Box(%20%22Mean%22%2C%20%7B1%2C%202%2C%203%7D%20))%2C%0A%20%20%20%20Col%20Span%20Box(%22TEMPS%22%2CNumber%20Col%20Box(%20%22Mean%22%2C%20%7B1%2C%202%2C%203%7D%20))%2C%0A%20%20%20%20Col%20Span%20Box(%22COUT_CONSOS%22%2CNumber%20Col%20Box(%20%22Mean%22%2C%20%7B1%2C%202%2C%203%7D%20))%0A%20%20%20)%2C%0A%20%20%20Col%20Span%20Box(%0A%20%20%20%20%22%26gt%3B%3D100%22%2C%0A%20%20%20%20Col%20Span%20Box(%22COUT_TOT_ENVIRONNE%22%2CNumber%20Col%20Box(%20%22Mean%22%2C%20%7B1%2C%202%2C%203%7D%20))%2C%0A%20%20%20%20Col%20Span%20Box(%22TEMPS%22%2CNumber%20Col%20Box(%20%22Mean%22%2C%20%7B1%2C%202%2C%203%7D%20))%2C%0A%20%20%20%20Col%20Span%20Box(%22COUT_CONSOS%22%2CNumber%20Col%20Box(%20%22Mean%22%2C%20%7B1%2C%202%2C%203%7D%20))%0A%20%20%20)%0A%20%20)%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3ECol%20Span%20Box%20%E6%96%B9%E6%B3%95%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Col%20Span%20Box.PNG%22%20style%3D%22width%3A%20855px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Col%20Span%20Box.PNG%22%20style%3D%22width%3A%20855px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Col%20Span%20Box.PNG%22%20style%3D%22width%3A%20855px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F6845iB69DA6AC87910B46%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Col%20Span%20Box.PNG%22%20alt%3D%22Col%20Span%20Box.PNG%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E7%94%B1%E6%96%BC%20CrossTabBox%20DisplayBox%20%E7%84%A1%E6%B3%95%E4%BD%BF%E7%94%A8%20JSL%20%E7%B7%A8%E5%AF%AB%E8%85%B3%E6%9C%AC%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%82%A8%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E6%96%B9%E6%B3%95%E4%BE%86%E9%87%8D%E6%96%B0%E5%89%B5%E5%BB%BA%E9%A1%9E%E4%BC%BC%E6%96%BC%20Contingency%20%E5%B9%B3%E5%8F%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%B8%80%E7%9B%B4%E8%87%B4%E5%8A%9B%E6%96%BC%E4%BD%BF%E7%94%A8%20LineupBox%20%E5%89%B5%E5%BB%BA%E6%82%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E8%87%AA%E5%AE%9A%E7%BE%A9%E8%A1%A8%E6%A0%BC%E7%9A%84%E6%A6%82%E5%BF%B5%E4%BE%86%E5%AE%8C%E6%88%90%E6%AD%A4%E6%93%8D%E4%BD%9C%E3%80%82%20%E6%AD%A4%E6%96%B9%E6%B3%95%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E7%BE%A9%E5%87%BD%E6%95%B8%E4%BE%86%E5%89%B5%E5%BB%BA%E6%AF%8F%E5%80%8B%E5%96%AE%E5%85%83%E6%A0%BC%EF%BC%8C%E4%BB%A5%E9%81%BF%E5%85%8D%E5%A4%A7%E9%87%8F%E4%BB%A3%E7%A2%BC%E9%87%8D%E8%A4%87%E3%80%82%20%E8%A9%B3%E6%83%85%E8%AB%8B%E5%8F%83%E9%96%B1%E6%88%91%E7%9A%84%E8%A9%95%E8%AB%96%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%0A%2F%2Fhelper%20function%20to%20create%20cells%20in%20the%20lineupBOx%20%22table%22%0AgetCell%20%3D%20Function(%20%7Bvalues%2C%20altShading%2C%20justify%20%3D%20%22left%22%7D%2C%0A%20%7BDefault%20Local%7D%2C%20%0A%20%0A%20%2F%2F%20Create%20a%20lineup%20box%20to%20add%20each%20of%20the%20values%20to%0A%20lb%20%3D%20Lineup%20Box(%20N%20Col(%201%20)%2C%20SPacing(%200%20)%20)%3B%20%2F%2F%201%20column%20and%20no%20spacing%0A%20%0A%20%2F%2F%20loop%20through%20and%20add%20each%20value%0A%20For(%20i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20Items(%20values%20)%2C%20i%2B%2B%2C%20%0A%20%0A%20%20%2F%2F%20if%20justify%20is%20left%2C%20put%20the%20spacer%20box%20on%20the%20right%2C%20otherwise%2C%20put%20it%20on%20the%20left%0A%20%20If(%20justify%20%3D%3D%20%22left%22%2C%20%0A%20%20%20%2F%2F%20borderBox%20to%20give%20values%20some%20spacing%20(and%20for%20shading)%0A%20%20%20b%20%3D%20Border%20Box(%20Right(%205%20)%2C%20Left(%205%20)%2C%20top(%201%20)%2C%20bottom(%201%20)%2C%0A%20%20%20%20H%20List%20Box(%0A%20%20%20%20%20%2F%2FText%20box%20with%20current%20value%0A%20%20%20%20%20Text%20Box(%20values%5Bi%5D%20)%2C%0A%20%20%20%20%20%2F%2F%20Spacing%20to%20fill%20the%20cell%20shading%20all%20the%20way%20to%20the%20right%20(will%20grow%20horizontally%2C%20but%20not%20vertially)%0A%20%20%20%20%20Spacer%20Box(%20%26lt%3B%3CSET%20max%3D%22%22%20size%3D%22%22%3E%3D100%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%7D%2C%200%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%22Total%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%7D%2C%200%20)%2C%20%0A%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FRow%202%0A%20%20%20%20%20%20getCell(%20%7B%220-250%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%7D%2C%200%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%20%0A%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FRow%203%0A%20%20%20%20%20%20getCell(%20%7B%22250-3000%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%7D%2C%200%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%20%0A%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FRow%204%0A%20%20%20%20%20%20getCell(%20%7B%22%26gt%3B%3D3000%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%7D%2C%200%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%2C%20%2243.33%22%2C%20%2268.42%22%7D%2C%201%2C%20%22Right%22%20)%2C%20%0A%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FRow%205%0A%20%20%20%20%20%20getCell(%20%7B%22Total%22%2C%20%22%22%7D%2C%200%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%7D%2C%201%2C%20%22Right%22%20)%2C%0A%20%20%20%20%20%20getCell(%20%7B%2213%22%2C%20%2230.95%22%7D%2C%201%2C%20%22Right%22%20)%0A%20%20%20%20%20)%0A%20%20%20%20)%0A%20%20%20)%0A%20%20)%0A%20)%0A)%3B%3C%2FSET%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E4%BD%BF%E7%94%A8%E6%AD%A4%E6%96%B9%E6%B3%95%E7%94%9F%E6%88%90%E7%9A%84%E7%AA%97%E5%8F%A3%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Custom%20Table.PNG%22%20style%3D%22width%3A%20289px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Custom%20Table.PNG%22%20style%3D%22width%3A%20289px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Custom%20Table.PNG%22%20style%3D%22width%3A%20289px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F6846i8D501EA20DA0A46D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Custom%20Table.PNG%22%20alt%3D%22Custom%20Table.PNG%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
heloiseheraud
Level II

Create a tab box with a cross tab box design

Hi all,

 

Not sure this is possible, but I try my luck.

 

I would like to create (in jsl) kind of a cross tab box, but customized with my own values. To make myself better understood:

Here is a tabulate (FIG. 1) containing the data I want to display:

 

FIG. 1 - TabulateFIG. 1 - Tabulate

 

 

This is fine, but not quite what I want. What I would like to obtain is something similar to the cross tab box we get when calling a contingency analysis, such as in FIG.2:FIG.2 - contingency tableFIG.2 - contingency table

BUT instead of "Count", "Total%" and so on, I would put into the cells the mean values that correspond to my analysis columns in tabulate.

 

The features I like in this design and which I don't have in the tabulate version are :

- the possibility to display several values in one cell (and display legend in the top left hand corner)

- the shade on columns AND rows headers

- the absence of the "mean" line under the column headers


I couldn't find a way of converting my tabulate into what I want using tab box. Do you think it would be possible?

 

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Create a tab box with a cross tab box design

You can fairly easily recreate the Tabulate using a TableBox and ColSpan Boxes. See below for an example.

Names Default To Here( 1 );
New Window( "Col Span Box",
	Table Box(
		Number Col Box( "CAT_ECH", {1, 2, 3} ),
		Col Span Box(
			"CAT_MK",
			Col Span Box(
				"0-100",
				Col Span Box("COUT_TOT_ENVIRONNE",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("TEMPS",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("COUT_CONSOS",Number Col Box( "Mean", {1, 2, 3} ))
			),
			Col Span Box(
				">=100",
				Col Span Box("COUT_TOT_ENVIRONNE",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("TEMPS",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("COUT_CONSOS",Number Col Box( "Mean", {1, 2, 3} ))
			)
		)
	)
);

Here is what the Col Span Box method looks like:

Col Span Box.PNG

Since the CrossTabBox DisplayBox is not scriptable using JSL, you would need to use a different method to recreate something like what is used in the Contingency platform.

You can do this using a concept I have been working on to use a LineupBox to create your own custom tables. This method uses a custom function for the creation of each cell to avoid a lot of code duplication. See my comments for details.


//helper function to create cells in the lineupBOx "table"
getCell = Function( {values, altShading, justify = "left"},
	{Default Local}, 
	
	// Create a lineup box to add each of the values to
	lb = Lineup Box( N Col( 1 ), SPacing( 0 ) ); // 1 column and no spacing
	
	// loop through and add each value
	For( i = 1, i <= N Items( values ), i++, 
	
		// if justify is left, put the spacer box on the right, otherwise, put it on the left
		If( justify == "left", 
			// borderBox to give values some spacing (and for shading)
			b = Border Box( Right( 5 ), Left( 5 ), top( 1 ), bottom( 1 ),
				H List Box(
					//Text box with current value
					Text Box( values[i] ),
					// Spacing to fill the cell shading all the way to the right (will grow horizontally, but not vertially)
					Spacer Box( <<Set Max Size( 99999, 0 ) )
				)
			)
		,
			b = Border Box( Right( 5 ), Left( 5 ), top( 1 ), bottom( 1 ),
				H List Box(
					// Spacing to right align the text. the spacer will grow horizontally, but not vertially)
					Spacer Box( <<Set Max Size( 99999, 0 ) ),
					
					//Text box with current value
					Text Box( values[i] )
				)
			)
		);
		
		// if altShading is turned on
		If( altShading == 1,
		
			// check if this is an even numbered row
			If( Mod( i, 2 ) == 0,
				//set the background color to a light-gray
				b << Background color( RGB Color( 225, 225, 225 ) )
			),
			
			//when altShading is off, we set the background color to a light-gray for all values
			b << Background color( RGB Color( 225, 225, 225 ) )
		);
		
		// Add the BorderBox to the LineupBox
		Insert Into( lb, b );
	);
	
	// Return the LineupBox with a Border with lines around it
	Return(
		Border Box( Right( 0 ), Left( 0 ), top( 0 ), bottom( 0 ), sides( 15 ),
			lb
		)
	);
	
);

New Window( "Custom Table",
	Outline Box( "Custom Table",
		Border Box( Right( 5 ), Left( 5 ), top( 5 ), bottom( 5 ),
			H List Box(
				V Center Box( Text Box( "CAT_ECH", <<Rotate Text( "left" ) ) ),
				V List Box(
					H Center Box( Text Box( "CAT_MK" ) ),
					Lineup Box( N Col( 4 ), spacing( 0 ), 
						
						//Row 1
						getCell( {"Count", "Total %", "Col %", "Row %"}, 1 ),
						getCell( {"0-100", "", "", ""}, 0 ),
						getCell( {">=100", "", "", ""}, 0 ),
						getCell( {"Total", "", "", ""}, 0 ), 
					
						//Row 2
						getCell( {"0-250", "", "", ""}, 0 ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ), 
					
						//Row 3
						getCell( {"250-3000", "", "", ""}, 0 ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ), 
					
						//Row 4
						getCell( {">=3000", "", "", ""}, 0 ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ), 
					
						//Row 5
						getCell( {"Total", ""}, 0 ),
						getCell( {"13", "30.95"}, 1, "Right" ),
						getCell( {"13", "30.95"}, 1, "Right" ),
						getCell( {"13", "30.95"}, 1, "Right" )
					)
				)
			)
		)
	)
);

Here is what the resulting window will look like with this method:

Custom Table.PNG

Justin

View solution in original post

4 REPLIES 4

Re: Create a tab box with a cross tab box design

You can fairly easily recreate the Tabulate using a TableBox and ColSpan Boxes. See below for an example.

Names Default To Here( 1 );
New Window( "Col Span Box",
	Table Box(
		Number Col Box( "CAT_ECH", {1, 2, 3} ),
		Col Span Box(
			"CAT_MK",
			Col Span Box(
				"0-100",
				Col Span Box("COUT_TOT_ENVIRONNE",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("TEMPS",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("COUT_CONSOS",Number Col Box( "Mean", {1, 2, 3} ))
			),
			Col Span Box(
				">=100",
				Col Span Box("COUT_TOT_ENVIRONNE",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("TEMPS",Number Col Box( "Mean", {1, 2, 3} )),
				Col Span Box("COUT_CONSOS",Number Col Box( "Mean", {1, 2, 3} ))
			)
		)
	)
);

Here is what the Col Span Box method looks like:

Col Span Box.PNG

Since the CrossTabBox DisplayBox is not scriptable using JSL, you would need to use a different method to recreate something like what is used in the Contingency platform.

You can do this using a concept I have been working on to use a LineupBox to create your own custom tables. This method uses a custom function for the creation of each cell to avoid a lot of code duplication. See my comments for details.


//helper function to create cells in the lineupBOx "table"
getCell = Function( {values, altShading, justify = "left"},
	{Default Local}, 
	
	// Create a lineup box to add each of the values to
	lb = Lineup Box( N Col( 1 ), SPacing( 0 ) ); // 1 column and no spacing
	
	// loop through and add each value
	For( i = 1, i <= N Items( values ), i++, 
	
		// if justify is left, put the spacer box on the right, otherwise, put it on the left
		If( justify == "left", 
			// borderBox to give values some spacing (and for shading)
			b = Border Box( Right( 5 ), Left( 5 ), top( 1 ), bottom( 1 ),
				H List Box(
					//Text box with current value
					Text Box( values[i] ),
					// Spacing to fill the cell shading all the way to the right (will grow horizontally, but not vertially)
					Spacer Box( <<Set Max Size( 99999, 0 ) )
				)
			)
		,
			b = Border Box( Right( 5 ), Left( 5 ), top( 1 ), bottom( 1 ),
				H List Box(
					// Spacing to right align the text. the spacer will grow horizontally, but not vertially)
					Spacer Box( <<Set Max Size( 99999, 0 ) ),
					
					//Text box with current value
					Text Box( values[i] )
				)
			)
		);
		
		// if altShading is turned on
		If( altShading == 1,
		
			// check if this is an even numbered row
			If( Mod( i, 2 ) == 0,
				//set the background color to a light-gray
				b << Background color( RGB Color( 225, 225, 225 ) )
			),
			
			//when altShading is off, we set the background color to a light-gray for all values
			b << Background color( RGB Color( 225, 225, 225 ) )
		);
		
		// Add the BorderBox to the LineupBox
		Insert Into( lb, b );
	);
	
	// Return the LineupBox with a Border with lines around it
	Return(
		Border Box( Right( 0 ), Left( 0 ), top( 0 ), bottom( 0 ), sides( 15 ),
			lb
		)
	);
	
);

New Window( "Custom Table",
	Outline Box( "Custom Table",
		Border Box( Right( 5 ), Left( 5 ), top( 5 ), bottom( 5 ),
			H List Box(
				V Center Box( Text Box( "CAT_ECH", <<Rotate Text( "left" ) ) ),
				V List Box(
					H Center Box( Text Box( "CAT_MK" ) ),
					Lineup Box( N Col( 4 ), spacing( 0 ), 
						
						//Row 1
						getCell( {"Count", "Total %", "Col %", "Row %"}, 1 ),
						getCell( {"0-100", "", "", ""}, 0 ),
						getCell( {">=100", "", "", ""}, 0 ),
						getCell( {"Total", "", "", ""}, 0 ), 
					
						//Row 2
						getCell( {"0-250", "", "", ""}, 0 ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ), 
					
						//Row 3
						getCell( {"250-3000", "", "", ""}, 0 ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ), 
					
						//Row 4
						getCell( {">=3000", "", "", ""}, 0 ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ),
						getCell( {"13", "30.95", "43.33", "68.42"}, 1, "Right" ), 
					
						//Row 5
						getCell( {"Total", ""}, 0 ),
						getCell( {"13", "30.95"}, 1, "Right" ),
						getCell( {"13", "30.95"}, 1, "Right" ),
						getCell( {"13", "30.95"}, 1, "Right" )
					)
				)
			)
		)
	)
);

Here is what the resulting window will look like with this method:

Custom Table.PNG

Justin
heloiseheraud
Level II

Re: Create a tab box with a cross tab box design

Very nice! Thank you! I surely will use this code template a lot!!

heloiseheraud
Level II

Re: Create a tab box with a cross tab box design

Just one thing though, in your function I had to change the line:

 

// Add the BorderBox to the LineupBox
		Insert Into( lb, b );

into:

 

// Add the BorderBox to the LineupBox
		lb << Append( b );

 to make it work, otherwise I got nothing displayed.

I definitely love your work!

Re: Create a tab box with a cross tab box design

Ah, yes. The Insert Into functionality for DisplayBoxes was not added until JMP 13. Glad to hear this will work for you.

Justin

Recommended Articles