특정 행을 선택하여 Col(Sum) 기능<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
다른 열의 평균 또는 합계를 계산하는 열을 만들고 싶지만 함수를 다음과 같이 지정하고 싶습니다.
연도를 선택하면 계산이 "Year"로 발생하거나,
연도별 NetRevenueWithoutVat의 col(합계) 또는 "월(체류 날짜)"별 "NetRevenueWithoutVat" 또는
특정 행 번호의 Col(Sum) 함수...
누구든지 자신의 지식을 공유해 주시겠습니까? 스크립팅에서 또는 열에 수식으로 Col(Sum) 함수를 입력하여 수행하는 방법은 무엇입니까?
그 뒤에 논리?
감사합니다.

Re: 특정 행을 선택하여 Col(Sum) 기능사용하려는 각 날짜 범위에 대한 그룹화 열을 포함하는 별도의 열을 만들어야 하거나 다음과 같이 사용할 수 있습니다.
Col Sum(
If(
:Event Date >= Informat( "02/01/2001", "mm/dd/yyyy" ) & :Event Date <=
Informat( "02/28/2001", "mm/dd/yyyy" ),
:Total Fatal Injuries,
0
)
)
Re: 특정 행을 선택하여 Col(Sum) 기능알았어!
콜 합계(
:결제금액,
:날짜 >= 2018년 8월 1일 & :날짜 <= 2018년 8월 7일,
:카드 번호
)Re: 특정 행을 선택하여 Col(Sum) 기능죄송합니다. 하지만 저는 새로운 JMP 사용자입니다. JSL이 아닌 수식 편집기만 사용하고 있습니다. 당신이 나에게 제공하는 것이 JSL 또는 포럼 편집기를 위한 것인지 확실하지 않습니다. 이렇게 공식에 조건을 대입하면 안되나요?
콜 합계 (: 정산금액 , :날짜 >= 8 / 1 / 2018년 & :날짜 <= 8 / 7 / 2018년 ,:카드 번호 )
내가 겪고 있는 문제를 제외하면 JMP가 날짜 공식이 아니라 나눗셈으로 자동 수정한다는 것입니다.
Re: 특정 행을 선택하여 Col(Sum) 기능@미치103 ,
다음과 같이 제안한대로 시도하십시오. @ms :
dt = Current Data Table();
dt << Select Where(:Date > StartDate & :Date <ENDDATE></ENDDATE>
Re: 특정 행을 선택하여 Col(Sum) 기능이 수식을 사용하고 특정 열에 대한 논리를 정의할 수 있습니까? 예를 들어 두 날짜 사이의 각 레코드에 대한 달러 금액을 합산하려고 합니다. 따라서 공식은 다음과 같습니다.
콜 합계 ( :달러 금액, :날짜)
그러나 날짜 범위를 정의하는 방법을 잘 모르겠습니다.
Re: 특정 행을 선택하여 Col(Sum) 기능내가 사용할 때
Col Sum( :ColumnName, Selected() )
다음과 같은 오류가 발생합니다.
Row number not set or in range in access or evaluation of 'Selected' , Selected/*###*/()
누군가 무슨 일이 일어나고 있는지 말해 줄 수 있습니까?
Re: 특정 행을 선택하여 Col(Sum) 기능귀하의 예제 코드:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << select Where(:age ==12);
n = Col Sum(:age,Selected());
Col Sum() 함수는 공개 코드와 수식에서 다르게 작동합니다. 개방형 코드에서 데이터를 처리할 때 두 번째 요소가 있으면 결과 값이 두 개 이상의 값을 반환하므로 JMP는 명령문을 실행할 수 없습니다. 즉, 예제에서 반환된 값은 변수 "n"에 2개의 값이 있어야 합니다. 선택된 행에 대한 Col Sum() 및 선택되지 않은 행에 대한 Col Sum(). 제 생각에는 JMP가 값 목록을 반환할 수 있지만 @ms 이를 위해 Summarize() 함수가 사용됨을 나타냅니다. 따라서 Col Sum() 함수의 두 번째 요소가 오픈 코드에서 유효하지 않은 이유입니다.
Re: 특정 행을 선택하여 Col(Sum) 기능@txnelson :
감사합니다 . 이 접근 방식에 익숙하지만 저를 놀라게 한 것은 @ms 같은 문제를 해결하고 있었다.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Conditional sum", Formula(Col Sum(:age, Selected()))); // This Works
dt << select Where(:age == 12);
n = Col Sum(:age,Selected()); // This yields an error 4행이 귀하의 솔루션으로 쉽게 대체될 수 있다는 것을 이해하고 있습니다. 즉, 이것이 제 goto 솔루션입니다.
n = Sum(:age[dt << Get Selected Rows]);
내 경우에는 이 코드 줄이 왜 오류를 일으키는지 이해할 수 없습니다.
n = Col Sum(:age,Selected());
문서에는 이 기능이 존재한다고 표시되지 않습니다(적어도 JPM 12에서는) - 그래서 이 새로운 트릭에 정말 흥분했지만 경우에 따라 작동하는 것 같았습니다. @ms 이전에 질문을 해결했습니다. 정확히 동일한 코드가 열 수식에서 작동하지만 외부에서 오류가 발생하는 이유를 설명할 수 있습니까?
우다이
Re: 특정 행을 선택하여 Col(Sum) 기능Col Stat() 함수는 열 수식에서 주로 유용하며 선택적 그룹화 인수를 사용하면 독립 실행형 함수로 전혀 작동하지 않습니다(대신 Summarize() 사용).
내 이전 게시물은 행을 직접(또는 스크립트로) 선택하여 열을 동적으로 업데이트하는 방법을 보여주기 위한 것입니다. 매우 유용한 것보다 깔끔한 트릭에 가깝습니다 ...
예:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Conditional sum", Formula(Col Sum(:age, Selected())));
dt << select Where(:age == 12);
// Or select rows by hand and see how numbers change dynamically
Re: 특정 행을 선택하여 Col(Sum) 기능원하는 것은 데이터 테이블의 값을 데이터 벡터로 참조하는 기능을 사용하고 선택한 행의 행렬을 전달하는 것입니다.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << select Where(:age == 12);
n = Sum(:age[dt << Get Selected rows]);Re: 특정 행을 선택하여 Col(Sum) 기능@ian_jmp / @ms / @txnelson - 이견있는 사람 ?
Re: 특정 행을 선택하여 Col(Sum) 기능
이 솔루션은 특정 버전의 JMP에서만 작동합니까?
JMP 12를 사용 중이고 이 오류가 계속 발생하기 때문에
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << select Where(:age ==12);
n = Col Sum(:age,Selected());
여기 내 로그입니다
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << 선택 Where( :나이 == 12 );
n = Col Sum( :나이, 선택됨/*###*/() );
'Selected' , Selected/*###*/() 액세스 또는 평가에서 행 번호가 설정되지 않았거나 범위 내에 없음
Re: 특정 행을 선택하여 Col(Sum) 기능예, 둘 이상의 그룹화 변수가 지원됩니다.
Re: 특정 행을 선택하여 Col(Sum) 기능감사합니다!
이것이 내가 찾던 것입니다.
그것은 내가 더 나아가서 말할 수 있다는 것을 의미합니까? 콜 합계 ( : 부가 가치세 없는 순수익 , : 연도, :대리 ) ?
Re: 특정 행을 선택하여 Col(Sum) 기능열 수식에서 ColSum()을 사용합니다. 공식 콜 합계 ( : 부가 가치세 없는 순수익 , : 년도 ) 다음으로 그룹화된 합계(누적 합계가 아님)를 반환합니다. 년도 .
행 선택에 따라 동적으로 변경되는 ColSum()에 대해 다음 수식을 사용해 보십시오.
콜 합계 ( : 부가 가치세 없는 순수익 , 선택된 () )
Re: 특정 행을 선택하여 Col(Sum) 기능대답은 다음에 일어날 일에 달려 있습니다. 당신은 확실히 할 수 있습니다:
NamesDefaultToHere(1);
// (1) Get some data
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
// (2) Get summary info into a list and a vector
Summarize(groups = By(:sex), groupMeans = Mean(:height));
// (3) Make a table using the summary info
dt2 = NewTable("Height by Gender",
NewColumn("Gender", Character, Nominal, Values(groups)),
NewColumn("Mean Height", Numeric, Continuos, Values(groupMeans))
);
(Summarise에 대한 추가 옵션은 JSL 스크립팅 가이드를 참조하십시오).
3단계가 필요한 경우 '표 > 요약' 또는 '분석 > 표 만들기'를 사용하는 것이 더 나을 수 있습니다.
선택 내용을 표현할 수 있는 한 모든 행 집합에서 집계할 수도 있습니다.