다시 : 선택한 열을 사용하여 계산을 수행여기 JSL을 사용하여
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Calc",
formula(
cols = dt << get selected columns;
mat = [];
For( i = 1, i <= N Items( cols ), i++,
mat = mat || Column( cols[i] )[Row()]
);
mat = Sqrt( Sum( mat ^ 4 ) );
)
);
dt:calc << delete formula;
문제를 처리하기 위해 수식 열을 만드는 방법
다시 : 선택한 열을 사용하여 계산을 수행Jim 감사합니다! 스크립트는 항상 그렇듯이 매우 유용합니다. JSL을 더 잘 이해할 수 있도록이 코드 줄의 기능을 자세히 설명해 주시겠습니까?
mat = mat || Column( cols[i] )[Row()]
다시 : 선택한 열을 사용하여 계산을 수행나는 Matrix 연산자가 JSL에서 가지고있는 매우 훌륭한 기능을 기반으로 사용할 방법을 선택했습니다. 진술
mat = Sqrt( Sum( mat ^ 4 ) );
는 행렬을 사용하여 얼마나 훌륭하고 간결하게 계산할 수 있는지를 보여줍니다.
그러나 행렬 연산자를 사용하려면 데이터가 행렬에 있어야합니다. 따라서 각 행에 대해 행렬 매트는 먼저 빈 행렬로 설정됩니다.
mat = [];
그런 다음 For () 루프는 << Get Selected Columns에 지정된 각 열을 가져 와서 주어진 행의 해당 열에 대한 값을 행렬의 새 요소 인 행렬 "Mat"에 추가합니다. 현재 행의 열 값을 행렬에 "연결"합니다.
mat = mat || Column( cols[i] )[Row()]
선택된 열을 사용하여 계산을 수행안녕,
나는 이것을위한 좋은 스크립팅 솔루션을 찾기 위해 고심하고 있습니다. 몇 개의 열을 선택한 다음 열을 계산하고 싶습니다. 선택한 열은 융통성이 있으며 때로는 2 일 수 있지만 때로는 10+ 이상의 열이있을 수도 있습니다.
예를 들어
수식 sqrt (sum (A ^ 4, B ^ 4, C ^ 4) 1 2 3 ... 4 5 6 ... 7 8 9 ...
현재 선택한 열을 추출하는 스크립트가 있습니다. 그러나 일단 열 이름이있는 목록에 있으면 위의 수식을 사용하여 열을 요약하는 방법을 모르겠습니다 ...
dt = 현재 데이터 테이블 (); cols = dt << 선택된 열을 가져옵니다.도와 주셔서 정말 감사합니다!