Send는 '보내기'에 대한 액세스 또는 평가에서 스크립팅 가능한 개체를 예상합니다.다른 jsl 파일에서 호출되는 다음 함수가 있습니다.
ConfirmFiltering = Function({},
show(dtImp);
dtImp << Select Where(!Contains(parameterChoice, :Parameter));
);show 명령의 출력이 다음과 같더라도
dtImp = DataTable("Details 2");다음 줄에서 다음 오류가 발생합니다.
Send는 'Send'에 대한 액세스 또는 평가에서 스크립팅 가능한 개체를 기대합니다. dtImp << /*###*/Select Where( !Contains( 매개변수Choice, :Parameter ) ) /*###*/
dtImp 명령을 DataTable로 인식하더라도 다음 줄에서는 이를 Not "Scriptable Object"로 표시하는 것이 이상하게 보입니다.
고급 통계 모델링자동화 및 스크립팅기본 데이터 분석 및 모델링데이터 접근데이터 혼합 및 정리데이터 탐색 및 시각화Re: Send가 '보내기'에 액세스하거나 평가할 때 스크립팅 가능한 개체가 필요합니다.범위 문제일 수도 있습니다. :Parameter 열에 대한 참조를 다음으로 변경하는 것이 좋습니다.
dtImp::Parameter
매개 변수 Choice의 값은 무엇입니까?
Re: Send가 '보내기'에 액세스하거나 평가할 때 스크립팅 가능한 개체를 예상합니다.매개변수 선택의 값은 내가 만들려는 추가 기능의 최종 사용자가 선택합니다.
문제가 해결되지 않으며 루트가 위치 선택 명령에 없는 것 같습니다. 내가 사용하더라도 :
dtImp << show window(1);
같은 오류가 발생합니다. DatatTble에 << 연산자를 사용하는 것을 허용하지 않는 것 같습니다.
하지만 좀 더 분석적으로 접근해보자. 2개의 스크립트가 있습니다.
Main.jsl: 최종 사용자가 버튼을 사용하여 데이터 세트를 선택할 수 있는 창을 만듭니다.
bboxImp = button box( "Select data to import", importData())
where the importData() function reads the data:
importData = Function({},
// Function that is used to select which data to import for the analysis
// Prompt the user to select input file
importFile = Pick File( "Select Excel data to import" );
if(importFile == "",
// No file was selected - we skip the rest
New window("Message", modal,
Text Box("No file has been selected for import")
),
// A file was selected - we continue
// Import data
dtImp = Open( importFile,
Worksheets( "Details" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 31 ),
Data Starts on Row( 32 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Select rows where "Component" column is empty
dtImp << Select Where( Is Missing( :Name( "Component" ) ) );
// Delete the selected rows
dtImp << Delete Rows;
// Grey out import botton and make Reimport and analysis botton available
wait(1);
dtImp << show window(0);
bboxImp << enable(0);
bboxRe << enable(1);
bboxAn << enable(1);
);
);
ImportRedo = Function({},
// Function that is used to remove imported datasets and allow for another import
// Close imported datafile and ungrey import and analysis botton
Close(dtImp, NoSave);
bboxImp << enable(1);
bboxRe << enable(0);
bboxAn << enable(0);
);그런 다음 분석 실행 버튼을 누르면 최종 사용자가 다양한 고유 값을 선택하여 데이터를 필터링하기 위해 몇 가지 선택을 하는 창을 만드는 Analysis.jsl 스크립트가 호출됩니다. 이 스크립트에서는 최종 사용자가 선택을 한 후 다음을 사용하려고 합니다.
ConfirmFiltering = Function({},
show(dtImp);
dtImp << Select Where(!Contains(parameterChoice, :Parameter));
);DataTable dtImp를 필터링합니다.
Re: Send는 '보내기'에 대한 액세스 또는 평가에서 스크립팅 가능한 개체를 예상합니다.매개변수 선택은 "xxx"와 같은 스케일러 값입니까, 아니면 JMP 목록 값 {"xxx"}입니까?
두 경우 모두 단일 값인 경우 포함 순서를 다음으로 변경할 수 있습니다.
</CODE></PRE>
<PRE><CODE class=" language-jsl">!Contains( :Parameter, parameterChoice )
Re: Send가 '보내기'에 액세스하거나 평가할 때 스크립팅 가능한 개체를 예상합니다.어떤 JMP 버전을 사용하고 있나요? 애플리케이션 빌더를 사용하고 있습니까? 범위와 네임스페이스를 어떻게 처리하고 있나요?(전체 스크립트가 표시되지 않으므로 추측할 수 있음) .jsl 파일에서 실행할 때나 추가 기능에 빌드한 후에 이러한 문제가 발생합니까? JMP 세션을 닫고 스크립트를 실행하면 처음 실행할 때 동일한 문제가 발생합니까?
Re: Send가 '보내기'에 액세스하거나 평가할 때 스크립팅 가능한 개체를 예상합니다.전체 코드를 제공하기 어려워서 일부를 설명하고 제공하려고 노력했습니다. 그러나 전체 코드를 볼 수 없는 경우 누군가에게 도움을 주기가 어렵다는 점을 이해합니다.
해결책을 찾았습니다. 문제는 위에서 제공한 Main.jsl 스크립트에 있었습니다. 이 스크립트에는 최종 사용자가 "분석 실행" 버튼을 클릭하면 호출되는 다음 함수가 있습니다.
compatStudyEval = Function({},
// Function that is used to run the analysis script and handle landing page window
// Run the analysis script related to this add-in
Include( pathAddin || "\Analysis.jsl");
// Close landing page
win << close window;
);The problem is generated by the win << close window; command which I included to close the main window.
다음 게시물에서 영감을 얻은 솔루션을 찾았습니다.
해결됨: 이름이 해결되지 않음: 액세스 또는 평가 버튼 JMP 경고 메시지 - JMP User Community