테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?에게,
동일한 데이터를 삭제하기 위해 "행" 메뉴로 이동할 때마다 ,
테이블에서 동일한 데이터를 자동으로 삭제하고 싶은데 JSL을 작성하는 방법을 모르겠습니다.
글을 어떻게 쓰나요?
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?방금 처음부터 시작했는데 끝까지 효과가있었습니다. MIn()과 Max()를 모두 시도한 결과 내가 기대했던 결과가 나왔습니다.
나는 몇 가지 사실을 발견했습니다.
1. 컬럼 1을 추가했다고 말씀드렸는데, 순차숫자로 초기화했다는 말씀을 깜빡했네요. IE는 기본적으로 행 번호를 복제했습니다.
2. 테이블 이름 주위에 괄호를 사용하고 테이블 이름이 "$"로 끝나는 것을 확인했습니다. MS가 SQL을 취하는 것입니다. 그것들을 제거해 보세요.
3. 사용자 정의 SQL 창에서 업데이트 버튼을 누르라고 했는지 안 했는지는 기억나지 않지만, 쿼리를 실행하기 전에 도움이 되는 것 같습니다.
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?
작동하지 않는다고 말씀드려 죄송합니다
알람은 회보 참조 ;
t1을 선택하세요.*
[용해성$] t1에서,
( 고유한 "로트 번호"를 선택하세요. Min("열 1") as "열 1" FROM [용해도$] GROUP BY "LOT NO" ) AS t2
WHERE t1."열 1" = t2."열 1"
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?차이점을 확인할 수 있도록 하위 쿼리를 테이블로 배치하여 다시 작성했습니다. 때로는 한 가지 방법이 다른 방법보다 더 잘 작동하거나 더 명확할 수도 있습니다. 여기서 "t1"과 "t2"는 별칭입니다.
t1을 선택하세요.*
용해도 t1에서,
( SELECT DISTINCT "LOT NO", Min("열 1") AS "열 1" FROM 용해도 GROUP BY "LOT NO" ) AS t2
WHERE t1."열 1" = t2."열 1"
;
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?약간의 실수가 있었습니다. Min을 사용하면 "삭제" 테이블이 반환됩니다.Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?문제는 용해도의 모든 열에서 DISTINCT를 사용하고 있다는 것입니다. LOT NO 1700002의 경우 열의 비정상적인 내용에 고유한 값(예: '전기 차단', '핀 구멍')이 있으므로 각 행이 열 집합에서 고유하기 때문에 동일한 행을 계속 다시 가져옵니다.
제가 정확하게 기억한다면 Excel(예: M$) SQL에는 FIRST 또는 LAST 버전이 있지만 SAS(예: JMP)에는 없습니다(현재 버전에서는 변경되었을 수 있음).
귀하의 질문에 대답하는 것으로 보이는 코드는 다음과 같습니다.
t2를 선택하세요.*
용해도 t2에서
WHERE t2."열 1" IN (
SELECT DISTINCT t1."열 1"
용해도 t1에서
t1로 그룹화."LOT NO"
HAVING t1."열 1" = Max(t1."열 1"));
JMP에 용해도를 열었습니다.
열 1을 추가했습니다(이를 정렬/순서 열이라고 생각하세요).
다음으로 테이블 아래의 SQL 쿼리 빌더로 들어갔습니다.
Solublity를 테이블로 선택한 후 coo관련 하위 쿼리(예: 임시 테이블)에서 사용할 "column 1"과 "lot no"를 선택하고 DISTINCT Rows만 확인한 후 add를 클릭했습니다.
이제 쿼리 이름 옆에 있는 삼각형을 클릭하고 SQL로 변환을 선택했습니다. 이를 통해 코드를 작성할 수 있습니다(SAS의 30년 - 지금까지는 클릭하고 포인트만 사용하면 됩니다).
위에서 제공한 코드를 편집하고, 쿼리를 실행하고, 제대로 실행될 때까지 발생한 모든 오류를 수정했습니다.
기본적으로 위에서 언급한 상관 하위 쿼리의 열 1에서 수정된 용해도와 일치했습니다. 하위 쿼리는 "lot no"의 각 그룹에서 최대 열 1을 가져와 고유한 "열 1"을 반환합니다. 여기서는 마지막 대신 Max()를 사용하고 있습니다. Min()은 FIRST 대신 사용할 수 있습니다.
다른 테이블로 하위 쿼리에 대한 JOIN으로 이 작업을 수행할 수도 있습니다. 그건 내일로 미루겠습니다.
꽤 난해한 내용일 수도 있겠지만, 질문이 있으시면 알려주시면 답변해 드리겠습니다.
RCW
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?감사해요
Excel "Solubility"가 포함된 첨부 파일은 수정하려는 원본 데이터입니다.
첨부파일 "data.dsn"은 데이터베이스입니다.
내가 원하는 결과는 "삭제"라는 이름의 Excel에 첨부되어 있습니다.
“ SELECT 뚜렷한 [LOT NO],코드,[비정상 내용] FROM [Solubility$]”라고 씁니다.
"LOT NO"에 있는 동일한 데이터를 삭제하려면
하지만 작동할 수 없습니다.
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?JMP 쿼리 빌더를 사용하면 JSL을 쿼리에 추가할 수 있습니다.121페이지의 설명서를 참조하세요.
도움말==>도서==>JMP 사용
데이터를 추출할 때마다 원하는 행을 자동으로 삭제하는 코드를 쿼리에 추가할 수 있습니다.
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?감사해요
데이터베이스에서 데이터를 가져오기 위해 JMP 메뉴의 "Built Query"를 사용합니다.
@txnelson 썼다:
데이터베이스에서 데이터를 열 때 데이터 검색에 사용하는 스크립트에 JSL을 추가해야 합니다.데이터베이스에서 데이터를 가져오기 위해 어떤 방법을 사용하고 있습니까?
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?데이터베이스에서 데이터를 열 때 데이터 검색에 사용하는 스크립트에 JSL을 추가해야 합니다.데이터베이스에서 데이터를 가져오기 위해 어떤 방법을 사용하고 있습니까?
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?감사해요,
그만큼 데이터 테이블은 데이터베이스에서 가져오고, 열 때마다 데이터가 새로 고쳐집니다.
그래서 나는 기대한다 동일한 데이터를 삭제하기 위해 자동으로 재실행되는 JSL이 표에 나타납니다.
@txnelson 썼다:
명확히 해주세요.나는 혼란스럽다.첨부한 데이터 테이블에는 "첫 번째"와 "두 번째"라는 2개의 열이 있습니다."first"라는 열에서 "A" 값을 찾아 행을 삭제하려는 경우 JSL은 다음과 같습니다.
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
"second"라는 열에 있는 "A" 값을 기반으로 행을 삭제하려는 경우 JSL은 다음과 같습니다.
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
그러니까 "라고 하면 하지만 데이터를 새로 고치면 "....데이터 테이블을 다시 열 때라는 뜻인가요?데이터 테이블을 다시 열면 JSL이 자동으로 다시 실행될 것으로 예상하시나요?
데이터 테이블을 다시 열면 데이터가 표시됩니다.
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?명확히 해주세요.나는 혼란스럽다.첨부한 데이터 테이블에는 "첫 번째"와 "두 번째"라는 2개의 열이 있습니다."first"라는 열에서 "A" 값을 찾아 행을 삭제하려는 경우 JSL은 다음과 같습니다.
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
"second"라는 열에 있는 "A" 값을 기반으로 행을 삭제하려는 경우 JSL은 다음과 같습니다.
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
그러니까 "라고 하면 하지만 데이터를 새로 고치면 "....데이터 테이블을 다시 열 때라는 뜻인가요?데이터 테이블을 다시 열면 JSL이 자동으로 다시 실행될 것으로 예상하시나요?
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?감사해요,
하지만 데이터를 새로 고치면 아래에 있는 동일한 데이터를 자동으로 삭제할 수 없습니다.
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Re: 테이블에서 동일한 데이터를 삭제하는 방법은 무엇입니까?삭제하려는 데이터를 선택하기 위해 작성할 수 있는 조건이 있다고 가정하면 스크립팅 인덱스에서 Select Where()를 확인하세요.
예:
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
이렇게 하면 Col1에서 값이 "A"인 모든 행이 삭제됩니다.