이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
프로그래밍 방식으로 안전성 분석 관리자 스프레드시트 만들기 및 구성
안전성 분석 관리자 스프레드시트를 프로그래밍 방식으로 만들고 업데이트할 수 있습니다. 안전성 분석 관리자 스프레드시트를 만드는 방법에 대한 자세한 내용은 안전성 분석 관리자에서 스프레드시트 만들기 항목을 참조하십시오. 이 예제에서는 새 스프레드시트를 만들고, 행과 열을 추가하고, 열 유형을 정의하고, 열 수식을 정의하고, 셀에 내용을 추가합니다.
새 스프레드시트 만들기 및 보기
구성할 새 빈 스프레드시트를 만들려면 safetyAnalysisMgr.newSpreadsheet
함수를 사용하고 Spreadsheet
객체를 가져옵니다.
mySpreadsheet = safetyAnalysisMgr.newSpreadsheet;
안전성 분석 관리자를 열려면 safetyAnalysisMgr.openManager
함수를 사용합니다.
safetyAnalysisMgr.openManager
행과 열 추가
addRow
와 addColumn
함수를 사용하여 행과 열을 추가합니다. 이 예에서는 3개의 행과 7개의 열을 추가합니다. 처음 여섯 개의 열을 텍스트 상자 열로 만들고 마지막 열을 도출되는 열로 만듭니다.
addRow(mySpreadsheet,Count=3)
addColumn(mySpreadsheet,Count=6)
addColumn(mySpreadsheet,Type="derived")
열 유형을 업데이트하려면 그래픽 인터페이스를 사용해야 합니다. 열 유형 지정 항목을 참조하십시오.
이제 스프레드시트에는 4개의 행과 8개의 열이 있습니다. 열과 행의 개수를 확인하려면 Spreadsheet
객체의 Columns
및 Rows
속성에 액세스하면 됩니다. 행이나 열을 너무 많이 추가한 경우 deleteRow
와 deleteColumn
함수를 사용합니다.
현재 열은 디폴트 레이블을 사용하고 있습니다. setColumnLabel
함수를 사용하여 열 레이블을 설정합니다.
myLabels = ["Failure Mode", ... "Effect","Severity","Potential Failure Cause", ... "Failure Probability","Detection Method", ... "Detection Rating","Info Check"]; for n = 1:length(myLabels) setColumnLabel(mySpreadsheet,n,myLabels(n)) end
도출되는 열의 수식 정의
Info Check
열에는 수식이 없습니다. 수식을 정의하려면 setColumnFormula
함수를 사용합니다. 이 예제에서는 행의 셀 중 하나라도 비어 있으면 not enough data
메시지를 출력하고, 행의 모든 셀에 데이터가 있으면 data filled
를 출력하도록 수식을 설정합니다. 수식을 정의하기 위해 코드를 문자열로 작성합니다.
script = ... "labels = string(keys(sfa_columnValue));" + newline + ... "for n = 1:length(labels)" + newline + ... " if isempty(sfa_columnValue(labels(n)))" + newline + ... " sfa_derivedValue = ""not enough data"";" + newline + ... " else" + newline + ... " sfa_derivedValue = ""data filled"";" + newline + ... " end" + newline + ... "end"; setColumnFormula(mySpreadsheet,"Info Check",script)
셀에 내용 추가
셀에 내용을 추가하기 위해 getCell
함수를 사용하여 스프레드시트에서 SpreadsheetCell
객체를 가져옵니다. 이 예제에서는 Effect
열의 스프레드시트 셀에 값을 추가합니다. 각 SpreadsheetCell
객체의 Value
속성을 수정하여 각 셀 값을 문자형 벡터 또는 string형 스칼라로 지정합니다.
values = ["2", "5", "6", "9"]; for n = 1:length(values) cell = getCell(mySpreadsheet,n,"Effect"); cell.Value = values(n); end
string형 배열을 사용하여 각 열에 대해 이 방법을 반복할 수 있습니다.
스프레드시트 저장
스프레드시트를 작업 디렉터리에 newSpreadsheet
라는 이름의 파일로 저장합니다.
save(mySpreadsheet,"newSpreadsheet.mldatx")
링크 생성하기
Requirements Toolbox™가 있으면 스프레드시트를 저장한 후 다른 모델 아티팩트에서 스프레드시트 셀과 행에 대한 링크를 만들 수 있습니다. 자세한 내용은 Link Safety Analysis Manager Spreadsheet Cells and Rows to Linkable Items 항목을 참조하십시오.