메뉴 건너뛰기

SCM Lab

지식 보관소

   ▣ 전문지식, 저작권 관련 자료들 중 일부만 공유하고 싶을때 사용할 수 있는 게시판 입니다.
   ▣ 정회원 이상만 다운로드가 가능하니 참고하시기 바랍니다.

작성일자 2010-07-13 
수정일자  

 이번시간에는 사용자 정의 통계를 셀 구분이 가능한 excel (csv)로 저장하는 방법에 대하여 알아 보도록 하겠습니다.

 

QUEST에서 사용자 정의 통계량을 출력한 후(txt 파일) 평균이나 기타 값을 구하기 위해서는 상당히 복잡한 절차(?)를 거쳐야 합니다.

가령 아래의 그림과 같이 txt 파일로 결과치를 출력할 경우, 앞의 문자열을 제거하고, 평균을 구하거나,

Arrival, Dispose 순서가 섞일 경우에는 그 결과치를 보기가 상당히 까다롭고 분석하기 어렵습니다.

 

txt Files of QUEST Result.jpg

출력파일 확장자 명을 txt 파일로 지정할 경우

 

 

이러한 방식을 아래 그림과 같이 excel로 출력한다면 평균, 분산 등을 좀 더 쉽게 구할 수 있을 것입니다.

 

Excel File of QUEST Result.jpg

사용자 정의 통계량을 셀 구분을 통하여 정렬한 경우

 

만약 excel file로 저장을 하려고하면 셀 구분이 되지 않고, 문자열 및 숫자가 겹쳐져서 나옵니다.

 

Excel File of QUEST Result2.jpg

<그림> 확장자 명을 xls로 지정하였을 경우

 

위의 그림과 같이 출력값을 얻는다면,  데이터 분석이 어렵고 시간도 상당히오래 걸릴 것입니다.

 

따라서 이러한 것을 개선하기 위하여 사용한 파일 확장자 명이 csv입니다....

 

CSV [comma separated value]

각 항목이나 판매 내용마다 쉼표(comma)로 구분하여 기록한다. CSV 형식의 파일은 텍스트 파일로 보존하여 문서 처리기나 편집기에서 열람 ·편집할 수 있다. 수많은 애플리케이션에서 취급하는 범용 형식이기 때문에 PDA(personal digital assistant)와 PC 사이에 주소록이나 표의 데이터를 주고 받을 때에도 데이터 파일을 CSV 형식으로 변환해서 송수신하는 경우가 많다.


즉, 쉼표나, tab등으로 각 항목을 구분하는 csv의 특징을 이용한 것입니다.

 

 

QUEST Model for testing a csv output file 01.jpg

 csv 출력값 테스트를 위한 QEUST Model

 

QUEST 모델은 크게 dummy logic과 main logic 두개로 나눠서 만들었습니다.

이는 아래 그림과 같이 dummy logic을 이용하여 각 셀의 이름을 define 해주기 위함입니다.

 

QUEST Model for testing a csv output file 02.jpg

로직과 출력 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)

번호 제목 글쓴이 작성일자 수정일자 조회 수
21 XE로 아이디/비밀번호 찾기 및 가입 인증메일 보내기 [2] SCM 2014-06-27    4539
» QUEST Tutorial : User-defined statics print out a excel (csv) file [1] file SCM 2010-07-13    7871
19 QUEST Tutorial : Archive, Put Model and Save Model file SCM 2010-07-05    6368
18 Editors of QUEST SCL syntax highligher [1] file SCM 2010-06-30    7513
17 ARENA Model : 소수(Prime Number) 계산 모델 만들기 file 원잇 2010-06-24    7359
16 QUEST Model : 작업 도중 다른 작업자 호출하기 [2] file SCM 2010-06-22  2010-06-23  6664
15 ARENA 예제 : 작업 도중 다른 작업자 호출하기 [1] file 원잇 2010-06-17    6357
14 대기행렬 시스템의 표기 (Description of Queueing) file SCM 2010-06-15    7245
13 시뮬레이션의 반복 횟수를 정하는 절차 file SCM 2010-06-15    6720
12 IGRIP To QUEST Conversion method #01 file SCM 2010-06-13    6427
11 JT Conversion (IGRIP to FactoryCAD) & Xref File file SCM 2010-06-08    8550
10 ARENA Traffic Signal 모델 중 신호등 다이어트 하기? [5] file 네오랑 2010-06-03    6955
9 QUEST Tutorial 02 - Modified location of Class, Connections file SCM 2010-05-27    6128
8 ARENA Traffic Signal 모델 중 신호등 만들기 file 네오랑 2010-05-26  2010-06-03  7973
7 QUEST Tutorial 02 - Basic Modeling - Machine, Sink, Save Module file SCM 2010-05-26    6641
6 QUEST Tutorial 02 - Basic Modeling - Part & Source Class file SCM 2010-05-25    5660
5 QUEST Tutorial 02 - Basic Modeling - A Bolt Factory Continue file SCM 2010-05-24    6282
4 QUEST Tutorial 02 - Basic Modeling - A Bolt Factory file SCM 2010-05-24    6089
3 QUEST Tutorial 01 - Introduction - Building Simulation & QUEST Model file SCM 2010-05-23    6553
2 QUEST Tutorial 01 - Introduction - Context & World Display Options file SCM 2010-05-23    5766