여러 열에서 항목 집합을 계산하는 방법JMP 직원 및 전문가 여러분, 안녕하세요.
JSL이 최선의 접근 방식이라고 생각하는 간단한 문제가 있지만 JSL로 코딩하는 방법을 모르겠습니다. 시간을 내어서 배워야 할 것 같아요!
기본적으로 "차", "계란", "빵", "우유" 등의 항목 목록이 있습니다. 각 항목은 열에 단독으로 표시되며 열 수는 다양할 수 있지만 특정 테이블 인스턴스에서는 고정됩니다. . 각 행은 항목에 대한 독립적인 관찰을 나타냅니다. 특정 항목은 모든 열, 모든 행에 나타날 수 있지만 행에 한 번만 표시되거나 전혀 표시되지 않을 수 있습니다.
JSL 스크립트를 사용하여 특정 항목 집합(예: "차", "우유", "빵")이 특정 행에 존재하는지 여부를 새 열에 표시하고 싶습니다. 연속적으로 발생하는 순서는 중요하지 않습니다. 하지만 내가 계산하고 있는 항목 집합이 모두 나타나야 합니다. 이 JSL을 템플릿으로 사용하여 최대 10000개의 행이 있는 테이블의 항목 집합 발생을 수정하고 쿼리하고 싶습니다. 결국 나는 항목의 10%에 "차" 및 "베이컨"이 있고, 5%에 "차", "우유", "요구르트" 등이 있는 통계를 도출하고 싶습니다.
이를 수행할 수 있는 JMP 플랫폼이 있습니까?
첨부된 데이터세트 예시는 다음과 같습니다.
정말 감사합니다!
자동화 및 스크립팅데이터 혼합 및 정리대량 맞춤화품질 및 프로세스 엔지니어링Re: 여러 열에 걸쳐 항목 집합을 계산하는 방법감사해요 @txnelson !
Re: 여러 열에 걸쳐 항목 집합을 계산하는 방법여기에 하나의 옵션이 있습니다 연관 배열 및 해당 설정 작업 사용
Names Default To Here(1);
dt = Open("$DOWNLOADS/items.jmp");
list_to_search_for = {"Tea", "Milk", "Bread"};
aa_mask = Associative Array(list_to_search_for);
dt << New Column("Match", Numeric, Continuous, << Set Each Value(
aa_row = Associative Array(dt[Row(), 0]);
temp_mask = aa_mask;
temp_mask << Remove(aa_row);
If(N Items(temp_mask) == 0,
1
,
0
);
));

JMP 소비자 조사 플랫폼 도움이 될 수도 있지만 사용하지 않았으므로 필요한 조합을 찾을 수 있는지 잘 모르겠습니다(조건부 연관이 도움이 될 수 있습니까?)

Re: 여러 열에 걸쳐 항목 집합을 계산하는 방법다음은 주어진 행에서 빵과 요구르트의 조합이 발견되면 표시기 열에 1을 배치하고, 발견되지 않으면 0을 배치하는 공식입니다.
dt = Current Data Table();
itemList = dt[Row(), Index( 1, 5 )];
If( Contains( itemList, "Bread" ) & Contains( itemList, "Yoghurt" ),
1,
0
);