Excel에서 필터 조건을 생성하고 데이터 테이블에 적용하는 문자열 구문 분석안녕하세요,
https://community.jmp.com/t5/Discussions/JSL-how-to-create-a-reference-to-a-table-variable-inside-a/td-p/40102
수정하여 데이터 테이블에 적용 할 수있는 사용자 지정 수식 시트를 만들고 싶습니다.
첨부 파일에 시트가 있다고 가정하십시오.
공식 시트

적용 할 수 있도록이 수식을 연결하고 싶습니다. selectwhere.
아래에 for 루프 아이디어가 있지만 구문 분석하여 선택하는 방법을 알 수 없습니다.
dt = open("$SAMPLE_DATA/Cars.jmp")
formula_Sheet = open("C:\Formula_Sheet.xlsx",
Worksheet Settings(
1,
Has Column Headers( 1 )
));
condition_list = {}
For( i = 1, i <= Nrows( formula_Sheet ), i++,
Make_col = formula_Sheet:Name("column_name")[i] ;
filter_state = formula_Sheet:Name("filter_state")[i] ;
filter_1 = formula_Sheet:Name("filter_1")[i] ;
combined_filter_cond[i] = select where(:Name(\!""||Make_col[i]||"\!")"\!||Filter_state"\!||Filter_1"\!)";
condition_list = insert(combined_filter_cond[i])
));
<BR />//This is the final selection code should look like
dt << selectwhere((contains(:Name("Make"), "Honda") | !contains(:Name("D/P"), "Driver") | :Name("doors")>=2))
관리자가 도움을 줄 수 있으면 감사하겠습니다.
데이터 테이블다른스크립팅Re : Excel에서 필터 조건을 생성하고 데이터 테이블에 적용하는 문자열 구문 분석자동차 데이터 테이블에서 선택 항목을 생성하기 위해 스크립트를 재 작업했습니다.
names default to here(1);
dt = open("$SAMPLE_DATA/Cars.jmp");
formula_Sheet = open("C:\Formula_Sheet.xlsx",
Worksheet Settings(
1,
Has Column Headers( 1 )
));
//formula_Sheet =data table("DATA_for_SAS_community");
theExpr = "dt << selectwhere(";
For( i = 1, i <= N Rows( formula_Sheet ), i++,
If( formula_Sheet:column_name[i] != "",
If( i > 1,
theExpr = theExpr || "| "
)
);
If( Contains( formula_Sheet:filter_state[i], "contain" ),
theExpr = theExpr || formula_Sheet:filter_state[i] || "s(:Name(\!"" || formula_Sheet:column_name[i] || "\!"), \!"" || formula_Sheet:Filter_1
[i] || "\!")",
theExpr = theExpr || ":Name(\!"" || formula_Sheet:column_name[i] || "\!") " || formula_Sheet:filter_state[i] || formula_Sheet:Filter_1[i]
);
);
theExpr = theExpr || ");";
Eval( Parse( theExpr ) );