Re: "조건문"을 사용하여 데이터 행을 선택한 다음 실행할 방법(예: 간단한 Col A - Col C)큰 감사를 드립니다: 제 질문에 대한 해결책을 제공해 주신 SAS 기술 지원팀의 Sarah Seligman 씨.그녀의 이메일에서 잘라내기/붙여넣기는 아래에 있지만 형식이 손실되어 수식에서 JSL 형식을 더 쉽게 볼 수 있는 그녀의 X.jmp 데이터 파일과 그녀의 답변 PDF를 첨부했습니다.다시 한 번 JSL 질문에 처음으로 응답해 준 Sarah와 Jim에게 감사드립니다.
___
안녕 제프, 기다려 주셔서 감사합니다. 귀하가 설명한 것으로 생각되는 수식을 포함하는 데이터 테이블을 첨부했습니다. "ELSE 작업을 생략하는 방식으로 IF 문을 구성할 수 있습니까?"라고 질문한 질문 부분과 관련하여 이에 대한 간단한 대답은 '예'입니다. 조건부 IF 문의 "Else" 부분을 비워두기만 하면 됩니다. 따라서 하나의 IF 문을 사용하면 수식 편집기에서 다음과 같이 표시됩니다. JSL에서는 If(:YEAR == "2020" & :CROP == "Corn" & :TYPE == "Foliar", :TRT 03 - :TRT 01 ) 두 개의 IF 문을 사용하면 다음과 같이 표시됩니다. JSL에서는 다음과 같습니다. If( :YEAR == "2020" & :CROP == "Corn" & :TYPE == "Foliar ", :TRT 03 - :TRT 01, :YEAR == "2020" & :CROP == "옥수수" & :TYPE == "IF", :TRT 05 - :TRT 01 ) 수식 편집기를 사용하는 경우 JSL보다 캐럿 아이콘을 클릭하여 새 IF 조건을 삽입할 수 있습니다. 아래 화면 캡처에서 세 번 클릭하여 If 표현식 필드를 세 개 더 추가했습니다. 설명한 목표로 돌아가기: "16FLOZ_AddedValue"라는 새 열을 만들고 수식이 다음과 같이 되기를 원합니다. TRT1"; 그러나 YEAR = 2020, CROP=옥수수, TYPE=IF(즉, 고랑 내)인 경우 수식은 "16FLOZ_AddedValue"라는 동일한 열에서 "TRT5"에서 열 "TRT1"을 뺀 값을 반환해야 합니다. 그러나 YEAR = 2021, CROP=Corn, TYPE=Foliar인 경우 수식은 "16FLOZ_AddedValue"라는 동일한 열에서 "TRT4"에서 "TRT1"" 열을 뺀 값을 반환해야 합니다. 다음은 이를 기반으로 하는 새 열 16FLOZ_AddedValue에 대한 수식입니다. 설명. 첨부된 데이터 테이블에서 열 패널의 열 이름 옆에 있는 파란색 더하기 아이콘을 클릭하여 수식 편집기에서 볼 수 있습니다. JSL에서 이 수식은 다음과 같이 작성됩니다. If( :YEAR == "2020" & :CROP == "Corn" & :TYPE == "Foliar", :TRT 03 - :TRT 01, :YEAR == "2020" & :CROP == "옥수수" & :TYPE == "IF", :TRT 05 - :TRT 01, :YEAR == "2021" & :CROP == "옥수수" & :TYPE == "엽면", : TRT 04 - :TRT 01 ) 다음과 같이 말씀하셨습니다. ELSE 문과 관련하여 "IF" 조합이 충족되지 않을 때 수식이 숨겨진 작업 단계를 수행하지 않기를 바랍니다. 즉, 예를 들어 YEAR=2020, CROP=Corn, TYPE=Foliar인 경우 TRT3-TRT1만 계산하고 ELSE 유형의 작업을 생략합니다. 즉, 나머지 모든 셀 값은 그대로 둡니다. 수식이 TRT5-TRT1 등을 취하도록 지시할 수 있는 다음 콤보 IF 문으로 이동합니다. ELSE 작업을 생략하는 방식으로 IF 문을 구성할 수 있습니까? 내가 만든 수식은 첫 번째 IF 조건에 대한 기준이 충족되면 적절한 값을 설정한 다음 다음 IF 조건으로 이동하는 식으로 진행됩니다. ELSE 조건/값을 지정할 필요가 없습니다. 이 정보가 도움이 되었기를 바랍니다. 추가 질문이 있으면 알려주세요. 감사합니다. Sarah Seligman JMP 기술 지원 공유합니다. 묻다. 배우다. 연결하다. - community.jmp.com 이 문제와 관련하여 후속 질문이 있는 경우 계속해서 기꺼이 협력하겠습니다. 영업일 기준 5일 이내에 이 이메일에 회신하기만 하면 됩니다. 이 답변으로 귀하의 질문에 완전히 답변한 경우 이 이메일을 받았고 이 문제를 만족스럽게 해결했음을 회신해 주십시오. 첨부 파일 7613517300.jmp(6Kb)
Re: "조건문"을 사용하여 데이터 행을 선택한 다음 실행할 방법(예: 간단한 Col A - Col C)안녕하세요 Jim, 회신해 주셔서 감사합니다. 제공할 수 있는 모든 도움에 감사드리며 혼란을 드려 죄송합니다. 제가 원하는 수식 유형을 명확히 하고 단순화하도록 노력하겠습니다.
YEAR라는 열이 있고 값은 2020 또는 2021입니다.
CROP이라는 다른 열이 있고 값은 Corn 또는 Soybean입니다.
TYPE이라는 다른 열이 있고 값은 Foliar 또는 IF(예: 고랑 내)입니다.
치료 1~10(TRT1, TRT2,.......,TRT10)의 평균 수율을 나타내는 또 다른 10개의 열이 있습니다.
각 처리(다른 제품 선량률)와 대조 처리(0률)의 부가가치를 계산하는 공식이 필요합니다.여기 키커가 있습니다. 치료 횟수(선량률 0, 1, 4, 8, 16, 32, 64 FL OZ/에이커를 나타냄)는 2년 사이와 CROP과 TYPE 사이에서 달랐습니다.예를 들어, 16 FL OZ/에이커 제품 선량률은 2020년 옥수수 및 대두 "IF" 모두에 대해 TRT5였으며, 즉 고랑 내 시험을 나타내며 2021년 옥수수 및 대두 "엽면" 시험 모두에서 TRT3이었습니다.
따라서 YEAR(2) x CROP(2) x TYPE(2)의 8가지 가능한 조합이 있고 1 공식 주어진 제품 선량률 대 제어 처리(0률)에 대한 bu./acre의 변화 값을 채우기 위해....예를 들어, "16FLOZ_AddedValue"라는 새 열을 생성하고 공식이 다음을 수행하기를 원합니다. :
YEAR = 2020, CROP=Corn, TYPE=Foliar인 경우 수식은 "TRT3" 값을 반환해야 합니다. 마이너스 열 "TRT1"; 하지만,
YEAR = 2020, CROP=옥수수, TYPE=IF(즉, 고랑)인 경우 수식은 "TRT5" 값을 반환해야 합니다. 마이너스 "16FLOZ_AddedValue"라는 동일한 열의 "TRT1" 열; 하지만,
YEAR = 2021, CROP=Corn, TYPE=Foliar인 경우 수식은 "TRT4" 값을 반환해야 합니다. 마이너스 "16FLOZ_AddedValue"라는 동일한 열의 "TRT1"" 열;
등 (죄송합니다. "IF"를 하나의 수식으로 묶는 방법을 모르겠습니다).
ELSE 주석과 관련하여 "IF" 조합이 충족되지 않을 때 공식이 어떤 종류의 숨겨진 작업 단계를 수행하지 않게 하려는 나의 욕구와 관련이 있습니다.즉, 예를 들어 YEAR=2020, CROP=Corn, TYPE=Foliar인 경우 TRT3-TRT1만 계산하고 ELSE 유형의 작업을 생략합니다. 즉, 나머지 모든 셀 값은 그대로 둡니다. TRT5-TRT1 등을 사용하도록 수식을 지시할 수 있는 다음 콤보 IF 문으로 이동합니다.
Re: "조건문"을 사용하여 데이터 행을 선택한 다음 실행할 방법(예: 간단한 Col A - Col C)의사 코드를 해석하는 데 문제가 있습니다.
YEAR라는 숫자 열이 있고 값이 2020인지 확인한다고 가정합니다.
이름이 다음과 같은 열이 있습니까?
자르기 | 옥수수 | 콩
또는 CROP이라는 열의 값이 Corn 또는 Soybean이 되도록 하시겠습니까?
TYPE이라는 열이 있고 "IF" 값이 있는지 확인하고 있습니까?
값이 "IF"인 경우 Mean(YIELD(BU/A)_OR, 13)이라는 열과 Mean(YIELD(BU/A)_OR, 8)이라는 열 간의 차이를 찾으려고 합니다.
또는 YIELD 열의 평균을 계산하고 싶습니까?
마지막으로 ELSE라는 열을 참조하고 EMPTY라는 열과 같은지 확인합니다.
나는 이것이 당신이 원하는 것이 아니라고 확신합니다.
데이터 테이블이 무엇인지 샘플을 제공한 다음 원하는 것을 말로 설명할 수 있습니까?
시간을 내어 스크립팅 가이드를 읽어 보시기 바랍니다.JMP 설명서 라이브러리의 도움말 풀다운 메뉴에서 사용할 수 있습니다.
간단한 Col A - Col C와 같이 실행할 데이터 행을 선택하기 위해 "조건문"을 사용하는 방법도움이 필요해!
3개 또는 4개의 열에서 데이터 행을 선택하고 싶습니다(CONDITIONAL 문을 기반으로 한 다음 올바른 행을 선택할 때 조건이 충족된 경우와 같이 간단한 수식을 실행합니다.
만약에(
:년 == 2020년 , :자르기 | 옥수수 | 콩 ,
:유형 == 만약에 , :"평균(수익률(BU/A)_OR, 13)"n - :"평균(수익률(BU/A)_OR, 8)"n,
:ELSE == :EMPTY (가능한 경우 ELSE 문을 사용하지 않는 것이 좋습니다.... 위의 조건문이 충족되어 수식을 통해 새 열에 무엇이 추가되는지 정확히 알기를 원합니다)
또는,
만약에(
:년 == 2020년 , :자르기 | 옥수수 | 콩 ,
:유형 == 엽면 , :"평균(수익률(BU/A)_OR, 4)"n - :"평균(수익률(BU/A)_OR, 1)"n,
또는,
만약에(
:년 == 2021년 , :자르기 | 옥수수 | 콩 ,
:유형 == 만약에 , :"평균(수익률(BU/A)_OR, 6)"n - :"평균(수익률(BU/A)_OR, 2)"n
또는,
만약에(
:년 == 2021년 , :자르기 | 옥수수 | 콩 ,
:유형 == 엽면 , :"평균(수익률(BU/A)_OR, 3)"n - :"평균(수익률(BU/A)_OR, 1)"n
)
고급 통계 모델링소비자 및 시장 조사품질 및 프로세스 엔지니어링