본문 바로가기
엔지엠 매크로

함수 상자 - 함수 - Foreach 반복 (Function tool box, Function, Foreach loop)

by 엔지엠 2020. 1. 27.
반응형

안녕하세요. 소심비형입니다. 이전에 소개한 액션인 For 반복과 같이 Foreach 반복도 NGM 3.0에는 없는 새로운 액션입니다. 이 액션은 For 반복보다 좀 더 업무적인 용도에 사용하기 좋도록 되어 있습니다. 물론, 사용하기 나름이긴 하지만요^^;

 

 

이 액션은 아래 동영상에서 자세하게 설명하겠지만, For 반복과 다르게 다차원 배열을 사용할 수 있습니다. 아래 표와 같은 데이터를 반복적으로 처리할 수 있다는 의미입니다.

 

 

 

어떤 데이타가 사용될지는 모르겠지만, 단순 1차원 배열과 데이터베이스에서 테이블을 가져와서 처리할 수도 있습니다. 물론, 엑셀의 데이터도 위 그림의 표처럼 다차원 배열 처리가 가능합니다. 또한, 다차원 배열을 처리하다가 특정 조건을 만나면 반복 기를 중지하고 사용자가 설정한 아이디로 이동도 가능합니다.

 

 

 

이 예제를 따라하려면 아래 글을 참고하여 로컬 컴퓨터에 데이터베이스를 설치해야 합니다. 샘플 데이터베이스를 설치하지 않았다면, 1차원 배열과 엑셀을 이용한 다차원 배열에 대해서만 테스트가 가능합니다. 아래 예제는 MS-SQL Server Northwind Database로 만든 에제입니다.

[ 데이타베이스 설치하기 ]

 

 

 

우선 간단한 테스트를 위해 아래와 같이 새로운 스크립트를 추가합니다.

File > 새로 만들기 > 스크립트 (단축키: Ctrl+N)

 

 

내용이 좀 복잡한데요. 아래 동영상을 참고해서 잘 따라 해 보시기 바랍니다. 그리고, 이 동영상에서 사용된 데이터베이스와 엑셀 예제는 첨부파일에서 다운로드할 수 있습니다. 엑셀의 경우 바탕화면에 엑셀을 하나 만들고, 다시 파일을 선택하세요. 경로가 다르기 때문에 그대로 사용할 수는 없습니다.

 

 

 

속성 정보

 

 

 기본 작업

  • 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
  • 설명: 이 액션의 부가적인 설명을 입력합니다.
  • 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
  • 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
  • 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.

 

 

데이터

  • 데이터 테이블: 변수에서 데이터 테이블을 가져올 수 있습니다. 변수에서 가져온 데이터 테이블이 있으면 작업의 아이템 소스는 무시되고 이 값이 우선됩니다.
  • 반복 횟수: 반복된 횟수를 확인할 수 있습니다.
  • 아이템: 반복에 사용된 아이템입니다.

 

 

데이터 테이블

  • 컬럼 목록: 엑셀 또는 데이터 테이블의 컬럼을 선택적으로 가져올 수 있습니다.

 

 

배열

  • 아이템 분리: 아이템 소스에 A, B, C, D와 같이 입력했다면 분리 값으로 콤마(,)를 입력해야 합니다. 이 값으로 분리하게 됩니다. 엑셀은 파일의 경로를 입력해야 하며, 데이터 테이블은 Database의 DataTable 이름을 입력해야 합니다.

 

 

변수

  • 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
  • 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.

 

 

작업

  • 아이템 소스: 1차원 배열인 A, B, C, ... 또는 엑셀 파일을 선택하세요. 데이터베이스의 테이블 이름을 적어도 됩니다. 데이터의 데이터 테이블 속성을 변수로 채우면 이 값은 무시됩니다.
  • 아이템 형식: 1차원 배열(Array)과 다차원 배열(Excel, DataTable)을 선택합니다.

 

 

개발자에게 후원하기

 

 

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

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

감사합니다~

반응형