기존 열의 범주를 기반으로 새 열 생성 및 채우기안녕하세요,
정보의 하위 집합만 포함하는 일련의 열을 만드는 데 범주형 열(test_article)을 사용하는 빠른 쿼리를 작성하려고 합니다. 스크립트가 의도한 대로 작동하면 테이블은 2개의 새 열(PBS 대 ...)로 끝납니다.
| test_article | 측정 | PBS 대 709547 | PBS 대 709139 |
| PBS | 1.23 | PBS | PBS |
| PBS | 1.456 | PBS | PBS |
| 709547 | 4.56 | 709547 | 들어오지 못하게 하다 |
709139 | 5.02 | 들어오지 못하게 하다 | 709139 |
| 709139 | 6.02 | 들어오지 못하게 하다 | 709139 |
| 709547 | 4.57 | 709547 | 들어오지 못하게 하다 |
다음 스크립트를 시도했습니다.
NamesDefaultToHere(1);
dt=current data table();
row = Associative Array( :test_article ) << Get Keys;
nc=N items (row);
For( i = 1, i <= nc, i++,
new column("PBS vs "|| row[i],"Character", "Nominal", Formula(If( :test_article == "PBS", :test_article,
If( :test_article == row[i],
"test",
"EXCLUDE"
)
))));여하튼 'PBS'를 제외하고는 새 열의 값을 채우지 않습니다.
어떤 제안?
정말 감사합니다
세바스티앙
Re: 기존 열의 범주를 기반으로 새 열을 생성하고 채웁니다.또한 매력처럼 작동합니다.
정말 감사합니다Re: 기존 열의 범주를 기반으로 새 열을 생성하고 채웁니다.매력처럼 작동합니다!
감사해요Re: 기존 열의 범주를 기반으로 새 열을 생성하고 채웁니다.수식에 row[i]의 값을 가져와야 합니다. JMP는 New Column() 메시지의 Formula() 부분에 있는 표현식을 평가하지 않습니다.
당신이 사용할 수있는 대리자() row[i]의 실제 값을 수식으로 가져옵니다.
Names Default To Here( 1 );
dt = Current Data Table();
row = Associative Array( :test_article ) << Get Keys;
nc = N Items( row );
For( i = 1, i <= nc, i++,
Eval(
Substitute(
Expr(
New Column( "PBS vs " || row[i],
"Character",
"Nominal",
Formula( If( :test_article == "PBS" | :test_article == ri, :test_article, "EXCLUDE" ) )
)
),
Expr( ri ), Eval( row[i] )
)
)
);
Re: 기존 열의 범주를 기반으로 새 열을 생성하고 채웁니다.현재 겪고 있는 주요 문제는 수식의 정의 내에서 평가해야 하는 항목을 가질 수 없다는 것입니다.JMP는 공식 정의 내의 모든 것이 공식이 실행될 때만 평가된다고 생각합니다.
따라서 새 열 정의로 전달되는 수식은 해당 구문에서 완전해야 합니다.아래 코드 수정은 샘플 데이터 테이블에서 작동합니다.
Names Default To Here( 1 );
dt = Current Data Table();
row = Associative Array( :test_article ) << Get Keys;
nc = N Items( row );
For( i = 1, i <= nc, i++,
Eval(
Parse(
"New Column( \!"PBS vs " || row[i] ||
"\!",
Character,
Nominal,
Formula(
if (Row() == 1, theTest = \!""
|| row[i] ||
"\!");
If( :test_article == \!"PBS\!",
zip=:test_article,
If( :test_article == theTest,
zip=\!"test\!",
zip=\!"EXCLUDE\!"
)
);
zip
)
)
);"
)
)
);
