수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법안녕하세요,
두 개의 열을 선택하고 수식을 작성하고 싶습니다. 그러나 수식의 변수는 이름 주변에 ""있기 때문에 작동하지 않습니다. 제안?
dt = Current Data Table();
win = New Window( "Clean False Zeroes",
<<MODAL></MODAL>
Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법이봐 요! 그것은 nameexpr을 사용하면 작동합니다. 둘 다 도와 줘서 고마워. 나는 정말로 행복하다.Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법둘 다 당신의 제안에 감사하지만, 그들 중 누구도 나를 위해 일하지 않습니다. 설명을 위해 필자는 A 열의 데이터와 B 열의 상태로 테스트 파일을 만들었습니다. 그런 다음 수식이 포함 된 세 번째 열을 만들었습니다. 당신은 그것이 작동한다는 것을 알 수 있습니다. 같은 것을하기 위해 스크립트를 실행하면 (제로에 대해 정리할 열을 모를 때) 열 4에서 잘 작동하지 않는다는 것을 알 수 있습니다. 모두가 의미가 있기를 바랍니다.
dt = Current Data Table();
win = New Window( "Clean False Zeroes",
<<MODAL></MODAL>
Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법나는 당신이 다음과 같이하고 싶다고 생각한다.
dt << new column("check",
formula(eval(evalexpr(If(Is Missing(expr(nameexpr(yvar))),.,expr(nameexpr(xvar))) )))
);
The selected names are in the script선택한 이름은 스크립트에 있습니다.
여분의 작업 없이는 다음과 같은 것을 얻을 수 있습니다.
The variable names are in the script변수 이름은 스크립트에 있습니다.
yvar가 보유하고있는 동안 만 작동합니다 : name과 xvar는 height를 유지합니다. 테이블을 저장하고 JMP를 닫았다가 다시 시작한 다음 테이블을 열면 그렇지 않습니다.
그것은 무엇을합니까?
평가 ()는 공식 그것의 주장을 평가할 수 있습니다. 일반적으로 당신은 그것을 원하지 않을 것입니다. 공식 ()는 컬럼이 그것을 실행할 필요가있을 때까지 평가되어서는 안된다. 따라서 실행되는 첫 번째 코드는 evalexpr () 수식 열에 대한 다시 작성된 식을 반환합니다. Evalexpr 그것의 주장을 찾습니다 expr () 함수를 사용하여 결과를 평가하고 바꿀 수 있습니다. 그 중 두 가지가 있습니다. 따라서 평가되는 것은 NameExpr 함수는 인수의 이름을 반환합니다 ... xval의 인수이며 이름은 : height입니다.
Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법또한 Craige 입력을 기반으로 (감사합니다!) 난 열 대화 편집기를 사용하여 스크립트를 준비
dt = Current Data Table();
cd=column Dialog(
Title(" Clean False Zeroes "),
xcols= ColList(" Numeric ", MinCol( 1 ), DataType("Numeric"), modeling type("Continuous") ),
ycols= ColList(" Character ", MinCol( 1 ), DataType("Character"), modeling type("Nominal") ),
);
xvar =cd["xcols"];
yvar =cd["ycols"];
xvar=xvar[1];
yvar=yvar[1];
dt << new column("check",, formula(If(Is Missing(yvar),.,xvar) ) );
Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법더 나은 답변을 제공하기 위해 스크립트를 만드는 JSL을 더 많이 볼 필요가 있습니다.
{"LOA (QC1007AI),%"}
인용 된 하나의 문자열 목록입니다. (중괄호는 목록을 만듭니다.) 목록에서 항목을 가져 와서 조금 더 가까이에있게 할 수 있습니다
colNames = {"LOA (QC1007AI),%"};
theColumnName = colnames[1];
print(theColumnName);
대부분의 사용법을 위해서는 열 이름에서 열을 만들어야합니다.
col = column( dt, theColumnName );
컬럼 함수는 데이터 테이블에서 이름을 찾아 컬럼을 리턴합니다.
열을 반환하는 함수 대신 열의 이름을 반환하는 함수를 사용했을 수도 있습니다. 좋은 포스트가있다. http://www.pega-analytics.co.uk/blog/column-references/ 이 문제 중 일부를 논의했습니다.
Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법안녕하세요 gianpaolo_polsi,
스크립트를 주셔서 감사합니다, 나는 다른 목적으로 사용할 수 있다고 생각하지만 내 문제를 해결하지 못한다. If (Is Missing ({ "Status (LOA)"}),
.,
{ "LOA (QC1007AI), %"}
)
내가 스크립트 할 때 내 공식에서 왜이 마크를 얻는 지 이해할 수 없습니다.Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법콜론이 연산자이기 때문에 밑줄이 콜론보다 더 나은 선택 일 수 있습니다.
Re : 수식에서 가변적 인 이름의 거꾸로 된 쉼표를 제거하는 방법안녕하세요
수식을 적용하기 전에 데이터 테이블에이 코드를 사용해보십시오.
// code to replace any special JMP character with single char " : "
For(i = 1, i <= N Col(dt), i++,
Column(dt, i) << set name(Regex(Column(dt, i) << get name, "\W", ":", GLOBALREPLACE))
);