열 방정식에서 숫자형 객체 사용반복 함수에서 증가 또는 감소하는 숫자형 객체를 가져와 열 수식에 사용해야 합니다. 아래 방정식에서 col, l, m 값을 열 수식에서 계산해야 합니다. 어떻게 해야 하나요? Parse(), Eval(), Num() 함수가 작동하지 않습니다.
For( i = 1, i <=8, i++,
col = 11+i;
l = col - i;
m = col + 1 - i;
colno = Char(col);
New Column("Column "||colno, Character, "Nominal", Formula(If(Row() == 12, Lag(Column(1), l), If(Row() == 13, Lag(Column(2), m), Lag(Column(col, 1)))))));
자동화 및 스크립팅Re: 열 방정식에서 숫자형 객체 사용이 방법이 효과적인 것 같습니다. Eval( Eval Expr(....) )은 열을 생성하기 전에 표현식을 평가합니다.
For( i = 1, i <= 8, i++,
col = 11 + i;
l = col - i;
m = col + 1 - i;
colno = Char( col );
Eval(
Eval Expr(
New Column( "Column " || Expr( colno ),
Character,
"Nominal",
Formula(
If( Row() == 12,
Lag( Column( 1 ), Expr( l ) ),
If( Row() == 13,
Lag( Column( 2 ), Expr( m ) ),
Lag( Column( Expr( col ), 1 ) )
)
)
)
)
)
);
);
Re: 열 방정식에서 숫자형 객체 사용Column( col, 1 )
?

Re: 열 방정식에서 숫자형 객체 사용new column 메시지 외부에서 정의된 변수는 새로운 열() 메시지 내부에서 사용되어서는 안 됩니다.
저희 회사에서는 코드를 실행하기 전에 이러한 프로그래밍 문제를 감지하는 자동 검사 기능을 갖추고 있습니다.
잠재적인 오류가 감지되면 몇 가지 제안과 함께 경고 메시지가 사용자에게 표시됩니다.
Re: JMP에서의 표현식 처리: Tipps 및 Trapdoors
For( i = 1, i <= 8, i++,
col = 11 + i;<BR />
l = col - i;
m = col + 1 - i;
colno = Char( col );
Eval(Eval Expr(New Column( "Column " || colno,
Character,
"Nominal",
Formula(
If( Row() == 12,
Lag( Column( 1 ), Expr(l) ),
If( Row() == 13,
Lag( Column( 2 ), Expr(m) ),
Lag( Expr(Name Expr(As Column( col))), 1 )
)
)
)))
);
);
아야! 열이 숫자를 이해하지 못하네요...
Re: 열 방정식에서 숫자형 객체 사용For( i = 1, i <= 8, i++,
col = 11 + i;
colname = Column(col) << get name;
l = col - i;
m = col + 1 - i;
colno = Char( col );
Eval(Eval Expr(New Column( "Column " || colno,
Character,
"Nominal",
Formula(
If( Row() == 12,
Lag( Column( 1 ), Expr(l) ),
If( Row() == 13,
Lag( Column( 2 ), Expr(m) ),
Lag( Expr(Name Expr(As Column( colname))), 1 )
)
)
)))
);
);
Re: 열 방정식에서 숫자형 객체 사용잘 잡았어요.
Re: 열 방정식에서 숫자형 객체 사용@호기
mmarchandFSLR 에서 스크립트를 수정했는데(아래 참조), 잘 작동합니다. 정말 좋은 추가 기능입니다. 제가 우려하는 바를 잘 이해하지 못하겠네요. 좀 더 명확하게 설명해 주시겠어요?
dt = Current Data Table();
Delete Symbols();
dt = Current Data Table();
For( i = 1, i <= 8, i++,
c = 11 + i;
l = 12 - i;
m = 13 - i;
colno = Char( c );
Eval(Eval Expr(New Column( "Column " || colno,
Character,
"Nominal",
Formula(
If( Row() == 12,
Lag( As Column( 1 ), Expr(l) ),
If( Row() == 13,
Lag( As Column( 2 ), Expr(m) ),
Lag( As Column( Expr(c)) , 1)
)
)
)))
);
);
Re: 열 방정식에서 숫자형 객체 사용처음에는 세부 사항을 수정한 후에도 내 마음이 흔들렸습니다.
Column( col, 1 )
@mmarchandFSLR 의 솔루션은 효과가 없는 것 같습니다.
Lag()는 column()이 아닌 As Column()을 기대합니다?!??!
이렇게 되면 현재 행의 값 에 접근하는 데 열로() 을 사용한다는 모든 "지식"이 파괴됩니다!
Name Expr( As column(col)) 대신 As Column (col)에 관하여:
작동합니다. 하지만 다음과 같은 경우에는 "취약합니다".
- 열 추가(숫자가 업데이트되지 않음!)
- 변경된 항목(내 시스템에서는 수식 열의 항목이 업데이트되지 않아요?!?)
[재시작 후 상황이 나아지면 이 글은 삭제하겠습니다]
Re: 열 방정식에서 숫자형 객체 사용기록해 둘 만한 가치가 있는 것 같습니다.
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "height 2", Formula( :height ));
New Column( "height 3", Formula( As Column( "height" ) ));
New Column( "height 4", Formula( As Column( 4 ) ));
New Column( "height 5", Formula( Column( 4 )[Empty()] ));
wait(0);
dt[5::10, "height"] = 1;
wait(0);
New window(<< type("modal dialog"), Text Box ("just height 1 got updated ... continue"));
dt << Move Selected Columns( {:height}, after( :name ) );
New window(<< type("modal dialog"), Text Box ("no big difference - now let's recalc"));
dt << rerun formulas();
전 후

- 열 수식의 해석자는 Column(4)와 As Column(4), Column("height") 등을 이해합니다.
하지만 입력 열이 변경되면 열을 업데이트하는 메커니즘은 작동하지 않나요? 수동으로 업데이트를 실행해야 하나요?
- 열이 다른 곳으로 이동하면 숫자가 업데이트되지 않습니다.
열 참조에는 절대로 숫자를 사용하지 않을 거예요!
나는 Column("height") 과 같은 것을 결코 사용하지 않을 것입니다.
재밌는 사실:
수식 편집기도 이를 좋아하지 않습니다.

Re: 열 방정식에서 숫자형 객체 사용제 어두운 의도를 설명했어야 했나 봐요. 키가 큰 테이블과 넓은 테이블 사이에서 고민하는 테이블이 있어요. 1열과 2열, 1~8행은 키가 크고, 1~11열은 12행 이후에는 넓은 테이블이 돼요. 이 대본은 테이블에 의미를 부여하는 첫 번째 단계예요.
전 후

데이터를 처리하기 위해 여러 단계를 더 거쳤지만 가장 까다로운 부분은 이 부분이었습니다.