유일한 계산안녕하세요, 아래와 같은 거래 데이터가 있는 테이블이 있습니다.
transactionID, 개인ID, 제품
1, 사과
2, 에이, 오렌지
3, b, 사과
4, b, 바나나
5, c, 오렌지
스크립트를 사용하지 않고 표에서 제품별로 고유한 개별 ID를 계산하고 싶습니다.
이 작업을 수행하는 방법을 아는 사람이 있습니까?
개인 ID와 제품을 먼저 사용하여 요약 테이블을 만든 다음 제품별로 고유 ID 수를 얻기 위해 표를 작성할 수 있지만 이것은 2단계입니다. 여러 다른 그룹에 대해 계속 이 작업을 수행해야 하기 때문에 한 단계만 표로 만들 수 있는 방법이 있는지 궁금합니다.
고맙습니다!
해석학데이터 테이블Re: 고유한 카운트매우 감사합니다. 이것은 고유한 값과 비율을 계산하기 위한 테이블 결과를 생성하는 가장 효율적인 방법입니다.
Re: 카운트 고유또 다른 옵션: tabulate 함수에서 바로 요약 열을 만들 수도 있습니다.




Names default to here(1);
dt = Open("$Sample_data/big class.jmp");
dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Analysis Columns(
Transform Column( "Age Count", Formula( Col Sum( 1, :age ) ) )
),
Statistics( Mean )
),
Row Table( Grouping Columns( :age ) )
)
);
Re: 고유한 카운트브래디님 정말 감사합니다! 이것들은 정말 훌륭한 지식이며 나는 각각을 연습할 것입니다! 정말 감사합니다!Re: 카운트 고유
위의 쿼리를 실행한 후 첨부된 3개의 녹색 삼각형을 볼 수 있습니다. 업데이트된 데이터로 동일한 쿼리를 다시 실행하려면 어떤 삼각형을 사용해야 합니까?
때에 따라 다르지... "소스" 스크립트는 실행될 때 새 테이블을 생성하는 반면 "데이터베이스에서 업데이트" 스크립트는 현재 테이블을 새로 고칩니다(즉, 새 테이블 생성 없이).
참고: JMP 데이터 테이블의 편리한 기능은 스크립트 이름을 "On Open"으로 지정하면 스크립트를 포함하는 JMP 데이터 테이블이 열릴 때마다 실행된다는 것입니다. 따라서 "데이터베이스에서 업데이트" 스크립트의 이름을 "열릴 때"로 변경하여 항상 업데이트된 결과로 시작할 수 있습니다. 물론 이 스크립트는 녹색 화살표를 클릭하여 원할 때마다 실행할 수 있습니다.
여러 쿼리가 있는 경우 한 곳에 저장한 다음 나중에 최신 데이터를 얻었을 때 쿼리를 다시 적용하려면 어떻게 해야 합니까?
이 문제를 해결하는 방법에는 여러 가지가 있습니다. 가장 쉬운 몇 가지 방법을 알려 드리겠습니다.
- 파생 종속성이 없는 간단한 쿼리가 있는 경우 위에서 언급한 "On Open" 트릭을 사용할 수 있습니다. (즉, 테이블에 대한 올바른 결과를 얻기 위해 다른 쿼리보다 먼저 단일 쿼리를 실행할 필요가 없음)
- 각 스크립트를 복사하여 붙여넣어 "마스터" 스크립트를 만들 수 있습니다. 순서는 상황에 따라 중요하거나 중요하지 않을 수 있으며 계속하기 전에 이전 쿼리의 결과가 완료되었는지 확인하기 위해 스크립트에 컨트롤을 삽입해야 할 수도 있습니다.
실제로 이 작업을 많이 수행할 필요가 없었으므로 커뮤니티에 새로운 토론에서 이 질문을 하고 실제로 "현장에서" 가장 인기 있는 접근 방식과 그 이유를 알아보는 것이 좋습니다.
건배,
브래디
Re: 카운트 고유고맙습니다! 방금 시도했는데 작동합니다! 이것을 달성하기 위해 col sum을 사용할 수 있다고 생각한 적이 없습니다. 똑똑한!Re: 고유한 카운트고맙습니다! 이것도 빠르고 좋은 방법입니다!Re: 카운트 고유브래디님 정말 감사합니다!
이 쿼리 빌더를 사용한 적이 없으며 매우 강력합니다!
방금 2개의 소스 테이블을 가져 와서 쿼리를 시도했는데 자체적으로 개별 ID와 일치하고 올바른 고유 개수를 반환할 정도로 똑똑합니다.
쿼리 빌더에 대한 2가지 질문:
1. 위의 쿼리를 실행한 후 첨부된 3개의 녹색 삼각형을 볼 수 있습니다. 업데이트된 데이터로 동일한 쿼리를 다시 실행하려면 어떤 삼각형을 사용해야 합니까?
2. 여러 쿼리가 있는 경우 한 곳에 저장하고 나중에 최신 데이터를 얻었을 때 쿼리를 다시 적용하려면 어떻게 해야 합니까?
Re: 카운트 고유또 다른 옵션은 'by' 변수가 있는 col sum() 함수가 있는 열을 사용하여 원래 데이터 테이블에서 계산하지만 열 대신 숫자 1을 참조하여 이를 'count' 함수로 바꾸는 것입니다.표 또는 표 형식으로 필요한 경우 평균 또는 중앙값을 사용하여 표를 작성할 수 있습니다.

Re: 고유한 카운트Tabulate 플랫폼이 분석을 위한 Character 데이터 유형과 잘 작동하지 않는 것 같습니다. 개별 ID를 숫자로 변경하고(새 열로 수식을 다시 코딩하거나 생성) 다음과 같이 표를 사용할 수 있습니다.

Re: 고유한 카운트Tabulate를 사용하여 이 작업을 수행하는 방법을 확신할 수 없지만 다른 플랫폼을 사용하려는 경우 JMP 쿼리 빌더를 사용하여 이 작업을 수행하는 것이 정말 쉽습니다.
1) 기본 메뉴에서 테이블 > JMP 쿼리 빌더를 선택합니다.
2) 이어지는 창에서 창의 오른쪽 하단에 있는 "쿼리 작성" 버튼을 클릭합니다.
3) 이어지는 창에서:
- 제품 열을 두 번 클릭하여 "포함된 열" 창으로 캐스팅합니다.
- 개별 ID 열을 두 번 클릭하여 "포함된 열" 창으로 캐스팅합니다.
- "포함된 열" 창에서 t1.product 열을 마우스 오른쪽 버튼으로 클릭하고 "순서 기준"을 선택합니다.
- "포함된 열" 창에 있는 t1.individualID 열의 집계 필드에 있는 드롭다운 메뉴에서 DISTINCT 개수를 선택합니다.
- 창 하단에서 "쿼리 실행"을 클릭하여 원하는 내용이 포함된 테이블을 생성합니다. (?)
건배,
브래디