지식 보관소
▣ 전문지식, 저작권 관련 자료들 중 일부만 공유하고 싶을때 사용할 수 있는 게시판 입니다.
▣ 정회원 이상만 다운로드가 가능하니 참고하시기 바랍니다.
작성일자 | 2010-07-13 |
---|---|
수정일자 |
이번시간에는 사용자 정의 통계를 셀 구분이 가능한 excel (csv)로 저장하는 방법에 대하여 알아 보도록 하겠습니다.
QUEST에서 사용자 정의 통계량을 출력한 후(txt 파일) 평균이나 기타 값을 구하기 위해서는 상당히 복잡한 절차(?)를 거쳐야 합니다.
가령 아래의 그림과 같이 txt 파일로 결과치를 출력할 경우, 앞의 문자열을 제거하고, 평균을 구하거나,
Arrival, Dispose 순서가 섞일 경우에는 그 결과치를 보기가 상당히 까다롭고 분석하기 어렵습니다.
출력파일 확장자 명을 txt 파일로 지정할 경우
이러한 방식을 아래 그림과 같이 excel로 출력한다면 평균, 분산 등을 좀 더 쉽게 구할 수 있을 것입니다.
사용자 정의 통계량을 셀 구분을 통하여 정렬한 경우
만약 excel file로 저장을 하려고하면 셀 구분이 되지 않고, 문자열 및 숫자가 겹쳐져서 나옵니다.
<그림> 확장자 명을 xls로 지정하였을 경우
위의 그림과 같이 출력값을 얻는다면, 데이터 분석이 어렵고 시간도 상당히오래 걸릴 것입니다.
따라서 이러한 것을 개선하기 위하여 사용한 파일 확장자 명이 csv입니다....
CSV [comma separated value]
각 항목이나 판매 내용마다 쉼표(comma)로 구분하여 기록한다. CSV 형식의 파일은 텍스트 파일로 보존하여 문서 처리기나 편집기에서 열람 ·편집할 수 있다. 수많은 애플리케이션에서 취급하는 범용 형식이기 때문에 PDA(personal digital assistant)와 PC 사이에 주소록이나 표의 데이터를 주고 받을 때에도 데이터 파일을 CSV 형식으로 변환해서 송수신하는 경우가 많다.
즉, 쉼표나, tab등으로 각 항목을 구분하는 csv의 특징을 이용한 것입니다.
csv 출력값 테스트를 위한 QEUST Model
QUEST 모델은 크게 dummy logic과 main logic 두개로 나눠서 만들었습니다.
이는 아래 그림과 같이 dummy logic을 이용하여 각 셀의 이름을 define 해주기 위함입니다.
로직과 출력 cell과의 관계
-- Example of User-defined statics print out a excel file user_attrib ArrivalTime : real var vCountNumber : real ----------------------------------------------------------------- Procedure Dummy_logic() begin require part ANY open file model_file()+'.csv' for text append as 1 write(#1,"Sequence,", "Arrival Time,", "Dispose Time,",cr) end --------------------------------------------------------------- Procedure Machine01_logic() begin require part ANY vCountNumber = vCountNumber + 1 celem->in_parts[1]->ArrivalTime=sim_time work 10 open file model_file()+'.csv' for text append as 1 write(#1,vCountNumber,",",celem->in_parts[1]->ArrivalTime, ",", sim_time,cr) end ---------------------------------------------------------------
여기서 중요한 것은 wirte 구문에서 ("문자열, ")가 하나의 셋트가 된다는 의미입니다. 즉 콤마를 "앞에다 넣어줘야지 ("문자열",) 과 같이 "뒤에
넣게 되면, xls과 같이 셀구분 없이 출력이 되게 됩니다.
QUEST Model :ExampleOfReadWrite.mdl.tar.gz (Version D5R18SP8)
해당 모델파일을 다운로드받아서 연습해보고싶습니다
다운로드 권한은 어떻게 얻을수있을까요?