NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 배열에서 최대 값, 최소 값과 평균 값의 변수 아이디 알아내는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 여러개의 변수가 있을 때 이 변수 값들의 최대 값과 최소 값 그리고, 평균 값을 어떻게 알아낼 수 있는지 예제를 통해 확인 해보도록 하겠습니다. 우선, 엔지엠 에디터를 실행하고 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    변수를 3개 추가하세요. 각각의 변수는 a, b, c 아이디를 설정했으며, 100, 50, 30으로 초기 값을 설정 했습니다.

    7kNPIZ4.png

     

     

    이제 최대 값이 어떤 변수인지 알아내야 하는데요. a와 b를 비교하고, b와 c를 비교하면 최대 값을 알아낼 수 있습니다. 하지만, 이렇게 구성하려면 [ 숫자 체크 ] 액션을 여러개 중복해서 사용해야 합니다. 지금은 변수가 3개뿐이라서 그럭저럭 할만하지만 만약, 변수가 10개라면 어떨까요? 이 방식은 좋지 않습니다. 가장 큰 수를 찾더라도 이 값이 어떤 변수인지 비교해서 변수명을 가져와야 합니다. 결국은 최대 값을 찾기 위해 수많은 액션들이 사용되고, 최대 값과 같은 변수를 찾기 위해 또다시 반복해야 합니다. 쉽게 어떤 변수가 최대 값을 가지고 있는지 알려면 어쩔 수 없이 코딩을 하는게 효율적이고 편리합니다. [ 파이썬 코드 실행 ] 액션을 추가하세요.

    2PiSkWb.png

     

     

    오토핫키가 편하신 분들은 오토핫키 코드 실행으로 하셔도 됩니다. 아니면 커스텀 모듈을 만들어서 액션으로 활용해도 됩니다. 방법은 다양하지만, 간단하게 쓰시려면 파이썬 코드를 작성해서 처리하는게 좋습니다. 아래는 최대 값을 가지고 있는 변수명을 알아내는 코드입니다. 각각의 변수를 arr 변수에 배열로 추가 해줍니다. max 함수를 이용하면 배열에서 최대 값을 반환합니다. 이 값을 다시 arr 변수에 저장한 후 변수들의 값과 비교한 후 변수명을 반환합니다.

    arr = [{a},{b},{c}]
    arr = max(arr)
    
    if arr == {a}:
        result = 'a'
    elif arr == {b}:
        result = 'b'
    else:
        result = 'c'

     

    코드가 어렵지는 않아서 쉽게 응용할 수 있을겁니다. 최소 값을 가진 변수명을 알려면 max 함수 대신 min 함수를 사용하면 됩니다.

    arr = [{a},{b},{c}]
    arr = min(arr)
    
    if arr == {a}:
        result = 'a'
    elif arr == {b}:
        result = 'b'
    else:
        result = 'c'

     

    실행하면 결과 값에 c 변수 이름이 표시됩니다.

    Shb7tLs.png

     

     

    아무래도 배열은 GUI로 처리하기가 쉽지 않습니다. 간단한 변수는 GUI를 이용해도 문제가 없지만, 1차원, 2차원 배열과 같은 경우에는 마우스 클릭이나 조작으로 쉽게 원하는 결과를 만들기가 어렵습니다. 대부분의 매크로 제작 프로그램들이 배열을 지원하지 않는 이유이기도 합니다. 하지만, 엔지엠 매크로는 배열을 최대한 쉽게 조작할 수 있도록 다양한 액션들을 제공합니다. 그러나~ 여전히 코딩만큼 배열을 다루기는 쉽지 않습니다. [ 배열 정렬 ] 액션을 사용하면 비슷하게 처리는 가능합니다.

    RlIqB03.png

     

     

    변수의 모든 값을 더한 후 변수만큼 나누면 평균이 구해집니다. 아래와 같이 코드를 변경하고 실행 해보세요. 결과 값으로 60이 나옵니다. 수식은 변수 a의 값 100, 변수 b의 값 50, 변수 c의 값 30을 모두 더하면 180이 됩니다. 배열의 길이 3으로 나누면 60이 됩니다.

    arr = [{a},{b},{c}]
    result = sum(arr) / len(arr)

    4w4gocl.png

     

     

    엔터프라이즈에 있는 통계 액션들을 사용하면 좀 더 쉽게 평균과 중앙값을 구할 수 있습니다. 변수들을 콤마로 구분해서 추가하면 계산 해줍니다.

    con5jBo.png

     

     

    평균값은 60이 나오고, 중앙값은 50이 나옵니다. 평균은 100+50+30/3의 값이고, 중앙값은 100, 50, 30의 항목에서 중앙에 위치한 값을 말합니다. 마지막으로 [ 배열 정렬 ]을 통해서 최대값과 최소값을 알 수 있습니다. 변수의 값이 숫자이기 때문에 내림차순, 오름차순으로 정렬하면 됩니다. [ 배열 추가 ] 액션을 통해서 Key(변수명), Value(변수값) 형태로 저장할 수 있습니다. 첨부되어 있는 예제 스크립트에 [ 배열 값 ] 액션으로 첫번째 값을 가져오면 됩니다.

    30NQL7h.png

     

     

    가능하면 자주 사용하는 함수 또는 배열 처리 동작은 커스텀 모듈로 만들어놓고, 필요할 때마다 가져다 사용하는게 좋습니다. 엔지엠 매크로는 다른 매크로 제작 프로그램들이 지원하지 않는 외부 액션을 만들어서 에디터에 추가할 수 있도록 되어 있습니다. 커스텀 모듈을 잘 활용하면 좀 더 최적화된 업무 자동화 RPA 매크로를 제작할 수 있습니다. 불필요한 동작을 하나로 묶어서 최소화할 수 있고 퍼포먼스를 증가 시킬수도 있습니다. 자세한 내용은 커스텀 모듈 제작 가이드를 참고하세요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.