JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?안녕하세요 여러분,
나는 (가능한 경우) 자신이 정의한 개요 상자에 빨간색 핫 버튼 메뉴를 추가하는 방법을 배우고 싶습니다. 예를 들어 그래프 빌더 플랫폼에는 "데이터 테이블에 스크립트 저장" 및 기타 옵션을 허용하는 인기 버튼이 있습니다.

이 옵션을 사용하고 싶은 다른 스크립트를 작성했습니다. 아웃라인 상자에는 일부 옵션에 대한 작은 회색 삼각형이 함께 제공되지만 빨간색 핫 버튼 옵션은 제공되지 않습니다. 예를 들어:

스크립팅 색인과 스크립팅 가이드를 검색했지만 이에 대한 문서를 찾을 수 없습니다.
가능한지 아는 사람 있나요? 그렇다면 어떻게?
감사해요!,
DS
자동화 및 스크립팅대량 맞춤화결과 공유 및 전달윈도우Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?<< Set Menu Script를 찾고 계십니까? 스크립팅 인덱스의 예
Names Default To Here(1);
New Window("Example",
fontobj = ob = Outline Box("Outline Box",
V List Box(
ob2 = Outline Box("Outline Box 2",
H List Box(
Text Edit Box("Top Left"),
Text Edit Box("Top Right")
)
),
ob3 = Outline Box("Outline Box 3",
H List Box(
Text Edit Box("Bottom Left"),
Text Edit Box("Bottom Right")
)
)
)
)
);
ob << Set Menu Script(
{"A", Print("A"), "B", Print("B"), "B1", Print("B1"), "B2",
Print("B2"), "B3", Print("B3"), "C", Print("C")}
);
ob << Set Submenu(2, 3);

JMP 도움말에도 이와 관련된 내용이 있지만 JMP 도움말 페이지의 끔찍한 검색으로 인해 찾기가 매우 어렵습니다. https://www.jmp.com/support/help/en/17.2/#page/jmp/construct-display-boxes-for-new-windows.shtml#ww883930 )

Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?튜토리얼 영상:
JMP 스크립팅 언어 5.3장 소개 @ 10:30분
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?안녕 @jthi 그리고 @호기 ,
이 프로세스를 시작할 위치에 대한 정보를 제공해 주셔서 감사합니다. 매우 도움이 됩니다. 그리고 현재로서는 부분적으로만 해결책이 될 뿐입니다.
메뉴 스크립트를 추가할 수 있었습니다. 지금은 데이터 테이블, 스크립팅 창 및 저널에 로컬 데이터 필터와 저장 스크립트(3가지 옵션)라는 두 가지만 추가하고 있습니다.
지금은 로컬 데이터 필터가 있고 저널에 스크립트를 저장하는 기능이 제대로 작동하고 있습니다. 내가 더 힘든 시간을 보내고 있는 것은 저장 스크립트를 데이터 테이블에 가져오고 스크립트를 스크립팅 창 기능에 저장하는 것입니다. 다음은 메뉴 스크립트를 활성화한 다음 선택한 각 메뉴 항목에 대한 작업을 할당하는 코드 섹션입니다.
mob << Set Menu Script(
{"Local Data Filter", ts << Local Data Filter ; gb << Local Data Filter, "Save Script", "", "To Data Table", nwin <<
Save Script to Data Table( "Correlation Analysis of " || ycols[1] || " vs. " || xcols[1], <<PROMTP></PROMTP>내 사용자 정의 보고서 창은 다음과 같습니다.

사용자가 데이터 테이블(또는 스크립팅 창)에 저장 스크립트를 선택할 수 있고 기본적으로 이 사용자 정의 보고서를 생성하는 데 사용되는 스크립트를 저장하여 이 분석을 데이터 테이블에 저장할 수 있는 옵션을 갖고 싶습니다. 누군가 스크립트 옆에 있는 녹색 스크립트 화살표를 클릭하면 전체 추가 기능을 다시 실행할 필요 없이 분석을 다시 실행할 수 있습니다.
스크립팅 인덱스에서 이에 대한 내용을 읽어보면 플랫폼 보고서(예: 그래프 빌더 또는 시계열)와 같은 개체만 데이터 테이블에 개별적으로 저장할 수 있지만 보고서 창인 전체 개요 상자 개체는 데이터 테이블에 개별적으로 저장할 수 없는 것으로 보입니다. 그런 종류의 전송(<<) 명령은 허용되지 않습니다. 각 플랫폼 개체를 개별적으로 저장하는 것이 아니라 데이터 테이블/스크립트 창에 대한 분석을 수행하는 데 사용한 후 전체 스크립팅 코드를 저장하는 것을 선호합니다.
정확한 이유는 모르겠지만 여러 Expr 문을 사용하고 있기 때문에 코드의 구조가 다르기 때문일 수 있습니다. 대략적으로 내 코드는 다음과 같이 구성됩니다.
Names Default To Here( 1 );
//any variable definitions
var1 = .;
var2 = .;//etc
//Expression to recall roles
RecallRoles = Expr(
//inside is the code to recall roles
);
//Expression to clear roles
ClearRoles = Expr(
//similar code to clear roles
);
//User interface window
ValueDlg = Expr(
nwin = New Window(
// opens a new window with the main outline box and subpanels
//and action buttons
mob = Outline Box(
//this is the main outline box that contains the subpanels and
//time series and graph builder platforms
//it also contains the action buttons that perform certain tasks
)
);
mob << Set Menu Script(
//this is where I'm trying to save the evaluated script to the data
//table so a usercan just cick it, and the script will execute with
//the variables already evaluated and not have to cast columns into
//roles, etc.
);
);
ValueDlg;//this calls the ValueDlg Expr and evaluates it.
여러분 중 누구라도 제가 이 작업을 수행할 수 있는 방법에 대한 아이디어나 생각이 있다면(제 설명이 이해가 되기를 바랍니다) 이에 대한 피드백을 주시면 감사하겠습니다.
감사해요!,
DS
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?데이터 필터를 추가하고 보고서의 스크립트를 데이터 테이블에 저장하려면 - 윈도우 PC , 보고서 도구 모음 사용을 고려할 수 있습니다.

Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?개요 상자에 스크립트를 요청하면 디스플레이 트리와 같은 내용이 반환됩니다.
따라서 이것도 작동하지 않습니다.
보고서를 생성하면 보고서를 생성하는 데 필요한 전체 표현식이 제공됩니다.
따라서 사용자가 스크립트 저장을 클릭하면 이 표현식을 사용하여 스크립트로 저장할 수 있습니다.
[이후 사용자가 변경한 내용은 저장되지 않습니다.]
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
New Window( "test",
ob = Outline Box( "test",
V List Box( Text Box( "hello" ), gb = dt << Graph Builder( Variables( X( :height ), Y( :weight ), Overlay( :sex ) ) ) )
)
);
ob << get script(); // Display Tree
ob << get scriptable Object (); // Empty
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?사용자 정의된 창을 생성하는 스크립트를 저장하는 것은 기본적으로 사용자 선택 사항이 적용된 해당 스크립트에 전체 추가 기능을 포함해야 하기 때문에 일반적으로 매우 어렵습니다. 그러면 사용자가 기본적으로 추가 기능을 다시 실행하는 것과 같습니다. 안에). 나는 이와 같은 문제에 대해 최소한 몇 가지 다른 솔루션을 가지고 있습니다. (내 추가 기능은 일반적으로 너무 복잡하기 때문에 전체 창을 저장하려고 하지 않습니다.)
- 사용자가 추가 기능에 로드하여 "다시 채울" 수 있는 데이터 테이블에 일종의 설정 변수를 저장합니다.
- 전체 스크립트를 저장하지 말고 기능이 많지 않은 일종의 "대시보드" 유형의 솔루션을 저장하세요.
- 일부 간단한 부분만 테이블 스크립트로 저장
- 그리고 아마도 지금은 기억나지 않는 몇 가지가 더 있을 것입니다...
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?가장 좋은 아이디어는 보고서를 수동으로 생성하는 것이 아니라 다음을 통해 생성하는 것입니다. 대시보드 빌더 .
생성된 대시보드에는 (대시보드) 스크립트를 저장하는 옵션이 있는 빨간색 삼각형 메뉴가 있습니다.
... 그리고 Jmp17 이후에는 수동으로 생성된 스크립트처럼 보이는 단순화된 버전을 저장할 수 있는 옵션도 있습니다.

Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?님의 제안에 추가 @jthi , 추가 기능에서 호출하는 함수를 만들 수 있으며 저장 스크립트는 함수 호출일 뿐입니다. 함수가 잘 디자인되고 필요한 옵션을 처리하는지 확인하려면 약간의 관리가 필요하지만 추가 기능을 실행하기 위한 대화 상자를 작성하는 경우 이미 많은 인수를 정의했을 것입니다.
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?안녕 @jthi , @호기 , 그리고 @Jeff_Perkinson ,
피드백, 생각, 토론에 감사드립니다. 음, 생각보다 까다로울 수도 있을 것 같습니다. 이것이 가능하지 않다는 말은 아니지만 메뉴 스크립트를 개요 상자에 추가하는 것만큼 "간단"하지는 않습니다. 나는 여기서 몇 가지 아이디어를 끓이고 씹어 봐야 할 수도 있습니다.
@호기 , Windows에 스크립트 저장 및 데이터 테이블에 모든 개체에 대한 스크립트 저장을 시도했지만 둘 다 의도한 대로 작동하지 않았습니다.
내가 원하는 해결책을 찾으면 다른 사람들이 이 문제를 발견하고 관심을 가질 경우를 대비하여 내가 해결한 방법으로 이 게시물을 업데이트하겠습니다.
모두 감사합니다!,
DS
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?Application/Dashboard Builder는 놀라울 정도로 유용합니다. 시도해 볼 가치가 있습니다 
JMP®로 대시보드 및 애플리케이션 구축(US 2018 408)
유튜브 영상(Jmp 10)
https://www.youtube.com/watch?v=XyiQqUELc2A
자세한 내용이 담긴 긴 동영상은 다음과 같습니다.
아직 App Builder를 사용하지 않는 이유는 무엇입니까? - (2023-US-30MP-1401)
짧은 버전:
Application Builder를 사용하여 매개변수화된 애플리케이션 생성
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?기본적으로 "쉽게" 실행 가능하도록 처음부터 설계해야 하는 것입니다.
다음은 제가 가지고 있는 한 가지 예입니다. 추가 기능은 그래프 빌더(및 파티션/부트스트랩 포리스트)만 포함한다는 점에서 매우 간단합니다.

하지만 빌드하는 스크립트를 저장하는 것은 악몽이 될 것입니다. JMP의 스크립트 가져오기 또는 데이터 테이블에 스크립트 저장(또는 기타 방법)으로 캡처할 수 없는 숨겨진 항목이 많이 있으며 추가 기능은 10개 이상의 서로 다른 .jsl 파일로 나뉩니다. UI를 데이터 테이블에 저장할 수 있더라도 네임스페이스의 엄격한 관리로 인해 사용자가 스크립트를 다시 실행할 때 작동하지 않습니다(예를 들어 UI는 다른 모든 기능에 액세스할 수 없습니다).따라서 이 경우에는 사용자에게 열 선택 사항과 순서를 저장할 수 있는 옵션만 제공합니다(여러 항목을 저장할 수 있음).그런 다음 동일한 테이블이 열려 있을 때 다른 입력을 로드하고 추가 기능을 다시 실행할 수 있습니다.

이 추가 기능을 리팩토링하여 테이블 스크립트나 스크립트 창에 (대부분) 저장할 수 있는 방식으로 작동하도록 할 수 있지만 처음부터 다시 작성해야 합니다.
다른 추가 기능(사진을 표시할 수 없음) 사용자 입력을 기반으로 데이터를 쿼리하고 일부 계산을 수행한 다음 몇 가지 그래프 빌더와 일부 추가 열 전환기/데이터 필터를 사용하여 결과를 표시하고 해당 "플랫폼"을 저장하는 기능이 있습니다/ 쿼리 및 계산이 완료된 후 즉시 데이터 테이블에 UI/시각화됩니다. 그런 다음 해당 테이블 스크립트를 실행하여 사용자에게 결과를 표시합니다. 이것은 매우 간단한 추가 기능이므로 일부 표현식을 사용하여 이 작업을 매우 쉽게 수행할 수 있었습니다(초기 버전에서는 시각화를 저장하지 않았지만 사용자의 요청이므로 구현했습니다).
그리고 제가 현재 작업하고 있는 세 번째 작업(다시 표시할 수 없음)도 비슷한 작업을 수행합니다. 사용자 입력을 기반으로 데이터를 가져와 계산을 수행하고 분석 결과를 표시하고 시각화합니다. 다시 말하지만, 사용자에게 제공하는 모든 옵션이 너무 번거롭기 때문에 전체 UI를 데이터 테이블에 저장할 수 없습니다. 하지만 기본적으로 "팝아웃 대시보드" 버튼을 추가하면 다음 항목만 대시보드만 생성됩니다. UI의 일부와 이 "팝아웃 대시보드" 내에서 몇 가지 추가 기능을 추가할 수 있습니다. 처음부터 그걸 염두에 두고 디자인해라 . 그리고 이 팝아웃 대시보드는 데이터 테이블에 저장될 수 있습니다.
편집: 또한 번거롭고 제대로 작동하는 데 시간이 오래 걸리기 때문에 스크립트에 호출 버튼을 거의 추가하지 않습니다. 이 작업에 도움이 될 수 있는 스크립트가 하나 있다는 것을 알고 있지만 이 스크립트는 내가 사용할 만큼 작업을 (항상) 충분히 수행할 수는 없습니다. 사용자가 내가 작성한 대부분의 도구에 대해 리콜 버튼을 요청하기 시작하면 대부분의 경우에 작동할 수 있는 스크립트 작성을 고려할 수 있습니다.
Re: JSL: 개요 상자에 빨간색 핫 버튼 옵션을 추가하는 방법은 무엇입니까? 아니면 할 수 있나요?Application Builder를 통해 생성된 GUI를 사용하면 이 모든 것이 매우 쉽습니다. GUI에서 작업하고 이를 최적화하며 전체 기능의 최신 버전을 새로운 테이블 스크립트로 저장할 수 있습니다. "이 작업을 수행하려면 애플리케이션 빌더를 사용하지 않는 것이 좋습니다"라는 암시적 메시지가 표시됩니다. 애플리케이션 빌더를 통해 불가능한 기능이 있습니까?
제가 느낀 한 가지 단점은 다음과 같습니다.
단순한 플랫폼 개체 컬렉션 이상의 대시보드의 경우 GUI를 자동화하려면 일부 JSL 코드를 추가해야 합니다.
이 JSL 코드를 디버깅하는 것은 JSL 편집기에서보다 훨씬 더 복잡하게 느껴집니다.
어쩌면 나는 그것을 올바르게 수행하는 방법을 모르는 것 같습니다.
코드의 일부를 디버그하는 방법(예: Application Builder에서 애플리케이션을 시작하고 JSL 편집기에서 코드 조각을 병렬로 실행하여 수행하는 작업을 확인하는 방법)에 대한 Application Builder 사용자의 제안이 있습니까? 변경 없이 JSL 편집기에서 코드 조각을 사용할 수 있도록 애플리케이션의 네임스페이스에 액세스하는 방법에 대한 프레임워크가 있습니까?