여러 테이블을 사용한 스크립팅<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />저는 JSL(및 일반적인 스크립팅)을 처음 접했고 여러 테이블을 조작하는 방법을 찾는 데 어려움을 겪고 있습니다.
한 테이블의 각 행에 대해 수행하고 싶은 작업은 두 열의 데이터를 두 개의 전역 변수로 바꾸고 두 번째 테이블의 일치하는 데이터를 조정한 다음 첫 번째 테이블의 다음 행으로 이동하여 반복하는 것입니다.
즉:
하나의 테이블에는 주당 한 행씩, 각 근무 주에 대한 총 실행 수가 있습니다. 두 번째 테이블에는 각 근무 주에 대한 많은 행이 있지만 각 행에서 해당 주의 적절한 총 실행 수를 적절한 열에 배치하고 싶습니다.
스크립팅 가이드에는 참조를 테이블에서 테이블로 이동하는 방법으로 "Current Data Table(원하는 테이블)"을 호출하는 방법이 나열되어 있지만 제대로 작동하지 않는 것 같습니다.
저는 다음과 같은 작업을 만들려고 합니다(쇼는 문제 해결을 위한 것입니다).
현재 데이터 Table("실패율") ;
각 행에 대해(
globalWeek= :주;
globalTotal = :N 행;
표시(글로벌위크);
표시(글로벌전체);
현재 데이터 Table("실행 요약 테이블");
각 행에 대해( if(Week == globalWeek,
해당 주의 실행 횟수=globalTotal))
)
내가 하려는 일이 가능한 일인가? 비록 이 특별한 상황을 해결하기 위한 다른 방법을 찾게 되더라도, 이렇게 두 테이블 사이를 오가는 일반적인 과정이 궁금합니다.
여러 테이블을 사용한 스크립팅두 번째 인수는 선택 사항이며 "변수별"을 나타냅니다. 즉, 기준 열의 모든 수준에 대해 별도의 개수를 반환합니다.
도움말 메뉴/JSL 함수 아래에 문서화되어 있습니다(이 구문 색인은 매우 유용하며 때로는 책이나 도움말 페이지보다 더 포괄적이며 좋은 예를 제공합니다).
여러 테이블을 사용한 스크립팅작동합니다. 다시 한 번 감사드립니다.
호기심에서 - Col Number를 찾아보니 인수가 하나만 필요하며 "누락되지 않은" 행의 수를 제공한다고 주장합니다. 분명히 두 가지 힘을 일종의 비교로 제공하지만 정확히 무엇을 하고 있습니까?
여러 테이블을 사용한 스크립팅Col Number는 문자 형식의 열을 좋아하지 않지만 다음 방법을 시도해 보세요.
열 번호 ( 16진수를 숫자로 ( 문자를 16진수로 ( :열 ) ) , : 열 )
여러 테이블을 사용한 스크립팅아 정말 멋지군요. 아직 열 통계 수식을 파악하지 못했습니다. 동일한 행 내 수식만 직접 수행했습니다.
조금 가지고 놀면 숫자 열에 대해 아름답게 작동합니다. 문자 열에 대해 동일한 작업을 수행할 수 있는 방법이 있습니까?
(그렇습니다. 이미 책을 구입했지만 Amazon에서 책을 받는 데 시간이 조금 걸릴 것입니다.)
여러 테이블을 사용한 스크립팅n 그런 경우에는 스크립트가 필요하지 않습니다. 열 수식이 가능합니다.
RowsPerWeek에서 다음 공식을 시도해 보세요.
열 번호( :주, :주)
여러 테이블을 사용한 스크립팅빠른 답변에 진심으로 감사드립니다.
내가 Join을 피하는 이유는 시간이 지남에 따라 더 많은 데이터가 추가됨에 따라 동일한 테이블에서 이 작업을 반복적으로 실행할 수 있기를 원하기 때문입니다.
하지만 그것에 대해 생각해 본 후에는 내가 모든 것을 필요 이상으로 훨씬 더 복잡하게 만들고 있다는 생각이 들었습니다.
제가 정말로 원하는 것은 원래 테이블에서 매주 몇 개의 행이 있는지 계산한 다음 주당 총 행 수를 열에 넣는 것입니다.
기본적으로 다음과 같습니다.
주, RowsPerWeek
5, 3
5, 3
5, 3
6, 1
7, 2
7, 2
이는 시트에 데이터를 추가할 때마다 실행한 다음 자동으로 주별 행의 합계를 계산하고 해당 열을 업데이트하는 스크립트입니다. 요약 테이블을 통해 거기에 도달한 다음 데이터를 원래 테이블에 다시 넣는 것이었지만 더 쉬운 방법이 있어야 합니다.
여러 테이블을 사용한 스크립팅두 테이블에 서로 다른 변수를 지정하면 더 쉽습니다.
pf_dt = data table("실패율");
rst_dt = data table("요약 테이블 실행");
이러한 변수를 사용하려면 다음을 수행하십시오.
for (i = 1, i <= nrows(pf_dt), i++,
one_week = 컬럼(pf_dt, "주") ;
one_total = 열(pf_dt, "N행") ;
for (k = 1, k <= nrows(rst_dt), k++,
if (열(rst_dt, "주")== 1_주,
column(rst_dt, "그 주에 실행")= one_total;
);
);
);
그러나 JOIN 명령을 사용하여 두 테이블을 조인하는 것이 더 나을 것입니다.테이블 > 조인 명령을 사용하여 새 테이블을 만든 다음 빨간색 삼각형을 클릭하여 사용된 JSL 명령을 확인합니다.