행 전체에 값을 곱하는 스크립팅 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 루프 스크립팅nvm 비어 있어야 할 때 1을 포함하는 끝에 대괄호가 있는 오류를 발견했습니다. 내 코드는
tsp << New Column("RTP", numeric, continuous, Format(Percent, 1));
for each row(:RTP= Product( i = 2, N Col( tsp), Column( tsp, i )[] ))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] ));
Re: 행 전체에 값을 곱하는 For 루프 스크립팅New Table() 다음에 필요한 것은 다음과 같습니다.
Product( i = 1, N Col( dt ), Column( dt, i )[1] );
Re: 행 전체에 값을 곱하는 For 루프 스크립팅당신은 절대적으로 훌륭합니다! 정말 감사합니다 완벽하게 작동합니다! 나는 확실히 일을 복잡하게 만들었습니다 하하. 당신은 정말 도움이됩니다!
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 );