행에 값을 곱하는 스크립팅 For 루프안녕,
저는 JMP에서 스크립팅을 처음 접했으며 많은 jmp 포럼에서 솔루션을 살펴 보았지만 특정 문제에 대한 솔루션을 성공적으로 수정하지 못했습니다.
알 수없는 수의 열 테이블을 생성하고 생성 된 열 (열 1 * 열 2 * 열 3 * 등)에 행의 각 값 (생성 된 테이블에 하나의 행만 있음)을 곱하는 스크립트가 있습니다. 예를 들어 테이블을 단순화했습니다. 실제 테이블에는 더 많은 열이있을 수 있습니다.
내 루프는 각 행에 다음 행을 곱하지만 서로 곱한 모든 행의 최종 답을 제공하지 않습니다. 또한 모든 값의 최종 결과물이 함께 통합되기를 원하며 각 증분 값의 결과물은 필요하지 않습니다. 어떤 도움이라도 대단히 감사합니다.
New Table( "tsp",
Add Rows( 1 ),
New Column( "Row 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.975] )
),
New Column( "Row 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.985] )
),
New Column( "Row 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.983] )
),
New Column( "Row 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.839] )
),
);
Ncol = N col(tsp);
For( i = 1, i <= Ncol, i++,
For( j = i + 1, j <= Ncol, j++,
RTP = Eval( Column( i ) << Get Name ) || " * " || Eval( Column( i+=1 ) << Get Name );
New Column( RTP, Numeric , seteachvalue( Column( i )[] * Column( i+=1 )[]) );
)
);
스크립팅Re : 스크립팅 For 루프에서 행에 값을 곱하기당신은 너무 열심히 일하고 있습니다.아래는 당신이 원하는 것입니다.
names default to here( 1 );
dt = New Table( "tsp",
Add Rows( 1 ),
New Column( "Row 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.975] )
),
New Column( "Row 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.985] )
),
New Column( "Row 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.983] )
),
New Column( "Row 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.839] )
),
);
Ncol = N Col( dt ); // or NCol = N Col( data table("tsp"));
value = 1;
For( i = 1, i <= Ncol, i++,
value = Column( dt, i )[1] * value
);
Show( value );Re : 스크립팅 For 루프에서 행에 값을 곱하기선생님, 정말 훌륭합니다! 정말 감사합니다 완벽하게 작동합니다! 나는 확실히 복잡한 일을 끝냈다. 당신은 정말 도움이됩니다!
Re : 스크립팅 For 루프에서 행에 값을 곱하기New Table () 후에 필요한 것은 다음과 같습니다.
Product( i = 1, N Col( dt ), Column( dt, i )[1] );
Re : 스크립팅 For 루프에서 행에 값을 곱하기이 수식으로 반복 할 여러 행이있는 상황을 위해 For Each Row에 넣으려고 시도했지만 작동하지 않는 것 같고 내 오류가 무엇인지 확실하지 않습니다. 올바른 값을 얻었습니다. 첫 번째 행 "A"(86.9 %)의 "RTP"에서 나머지 행은 모두 달라야 할 때 동일한 값 (75.5 %)을 표시합니다.
New Table( "tsp",
Add Rows( 5 ),
New Column( "Site",
Character,
"Nominal",
Set Selected,
Set Values( {"A", "B", "C", "D", "E"} )
),
New Column( "Row 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values(
[0.974, 0.872, 0.927,
0.974, 0.9033]
)
),
New Column( "Row 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values(
[0.968, 0.902, 0.931, .,
0.962]
)
),
New Column( "Row 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values(
[0.944, 0.968, 0.987, ., .]
)
),
New Column( "Row 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.9847, 0.9471, ., ., .] )
),
New Column( "Row 5",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0.990, 0.994, ., ., .] )
)
);tsp << New Column("RTP", numeric, continuous, Format(Percent, 1));
for each row(:RTP= Product( i = 2, N Col( tsp), Column( tsp, i )[1] ));