열 수식 내의 조건을 충족하는 행 가져오기모두,
아마도 쉬운 질문일 것입니다. 하지만 이에 대한 도움을 구합니다. 열 공식 내의 조건과 일치하는 행을 가져오는 방법이 있습니까?
아래에 표시된 예에서 주어진 그룹의 그룹화된 합계를 얻을 수 있어야 합니다. this 위에 조건을 추가하고 싶다면 on :height가 > 60이어야 한다고 가정해 보겠습니다. 어떻게 이를 달성할 수 있습니까?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column("CondSum",Numeric,Continuous,Formula(Col Sum(:weight,:age)));열 수식 밖에서는 쉽고 달성할 수 있다고 생각합니다. 하지만 가능하다면 컬럼 수식을 통해 이를 구현하고 싶습니다.
Re: 열 수식 내에서 조건을 만족하는 행 가져오기수식은 Age 열이 변경될 때만 평가되는 것으로 나타납니다.그러나 아래 공식은 원하는 것을 얻는 것으로 보입니다.
myheight = :height;
myage = :age;
Sum( :weight[Current Data Table() << get rows where( :age == myage & :height >= myheight )] );
Re: 열 수식 내에서 조건을 만족하는 행 가져오기그래서 뭔가 연관이 있는거 같은데
여러 평가가 효율적일 수 있도록 결과가 내부적으로 캐시됩니다.
그래도 확실히 말할 수는 없습니다.중간 열만 사용하면 제대로 작동하는 것 같습니다.
Names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New COlumn("Conditional", Formula(
myheight = :height;
:height >= myheight; // should always be 1
//:height >= .5*weight // this might be a better example
));
dt << New Column("CondSum",Numeric,Continuous,Formula(
Col Sum( :weight, :age, :Conditional );
));Re: 열 수식 내에서 조건을 만족하는 행 가져오기안녕, byVar 인수로 비교하는 것은 좋은 생각입니다.
Col Sum( :weight, :age, :height >= 60 )
현재 행과 비교하는 byVar 인수에 비교를 넣는 데 관심이 있습니다.
myheight = :height;
Col Sum( :weight, :age, :height >= myheight )
이것은 예상대로 작동하지 않습니다. 계산에 혼란스러운 숫자 집합이 표시되고 누군가의 키를 변경하면 모두 "1"로 변경됩니다.
이것을 할 수 있는 방법이 있습니까?
(더 나은 참조 프레임을 위해 실제 테이블에서 colA의 날짜가 colA의 날짜 값보다 크고 colB의 날짜가 colB의 날짜 값보다 작은 행을 계산하려고 합니다.)
Re: 열 수식 내에서 조건을 만족하는 행 가져오기안녕하십니까?
실제로 다음 인수로 조건을 입력할 수 있습니다.
Col Sum( :weight, :age, :height > 60 )
60인치 이하의 12세와 60인치 이상의 12세에 대한 합계가 동일하기 때문에 이 Big Class 예에서 처음에는 제대로 보이지 않을 수 있습니다.그들은 우연히 같은 합계가 됩니다.