<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />내 필요하다 : 역동적 인 (잘, 일종의) 스택에 열 선택 테이블을 쌓아.
나는 쌓을 칼럼의 이름이 값으로 저장되는 config 테이블을 사용하여 해결했다. 그런 다음 "get values"를 수행하고
결과를 문자열에 지정하십시오. 마침내이 문자열을 스택 명령에 넣습니다.
작동하지만, ...
내 기록에 매번
오류가 발견되었습니다. 액세스 또는 열의 평가에서, 잘못된 인수 (Eval (d))
, 열 (Eval (d)) "
eval 없이는 실행되지 않고, eval은 완벽하게 실행되지만 내 로그를 오염시킵니다. 왜 그 사람이 누군지 압니까?
코드는 다음과 같습니다.
conf3 = open ( "\ 여기에 config 테이블이 있습니다");
// load config, 최종 보고서에서 원하는 "클래스"를 선택하기 위해 사용자가 편집 할 Excel 파일입니다.
//이 클래스 세트는 매우 안정적이며 대부분의 경우 마지막 실행에서 변경되지 않지만 가끔 클래스를 추가하거나 변경해야하는 경우가 있습니다
// 다음과 같이 간단합니다 : column1 : 검정 흰색 빨강 column2 : 빨간색 흰색 등
d = 열 (conf3, i) << 값 가져 오기;
// i는 색인입니다.
// 사이클마다 수행하고 각기 다른 테이블을 실행하여 다른 스택 세트에 대해 다른 열을 쌓아서 쌓습니다.
// 여기서 i는 설정의 i 번째 열에서 값을 가져오고 문자열 d에 채우면 좋은 결과를 얻습니다.
snowhite = 열기 ( "\ jmp_tables \ snowhite.jmp", 보이지 않음);
// 스택 할 테이블을로드한다.
snowhite << Stack (스택
열 (eval (d)),
(: 분할, : 로트 ID, : 장치 ID)), 출력 테이블 (들)), 소스 테이블 ( "클래스"), 누적 데이터 열 ( "밀도" ;
그래, 나는 그것이 가치가 있다는 것을 알아 차렸을 때 문제가 될 수 있다고 생각했다.
불행히도 목록이 Excel 파일 열에서 왔다고 말했기 때문에 동일한 높이의 모든 열을 갖기 위해 끝에 빈 셀을 자동으로 삽입하므로 그 값은 불가피합니다.
나는 당신의 해결책을 시도 할 것이다, 고마워!
그리고 네, 제 설명에서 틀린 말입니다 : d는 문자열이 아니라 문자열 목록입니다. 왜냐하면 스택 명령에 문자열이 아닌 목록이 필요하기 때문입니다!
내가 추측 컨대 디 여기에 문자열이 없지만 << get 값으로 문자열 목록은 목록 (또는 연속 변수에 대한 행렬)을 생성합니다. conf3에있는 클래스 세트가 항목 수가 다르면 테이블은 가장 큰 세트만큼의 행을가집니다. 그럼 일부 choises 들어 디 빈 문자열 항목, 즉 ""을 포함합니다. 이는보고 된 오류의 원인 일 수 있습니다 (열에는 ""이외의 이름이 있어야합니다).
아래 코드 줄을 사용하여 ""의 모든 인스턴스를 제거 할 수 있습니다. 디 스태킹하기 전에. 목록을 정리하는 것이 더 쉬운 방법 일 수 있지만 이는 효과가 있습니다.
동안 ( 내용 ( 디 , "" ) > 0 , 에서 제거 ( 디 , 내용 ( 디 , "" ) ) ) ;