패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법안녕하세요,
사용자에게 배포할 애플리케이션을 작성 중입니다.
여러 가지 이유로 실행에 필요한 모든 스크립트와 데이터 테이블을 중앙 집중화하는 애플리케이션이 필요합니다(애플리케이션 외부에서 스크립트나 참조 데이터 테이블을 호출할 필요가 없음).
애플리케이션에 포함된 기능에 모든 스크립트를 중앙 집중화하는 데 성공했지만 데이터 테이블을 포함하는 방법을 모릅니다. 즉, 일부 참조 데이터 테이블을 공개 위치에 유지하고 애플리케이션에서 호출해야 한다는 의미입니다. .
배포할 수 있도록 단일 앱에 모든 것을 포함하는 방법을 아는 사람이 있습니까?
많은 감사를 드립니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법이 문제는 해결된 것으로 표시되어 있지만 다음 사항을 추가하고 싶었습니다.
개체 탐색기에서 데이터 테이블을 찾을 수 있습니다. 클릭하면 아래에 속성이 열립니다. 여기에서 위치를 제어할 수 있습니다. 내장된 스크립트로 설정하는 것이 좋을 것 같습니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법그것도 우아한 방법이죠
하지만 저는 앱 내의 모든 파일을 중앙 집중화하는 것을 선호합니다.
감사해요.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법추가 기능이 공유 드라이브에 있는 경우 데이터 세트를 동적으로 생성하는 대신 추가 기능 위치에 저장할 수 있습니다.예를 들어 다음은 addin.def입니다.
id="com.abccorp.mydept.myapp"
name="My Application"
autoload=1
home="M:\jmpapps\myapp\Addin"
모든 JSL 파일과 데이터세트를 M:\jmpapps\myapp\Addin 폴더에 저장합니다.
코드에서 addin 접두사를 사용하여 데이터세트를 참조할 수 있습니다.
open("$ADDIN_HOME(com.abccorp.mydept.myapp)\mydataset.xlsx");
HTH
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법정보 주셔서 감사합니다 
모두에게 감사드립니다...
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법참고로,
JMP는 컴파일된 언어가 아닌 해석적 언어입니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법아아아아,
알겠어요. 이제 완벽하게 작동합니다...
나는 그것을 호출하는 함수를 먼저 정의해야 한다는 것을 몰랐습니다. 다른 언어에서는 컴파일 후 함수가 어디에 위치하든(심지어 스크립트 외부에서도) 인식됩니다.
고마워요!
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법Ian(Jan btw 아님)은 함수가 호출되기 전에 정의된 코드를 보여주었습니다.코드는 정의되기 전에 함수를 호출합니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법이것은 나에게 효과적이었습니다.
NamesDefaultToHere(1);
CreateTab = Function( {}, {Default Local},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age", Numeric, Continuous, Format( "Best", 12 ), Set Values( [3, 5, 2, 8] ) ),
New Column( "Height", Numeric, Continuous, Format( "Best", 12 ), Set Values( [0.6, 1.03, 0.55, 1.3] ) )
);
A;
);
dt = CreateTab();
dt << Distribution(Y(:Height));
함수를 두 번 호출하면 JMP가 테이블 이름 충돌을 처리하므로 계속 작동합니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법1월,
귀하의 제안을 테스트하기 위해 아래에 간단한 코드를 추가했습니다.
나는 그 원칙이 효과가 있다고 확신하지만 어떻게든 그것을 할 수는 없습니다.
dt = CreateTab();
CreateTab = Function( {},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [3, 5, 2, 8] )
),
New Column( "Height",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.6, 1.03, 0.55, 1.3] )
)
);
A;
);이는 생성된 테이블을 dt에 전달할 수 없는 것과 같습니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법안녕하십니까?
죄송합니다. 중요한 팁 중 하나를 잘못 이해했습니다!!!! 
사실 "데이터 스크립트 복사"에 대한 귀하의 제안은 이를 작동시키는 마법 같은 것이어야 합니다 !!!!! 저는 이 기능을 몰랐어요!
테스트해보겠습니다...
많은 감사를 드립니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법'사양 또는 참조'에 대한 설명을 완전히 이해하지 못하지만 다음과 같은 경우에는 그럴 필요가 없을 수도 있습니다. 이 스레드 도움이됩니다.
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법1월,
저는 Application Builder를 사용하기 시작했다가 중단했습니다. (제가 생성한 개체를 제어하는 방법을 전혀 이해하지 못했습니다. 게다가 전체 스크립팅 방법에 비해 삽입할 개체가 제한되어 있었습니다.)
어쨌든 이제 모든 것을 스크립트로 작성하고 있습니다.
Dan의 예는 내가 무엇을 하려는지 설명하는 데 매우 좋습니다. 그의 예에서 데이터 테이블 삽입이라는 것은 단지 응용 프로그램 빌더에 표시되도록 만드는 것입니다. 그러나 실제로는 해당 위치($SAMPLE_DATA\Big Class.jmp)에서 소스를 가져옵니다. 이는 내 컴퓨터 어딘가에 이미 저장되어 있는 데이터 테이블 "Big Class"의 복사본이 없으면 Dan의 코드가 작동하지 않는다는 것을 의미합니다.
내가 원하는 것은 사용자가 이 테이블의 복사본을 가질 필요가 없도록 응용 프로그램에 테이블을 포함시키는 것입니다. 그런데 이 테이블은 일종의 사양 또는 참조이므로 스크립트로 생성할 수 없습니다.
제 설명이 모호하지 않았으면 좋겠습니다...:(
Re: 패키지에 애플리케이션, 스크립트 및 데이터 테이블을 포함하는 방법내 생각에 이 작업을 수행하는 '가장 좋은' 방법은 애플리케이션을 구축하는 방법(Application Builder를 사용하여?)과 원하는 워크플로 및 사용자 인터페이스에 따라 달라질 수 있다고 생각합니다. 댄스 블로그 게시물 유용할 수도 있습니다.
JSL을 추가하여 JMP 테이블을 자신의 코드에 생성함으로써 JMP 테이블을 '포함'할 수도 있다는 점을 잊지 마십시오(필요한 테이블의 빨간색 삼각형 메뉴에서 '테이블 스크립트 복사' 사용).