행 수준에서 왼쪽에서 오른쪽으로 이동하는 시간에 따른 변화에 액세스하는 공식을 찾고 있습니다. 첫 번째 판독값에서 다음 판독값으로의 백분율 이동을 평가한 다음 모든 후속 판독값을 첫 번째 판독값과 이전 판독값에 대해 평가하여 시간 경과에 따른 이동에 액세스하고 싶습니다. 20% 이상인 하향 이동이 있으면 결과 열에 1을 표시합니다.
다음은 첫 번째 백분율 변화를 찾은 다음 나머지 모든 열을 살펴보고 값을 찾은 다음 초기 값에서 백분율을 변경하고, 음수 변화량이 20%보다 큰 경우 결과를 1로 설정하는 공식입니다.
당신이 찾고 있는 것이 정확히 그게 아니라는 건 확신합니다. " 그리고 나서 모든 후속 판독을 첫 번째 판독과 이전 판독에 대해 평가하여 교대 근무 초과 근무에 접근합니다"가 정확히 무슨 뜻인지 이해할 수 없습니다. 제 코드를 연구하고 무엇을 하는지 확인한 다음, 원하는 대로 정확히 변경할 수 있는지 확인하세요. 그렇지 않다면 제 JSL에 대한 설명이나 질문으로 답장해 주세요.
As Constant( dt = Current Data Table() );
theMatrix = dt[Row(), Index( 2, 23 )];
start = Loc( theMatrix )[1] + 1;
startVal = dt[Row(), start];
firstChange = .;
currentChange = .;
firstValue = .;
For( i = start, i <= 22, i++,
If(
Is Missing( dt[Row(), i] ) == 0 & Is Missing( firstValue ) == 1, firstValue = dt[Row(), i],
Is Missing( dt[Row(), i] ) == 0 & Is Missing( firstChange ) == 1,
firstChange = (dt[Row(), i] - firstValue) / firstValue,
Is Missing( dt[Row(), i] ) == 0 & Is Missing( firstChange ) == 0,
currentChange = (dt[Row(), i] - firstValue) / firstValue;
If( currentChange < -0.2,
currentChange = 1;
break(),
currentChange = .
);
)
);
currentChange;