---
title: "복잡한 기능에 대한 빠른 해결책"
date: "2011-06-27"
tags: 
  - "data-integration"
  - "data-mapping"
  - "mapforce"
  - "version-2011"
description: Altova MapForce 2011은 사용자가 함수를 시각적으로 결합하여 복잡한 데이터 매핑 작업을 간소화합니다. 또한, 정확한 데이터 변환을 위해 단계별 테스트를 지원합니다.
---
Status: #blog

Tags:  #data-integration #data-mapping #mapforce #version-2011

Categories: [Altova](/blog/ko/category/altova.md) 
# 복잡한 기능에 대한 빠른 해결책

일부 데이터 변환 작업은 오늘날의 복잡한 데이터 통신 요구 사항을 충족하기 위해 여러 단계를 거쳐야 합니다. [Altova MapForce 2011](https://www.altova.com/ko/mapforce.html)은 다양한 종류의 수학적, 논리적, 문자열 및 기타 [특수 함수](https://www.altova.com/ko/mapforce/data-processing-functions.html)들을 시각적으로 결합하여 복잡한 "데이터 방정식"을 구축하고, 원하는 결과를 얻을 수 있도록 지원합니다. 복잡하고 방대한 매핑 작업을 수행하거나, 처음 사용하는 함수를 사용할 때, 또는 함수가 추가적인 처리가 필요한 중간 결과를 생성하는 경우, 작업을 진행하면서 각 단계를 거칠 때마다 테스트를 수행하는 것이 도움이 됩니다. 다음과 같이 사용할 수 있습니다 [간단한 텍스트 파일](https://www.altova.com/ko/mapforce/flat-file-mapping.html) 개발 중인 함수가 어떻게 작동하는지 확인하기 위한 임시적인 테스트 용도로 사용됩니다. 예를 들어, 기존에 출력 파일과 연결된 정보를 수정하여 데이터가 생성된 시간을 기록하고 싶다고 가정해 보겠습니다. 이제 새로운 매핑을 통해 MapForce의 "now" 기능을 쉽게 테스트해 볼 수 있습니다. 이 기능은 단순히 현재 시간을 텍스트 파일에 연결하는 방식으로 작동합니다. 

[![텍스트 파일과 연결된 함수](https://lh4.ggpht.com/-NecSm6arE0g/Tf-MKZyrP4I/AAAAAAAAAZM/DyO5RHvbDpU/technote27_1_thumb%25255B2%25255D.png?imgmax=800 "A function connected to a text file")](http://lh3.ggpht.com/-nlHcCbcvjFc/Tf-MJ9mMqQI/AAAAAAAAAZI/lFddbb7blzc/s1600-h/technote27_1%25255B4%25255D.png)

매핑 창 하단에 있는 "출력" 버튼을 클릭하면 즉시 결과가 표시됩니다 

[![`now()` 함수의 결과](https://lh3.ggpht.com/-d_iemv_ykrc/Tf-MLG7DA1I/AAAAAAAAAZU/tPounch7Ofc/technote27_2_thumb%25255B2%25255D.png?imgmax=800 "Output of the now function")](http://lh5.ggpht.com/-_I-NteTD0tE/Tf-MK-qeWAI/AAAAAAAAAZQ/byuCmyEmvrA/s1600-h/technote27_2%25255B4%25255D.png) 

알겠습니다. 그렇게 해도 괜찮지만, 출력 파일의 사용자가 좀 더 깔끔하게 정리된 형태의 데이터를 보고 싶어할 수도 있습니다. 우리는 다양한 날짜/시간 및 문자열 처리 함수를 활용하여 복잡한 함수를 만들 수 있으며, 그렇게 하면 최종 결과물이 다음과 같은 형태가 될 수 있습니다: 

[![문자열을 생성하는 복잡한 기능](https://lh3.ggpht.com/-zuEPfPxnuLY/Tf-MMIRLZKI/AAAAAAAAAZc/zj0xQr561RU/technote27_3_thumb%25255B2%25255D.png?imgmax=800 "Complicated function to produce a string")](http://lh6.ggpht.com/-429i3ML-88k/Tf-MLsxsfjI/AAAAAAAAAZY/n5PU6-z0sjs/s1600-h/technote27_3%25255B4%25255D.png) 

또는, 문자열 상수를 사용하여 `format-dateTime` 변환 함수를 통해 형식을 정의할 수도 있습니다 

[!["format-dateTime" 함수를 사용하여 사용자 정의 출력을 생성합니다](https://lh3.ggpht.com/-It_hoxtBz5I/Tf-MM0Jw2oI/AAAAAAAAAZk/bsKoKQGZkNc/technote27_4_thumb%25255B2%25255D.png?imgmax=800 "Using the format-dateTime function for customized output")](http://lh5.ggpht.com/-aHLThUl46bI/Tf-MMWQUnkI/AAAAAAAAAZg/oVQM37fNsAg/s1600-h/technote27_4%25255B4%25255D.png) 

작업을 진행하는 동안, 원하는 결과가 나올 때까지 언제든지 "출력" 버튼을 누를 수 있습니다. 예를 들어, 다음과 같은 결과가 나올 때까지 계속 작업할 수 있습니다 

[![날짜 및 시간 표시를 위한 사용자 정의 문자열](https://lh4.ggpht.com/-94YVgt5hGAc/Tf-MNzI5DaI/AAAAAAAAAZs/f1hokVgdvBo/technote27_5_thumb%25255B2%25255D.png?imgmax=800 "Custom string for date and time")](http://lh3.ggpht.com/-mOgE_ufw_ds/Tf-MNTQyQvI/AAAAAAAAAZo/gMCh3pkDtSI/s1600-h/technote27_5%25255B4%25255D.png) 

매일 날짜 및 시간 데이터 유형을 다루지 않는다면, 처음 시도부터 원하는 결과를 생성하는 형식 문자열을 작성하는 것이 어려울 수 있습니다. 여러 번의 시도, 다양한 방법, 그리고 MapForce 도움말을 참고한 결과, 다음과 같은 형식을 개발하여 날짜/시간 변환 함수의 형식 입력에 연결된 문자열 상수에 저장했습니다 

[![날짜 및 시간 형식을 정의하는 문자열](https://lh4.ggpht.com/-vJlxfpnWDLE/Tf-MOqGOehI/AAAAAAAAAZ0/5kU5pfLXnjI/technote27_6_thumb%25255B2%25255D.png?imgmax=800 "String to define format for dateTime")](http://lh6.ggpht.com/-HT699QUkXRg/Tf-MOSslQNI/AAAAAAAAAZw/qAjirhgmTKw/s1600-h/technote27_6%25255B4%25255D.png)

지금까지는 단일 필드만 포함된 기본적인 CSV 파일 형태의 텍스트 파일을 사용했지만, 파일의 속성 대화 상자를 열어 필드를 추가하거나, 더 맞춤화된 출력 파일을 만들 수 있습니다.

[![간단한 텍스트 파일의 속성 설정](https://lh6.ggpht.com/-uU2CKqIDYDQ/Tf-MPvuAgYI/AAAAAAAAAZ8/SzheowFYP3w/technote27_7_thumb%25255B3%25255D.png?imgmax=800 "Properties settings for a simple text file")](http://lh4.ggpht.com/-qZ5CeImVIuI/Tf-MPNq4zRI/AAAAAAAAAZ4/lfbmBTAuC_g/s1600-h/technote27_7%25255B5%25255D.png) 

텍스트 파일을 출력 대상으로 사용하는 장점 중 하나는 함수 결과에 대한 타입 검사가 없다는 것입니다. 따라서 텍스트 파일은 어떤 함수의 출력 결과도 검토하고 확인할 수 있도록 해줍니다. 아래 스크린샷에서 우리는 수학 함수를 만들고, 그 결과를 텍스트 파일에 저장하기 위해 두 번째 필드를 추가했습니다. 

[![두 개의 대상 필드를 포함하는 텍스트 파일](https://lh4.ggpht.com/-bkqK8zHzSGc/Tf-MQXFDV8I/AAAAAAAAAaE/lXmO7FFVIVE/technote27_8_thumb%25255B2%25255D.png?imgmax=800 "Text file with two target fields")](http://lh5.ggpht.com/-i2GuUy7xGa4/Tf-MP0AmpQI/AAAAAAAAAaA/DoEDCUBTPRw/s1600-h/technote27_8%25255B4%25255D.png)

이제 출력 결과는 다음과 같이 한 줄로, 쉼표로 구분된 형태가 됩니다

[![간단한 텍스트 파일 내의 두 개의 필드](https://lh6.ggpht.com/-pZMEjI9YzCA/Tf-MRRwlbrI/AAAAAAAAAaM/H61gauIPrpw/technote27_9_thumb%25255B2%25255D.png?imgmax=800 "Two fields in a simple text file")](http://lh3.ggpht.com/-4qI-JEQq6KU/Tf-MREv_AEI/AAAAAAAAAaI/TlRYz1Ucn_o/s1600-h/technote27_9%25255B4%25255D.png) 

만약 최종 목표가 정수 데이터 유형을 가진 데이터베이스 필드나 XML 요소라면, 이 수학 함수가 예상되는 데이터 유형을 생성하지 않는다는 것을 바로 알 수 있습니다. 테스트 매핑에서 함수를 완벽하게 구현한 후에는, 해당 함수를 선택, 복사하여 큰 매핑에 직접 붙여넣을 수 있습니다. 그런 다음, 함수의 출력 결과를 최종 목표에 연결할 수 있습니다. 아래 스크린샷에서 저희의 `dateTime` 형식 함수가 문자열로 정의된 XML 스키마의 요소에 매핑되어 있습니다.

[![지정된 함수를 더 큰 매핑(매핑 관계)에 통합합니다](https://lh4.ggpht.com/-yWufMDEjtr4/Tf-MSSrvKUI/AAAAAAAAAaU/jy-aqhTO4vI/technote27_10_thumb%25255B2%25255D.png?imgmax=800 "Function pasted into larger mapping")](http://lh3.ggpht.com/-V7xU_lpVjpA/Tf-MR4WsmXI/AAAAAAAAAaQ/hfRmKCiFRFM/s1600-h/technote27_10%25255B4%25255D.png) 

만약 이 기능이 앞으로도 자주 사용될 가능성이 있다면, 사용자 정의 함수로 변환하여 라이브러리에 저장해두면 편리하게 재사용할 수 있습니다. 

[![Altova MapForce 함수 메뉴](https://lh6.ggpht.com/-Qx5nsgVq1MA/Tf-MS30X-JI/AAAAAAAAAac/_IyIHiUGYWE/technote27_11_thumb%25255B5%25255D.png?imgmax=800 "Altova MapForce Function menu")](http://lh6.ggpht.com/-sL7Qf6AitKg/Tf-MSuQoegI/AAAAAAAAAaY/Yz14z0P3Uvo/s1600-h/technote27_11%25255B9%25255D.png) 

복잡한 함수를 큰 매핑 내에서 직접 구축하고 테스트하기 위해 텍스트 파일을 임시 대상으로 사용할 수도 있습니다. 이 경우, 매핑은 여러 개의 가능한 출력 결과를 포함합니다. 각 출력 파일의 오른쪽 상단에 있는 "눈" 모양의 버튼은 출력 창에 표시될 출력 파일을 선택합니다.

[![더 큰 매핑 작업의 일시적인 목표 지점으로 텍스트 파일을 사용합니다](https://lh6.ggpht.com/-ROHTGmMGhCc/Tf-MUbPViPI/AAAAAAAAAak/1OdyEKLbGvY/technote27_12_thumb%25255B2%25255D.png?imgmax=800 "Text file as a temporary target")](http://lh3.ggpht.com/-JEuO0O-O1d8/Tf-MTy-EOVI/AAAAAAAAAag/q10Mjah9tBQ/s1600-h/technote27_12%25255B4%25255D.png) 

"출력 미리보기"로 텍스트 파일을 선택하면, MapForce 실행 엔진은 전체 매핑 작업을 처리하는 대신, 텍스트 파일과 연결된 함수만 실행합니다. 이는 함수 결과를 확인하고 싶을 때, 또는 대량의 데이터를 처리하는 복잡한 매핑 작업을 수행할 때 시간을 절약할 수 있습니다. 또한, 잘못된 데이터를 데이터베이스에 입력할 위험을 줄일 수 있으며, 다른 많은 상황에서도 유용합니다. **직접 MapForce를 사용하여 데이터 매핑 프로젝트를 얼마나 쉽게 수행할 수 있는지 확인해 보세요!** [**무료 30일 체험판을 다운로드하세요.**](https://www.altova.com/ko/download/mapforce/data_mapping_enterprise.html) **MapForce 체험판입니다.**
