JSL에서 수식으로 열을 다시 코딩하는 방법레코딩 스크립트를 올바르게 실행하는 데 문제가 있습니다. 특정 부서 이름에 해당하는 번호가 포함된 DEPT라는 열이 있는 데이터 테이블이 있습니다. 내가 하고 싶은 것은 DEPT의 값을 취하여 숫자 버전이 아닌 서면 부서 이름으로 변환하는 Dept Name이라는 새 열을 만드는 것입니다. 이 테이블은 실행될 때마다 데이터의 롤링 연도를 사용하여 일주일에 두 번 실행하는 더 큰 스크립트의 일부이므로 모든 부서 번호/이름이 주어진 반복에 없을 수 있습니다. 아래는 내가 시도한 것입니다. 그러나 DEPT에서 Dept Name으로 값을 단순히 전치하거나 빈 Dept Name 열을 얻는 데에만 성공했습니다. 도움을 주시면 감사하겠습니다.
FD << Current Data Table();
New Column("Dept Name", Character, Nominal, Formula(:DEPT));
:Dept Name << Delete Formula;
For Each Row(:Dept Name =
Match( :Dept Name,
"100", "Wet Production",
"200", "QA Lab",
"300", "Dry Component",
"400", "Finished Component",
"410", "Microsis",
"415", "Antimicrobial",
"425", "Finished Component Product",
"475", "Special Processing",
"490", "eSIS",
"500", "QC",
"600", "Labeling",
"700", "Sterilization",
"1000", "Shipping and Finished Product Labeling",
"1200", "Quarentine",
:Dept Name);
);
Re: JSL에서 수식으로 열을 다시 코딩하는 방법완벽하게 작동했습니다! 도와 주셔서 감사합니다!
Re: JSL에서 수식으로 열을 다시 코딩하는 방법나는 당신이 올바른 길을 가고 있다고 생각하지만 원본 스크립트가 원본과 대상 데이터 열을 혼동했습니다. 이 수정을 시도하십시오:
FD = Current Data Table();
FD << New Column( "Dept Name", Character, Nominal );
For Each Row(
:Dept Name = Match( :Dept,
"100", "Wet Production",
"200", "QA Lab",
"300", "Dry Component",
"400", "Finished Component",
"410", "Microsis",
"415", "Antimicrobial",
"425", "Finished Component Product",
"475", "Special Processing",
"490", "eSIS",
"500", "QC",
"600", "Labeling",
"700", "Sterilization",
"1000", "Shipping and Finished Product Labeling",
"1200", "Quarentine"
);
);
Re: JSL에서 수식으로 열을 다시 코딩하는 방법안녕하세요!
JMP 16에서 비슷한 것을 시도하고 있습니다. 유일한 차이점은 각 그룹에 여러 값이 있다는 것입니다. 이것은 내가 지금 시도하고 있는 공식입니다.
FD = Current Data Table();
FD << New Column( "Dog Group", Character, Nominal );
For Each Row( Dog Group = Match( :Breed #, "6,10,18,20,24,27,30,31", "Toy", "8,9,15,17,21,28,36", "Work", "1,14,23,26,29,33", "Sport", "3,4,7,13,34,37,42", "Hound", "11,12,16,39", "Herder", "5,19,41", "Extra Fluff", "32,40", "Terrier", "2,25", "Doodle", "22", "Mixed", "35,38", "Other" ) );
또한 원래 수식으로 다시 코딩했으며 현재 데이터 테이블에서 작동하지만 수식을 새 테이블에 복사/붙여넣기할 수 없습니다(열 이름이 동일한지 확인하는 경우에도).
도움을 주셔서 감사합니다!
Re: JSL에서 수식으로 열을 다시 코딩하는 방법Match를 사용할 때 그런 비교는 할 수 없다고 생각합니다. 모든 값을 별도로 작성해야 할 것입니다. 나는 Associative Array 또는 데이터 테이블을 사용하여 Breed # 및 그룹을 저장할 것입니다(Match를 사용할 수도 있지만 다른 옵션이 더 낫다고 생각합니다). 이러한 값을 얻는 위치에 따라 이를 구축하는 다양한 방법이 있습니다.
Re: JSL에서 수식으로 열을 다시 코딩하는 방법매치를 이용하고 싶다면 패러다임은 다음과 같이 구성되어야 합니다.
FD = Current Data Table();
FD << New Column( "Dog Group", Character, Nominal );
For Each Row(
Dog Group = Match( :Breed #,
"6", "Toy",
"10", "Toy",
"18", "Toy",
"20", "Toy",
"24", "Toy",
"27", "Toy",
"30", "Toy",
"31", "Toy",
"8", "Work",
"9", "Work",
"15", "Work",
"17", "Work",
"21", "Work",
"28", "Work",
"36", "Work",
"1", "Sport",
"14", "Sport",
"23", "Sport",
"26", "Sport",
"29", "Sport",
"33", "Sport"
)
);