차트를 JSL에서 ".jrp" 파일로 저장<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요 여러분
작업하는 동안 JMP(".jrp" 파일)의 보고서로 차트를 저장해야 한다는 요구 사항을 발견했습니다. 이 차트는 스크립트 실행 중에 생성되었습니다.
JSL에 파일을 저장하기 위해 모든 코드 조합을 시도한 긴 하루를 보낸 후 "보고서" 유형으로 저장하는 것에 대한 칭찬이 없는 것 같습니다.
저널(".jrn"), .pdf 등만...
또한 포럼에서 검색하는 동안 누군가 주제에 대해 비슷한 질문을 마지막으로 한 것이 2011년이었고 아무도 답변을 하지 않은 것을 발견했습니다.
그래서:
jsl에 ".jrp" 파일을 저장할 수 있습니까?
Re: 차트를 JSL에서 ".jrp" 파일로 저장JMP 16에서는 <<창 보고서 저장 메시지는 보고서를 .JRP 파일로 저장합니다.
Names Default To Here( 1 );
//This message can be sent to any display box object but will be applied to the report window
Open( "$SAMPLE_DATA/Big Class.jmp" );
d = distribution( Column( :height ) );
d << Save Window Report(
"$DOCUMENTS/test.jrp",
embed data( 1 )
);
Re: 차트를 JSL에서 ".jrp" 파일로 저장안녕 웬디,
안녕하세요! 저는 스크립팅이 처음이고 아직 배우고 있습니다.
나는 당신의 코드를 읽고 그것을 실행하려고합니다. "를 포함하지 않으면 by(:pin_group) ".. JMP 보고서를 저장합니다.
이것은 내가 테스트에 사용한 라인입니다.
dist= dt << Distribution( Continuous Distribution( Column( :Measurement ),Normal Quantile Plot( 0 ) ), by(:pin_group));
내가하려는 것은 다음과 같습니다.
1. 분포 받기 (그룹별 ~ 23개 그룹)
2. 히스토그램에서 수정을 수행합니다(축과 기준선 추가 - 생성된 모든 히스토그램에 대해).
3. JRP(귀하의 예제 - 코드), 데이터 테이블이 있는 히스토그램으로 저장합니다. >> 이것은 내가 문제에 직면하고 있는 곳입니다.
동일한 보고서에 여러 히스토그램이 있는 JRP로 저장하는 특정 코드가 있습니까?
저를 교육해주세요. 도움을 주셔서 감사합니다!
Re: 차트를 JSL에서 ".jrp" 파일로 저장이것은 좋은 코드입니다. MS 감사합니다. 단방향 분포가 있는 한 페이지에 여러 그래프가 있는 경우 H 목록 상자 및 V 목록 상자를 사용하는 테이블 및 그래프 빌더는 어떤 이유로 obj<< get script에 오류가 표시됩니다. 상위 디렉토리를 사용해야 합니까?Re: 차트를 JSL에서 ".jrp" 파일로 저장이 질문은 꽤 자주 나옵니다.안타깝게도 보고서를 JRP 파일로 직접 저장하는 JSL 명령이 없습니다.이는 이전에 JMP의 향후 릴리스에서 고려할 기능으로 제안되었습니다.
앞에서 언급한 것처럼 JRP 파일은 JSL 코드가 포함된 텍스트 파일입니다.플랫폼에서 스크립트를 추출한 다음 텍스트 파일 저장을 사용하여 파일 경로와 스크립트를 JRP 파일 확장자를 가진 텍스트 파일로 저장할 수 있습니다.다음은 명확하게 하는 데 도움이 될 수 있는 더 간단한 예입니다.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dist = dt << Distribution(
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :age ) )
);
distScript = dist << Get Script;
Save Text File(
"C:\temp\DistributionScript.jrp",
"//!
Open( \!"$SAMPLE_DATA\Big Class.jmp\!" );"
||
Char( Name Expr( distScript ) )
);
Close( dt, No Save );
Wait( 2 ); //For demonstration purposes
Open( "C:\temp\DistributionScript.jrp" );
도움이 되길 바랍니다!
Re: 차트를 JSL에서 ".jrp" 파일로 저장나는 당신이 그 배후의 원칙에 대해 전혀 생각하지 않고 코드를 취했다고 생각합니다.
기능 테스트에서 실제로 보고서를 저장하지만 보고서가 복잡한 경우 정의되지 않은 변수로 인해 종종 오류가 발생합니다.그러나 함수가 작동하는 이유에 대한 원리를 읽어 봅시다.
MS가 쓴 내용:
.jrp로 자동 저장:
.jrp는 자동 실행되는 .jsl인 것 같습니다. 코드에는 1) 저장된 데이터 테이블 또는 포함된 데이터 테이블에 대한 참조 및 2) 보고서를 생성하는 코드가 포함됩니다. 따라서 .jrp 저장을 스크립팅하는 것은 매우 간단해야 합니다.
(강조를 위해 밑줄)
따라서 보고서를 생성하는 스크립트가 있는 경우 스크립트를 .jsl 대신 .jrp로 저장하면 됩니다.
Re: 차트를 JSL에서 ".jrp" 파일로 저장안녕하세요, 귀하의 답변과 코드에 감사드립니다.
시간을 내어 저를 위해 이 기능을 구축해 주셔서 정말 감사합니다.
문제는 내 조건에서 실제로 작동하지 않는다는 것입니다 ... 당신이 쓴 것은 실제로 작동하고 있습니다. 하지만 내겐 아니야 필요합니다.
일부 이유 그것은 단지 테이블을 다시 저장하고 보고서
Re: 차트를 JSL에서 ".jrp" 파일로 저장약간의 상호 작용이 있는 .jrp로 저장:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :Weight ), X( :Height ) );
Wait(1);
biv<< Bring Window To Front;
Main Menu( "Save As" );
.jrp로 자동 저장:
.jrp는 자동 실행되는 .jsl인 것 같습니다. 코드에는 1) 저장된 데이터 테이블 또는 포함된 데이터 테이블에 대한 참조 및 2) 보고서를 생성하는 코드가 포함됩니다. 따라서 .jrp 저장을 스크립팅하는 것은 매우 간단해야 합니다.
작동하는 한 가지 방법은 다음과 같습니다.
// Function to save .jrp
Save_jrp = Function( {dt, obj, dir, filename},
{embed_data = 0}, // Switch between embedded and referenced data table.
Save Text File(
dir || filename || ".jrp",
If( embed_data,
Char(
Eval Expr(
Expr( dt << get script );
Expr( obj << get script );
)
),
Char(
Eval Expr(
Open( Expr( dt << get path ) );
Expr( obj << get script );
)
)
)
)
);
// Define example input data: data table, report, path and file name
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :Weight ), X( :Height ) );
dt = biv << get data table;
biv << set window title( "MyReport" );
fname = biv << get window title;
path = Get Default Directory();
// Run function
Save_jrp( dt, biv, path, fname );
// Test if it worked
Close( dt, no save );
Wait( 1 );
Open( path || fname || ".jrp" );