다음 코드는 작동하지 않지만 Stack 명령에서 "n_series"를 3으로 바꾸면 작동합니다.
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
n_series = 3;
dt << Stack(
columns(:BP 8M, :BP 12M, :BP 6M, :BP 8W, :BP 12W, :BP 6W, :BP 8F, :BP 12F, :BP 6F),
Number of Series( n_series ),
Contiguous,
Source Label Column( "Day" ),
Stacked Data Column( "BP" )
);
이 값 변수가 필요합니다. 가변 개수의 시리즈를 사용하여 Stack()을 실행하려면 어떻게 해야 하나요?
감사해요!
이 경우 Eval()을 사용해 볼 수 있습니다.
Names Default To Here(1);
n_series = 3;
dt = Open("$SAMPLE_DATA/Blood Pressure.jmp");
dt_stacked = dt << Stack(
columns(:BP 8M, :BP 12M, :BP 6M, :BP 8W, :BP 12W, :BP 6W, :BP 8F, :BP 12F, :BP 6F),
Number of Series(Eval(n_series)),
Contiguous,
Source Label Column("Day"),
Stacked Data Column("BP")
);
더 일반적인 솔루션은 표현식 내부의 값을 평가하는 것입니다.
Names Default To Here(1);
n_series = 3;
dt = Open("$SAMPLE_DATA/Blood Pressure.jmp");
dt_stacked = Eval(EvalExpr(dt << Stack(
columns(:BP 8M, :BP 12M, :BP 6M, :BP 8W, :BP 12W, :BP 6W, :BP 8F, :BP 12F, :BP 6F),
Number of Series(Expr(n_series)),
Contiguous,
Source Label Column("Day"),
Stacked Data Column("BP")
)));