Transfer Data to the Synthesis Data Warehouse (SDW): Difference between revisions
Kate Racaza (talk | contribs) |
Kate Racaza (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
'''Transfer Data to the SDW Tutorial''' | '''Transfer Data to the SDW Tutorial''' | ||
*[[ | *[[Transfer_Data_to_the_Synthesis_Data_Warehouse_(SDW)#VBA Tutorial: Transfer Data from an Excel File to the SDW|VBA Tutorial]] | ||
*[[ | *[[Transfer_Data_to_the_Synthesis_Data_Warehouse_(SDW)#VB.NET Tutorial: Transfer Data from an Excel File to the SDW|VB.NET Tutorial]] | ||
*[[ | *[[Transfer_Data_to_the_Synthesis_Data_Warehouse_(SDW)#References|References]] | ||
</div> | </div> | ||
Line 68: | Line 68: | ||
Before you begin, be sure to reference the Microsoft Excel Object Library. Choose '''Tools > Reference''', and then select the library from the list. Click '''OK'''. | Before you begin, be sure to reference the Microsoft Excel Object Library. Choose '''Tools > Reference''', and then select the library from the list. Click '''OK'''. | ||
1. Create a new module and start with the following code to create an SDW data collection. The code uses | 1. Create a new module and start with the following code to create an SDW data collection. The code uses the <code>RawDataSet</code> object to represent the SDW data collection, and the <code>ExtractedType</code> property to specify that the data collection is for use with Weibull++. | ||
'''VBA''' | '''VBA''' | ||
Line 80: | Line 80: | ||
DataCollection.ExtractedType = RawDataSetType_Weibull | DataCollection.ExtractedType = RawDataSetType_Weibull | ||
2. Use the <code>RawData</code> object to represent a single row of data, and then use the <code>AddDataRow</code> method to add the row to the data collection. | |||
The following code demonstrates one way to extract a row of data from the Excel sheet. For <code>i = 2</code>, the code creates a new <code>RawData</code> object, and then sets its properties by using the values from row #2 of the Excel file. After the code finishes reading the row of data, it adds the object to the data collection. When the code reaches <code>Next i</code>, it increases <code>i</code> with 1 and jumps back to the <code>For</code> statement, which adds another new <code>RawData</code> object for the data in row #3 of the Excel sheet, and so on. The loop continues until <code>i</code> reaches the specified number of rows (MaxRow). | The following code demonstrates one way to extract a row of data from the Excel sheet. For <code>i = 2</code>, the code creates a new <code>RawData</code> object, and then sets its properties by using the values from row #2 of the Excel file. After the code finishes reading the row of data, it adds the object to the data collection. When the code reaches <code>Next i</code>, it increases <code>i</code> with 1 and jumps back to the <code>For</code> statement, which adds another new <code>RawData</code> object for the data in row #3 of the Excel sheet, and so on. The loop continues until <code>i</code> reaches the specified number of rows (MaxRow). | ||
Line 105: | Line 105: | ||
{{APIPrefix|Next}} i | {{APIPrefix|Next}} i | ||
3. The next step is to save the data collection to the Synthesis repository. | |||
Connect to the Synthesis repository and then use the <code>DataWarehouse.SaveRawDataSet</code> method to save the data collection to the repository. | Connect to the Synthesis repository and then use the <code>DataWarehouse.SaveRawDataSet</code> method to save the data collection to the repository. | ||
Line 120: | Line 120: | ||
=== Test the Code === | === Test the Code === | ||
Below is the complete code list for this VBA example. On the Debug menu, click '''Start''' to run the application. Then verify that the data were imported by launching Weibull++, opening the SDW ('''Home > Synthesis > Synthesis Data Warehouse''') and then selecting the new data collection. (You may need to display the StateTime, StateFS and FailureMode columns by right-clicking a column header and choosing '''Select Columns'''.) | |||
Below is the complete code list for this example. On the Debug menu, click '''Start''' to run the application. Then verify that the data were imported by launching Weibull++, opening the SDW ('''Home > Synthesis > Synthesis Data Warehouse''') and then selecting the new data collection. (You may need to display the StateTime, StateFS and FailureMode columns by right-clicking a column header and choosing '''Select Columns'''.) | |||
'''VBA''' | '''VBA''' | ||
Line 167: | Line 165: | ||
== VB.NET Tutorial: Transfer Data from an Excel File to the SDW == | == VB.NET Tutorial: Transfer Data from an Excel File to the SDW == | ||
Before | Before you begin, be sure to reference the Microsoft Excel Object Library. Choose '''Project > Add Reference''', and then select the library from the COM tab. Click '''OK'''. | ||
Create a new form. On the code page, add an Imports statement for <code>Microsoft.Office.Interop.Excel</code>. | |||
1. Start with the following code to create an SDW data collection. The code uses the <code>RawDataSet</code> object to represent an SDW data collection, and the <code>ExtractedType</code> property to specify that the data collection is for use with Weibull++. | |||
'''VB.NET''' | '''VB.NET''' | ||
Line 181: | Line 181: | ||
DataCollection.ExtractedType = RawDataSetType.Weibull | DataCollection.ExtractedType = RawDataSetType.Weibull | ||
2. Use the <code>RawData</code> object to represent a single row of data, and then use the <code>AddDataRow</code> method to add the row to the data collection. | |||
The following code demonstrates one way to extract a row of data from the Excel file. First, the code opens a connection to the Excel file and specifies the active sheet (in this case, Sheet1). Then <code>For i = 2</code>, the code creates a new <code>RawData</code> object and sets its properties by using the values from row #2 of the Excel file. After the code finishes reading the row of data, it adds the object to the data collection. When the code reaches <code>Next i</code>, it increases <code>i</code> with 1 and jumps back to the <code>For</code> statement, which adds another new <code>RawData</code> object for the data in row #3 of the Excel sheet, and so on. The loop continues until <code>i</code> reaches the specified number of rows (MaxRow). Finally, the code closes the connection to the Excel file. | The following code demonstrates one way to extract a row of data from the Excel file. First, the code opens a connection to the Excel file and specifies the active sheet (in this case, Sheet1). Then <code>For i = 2</code>, the code creates a new <code>RawData</code> object and sets its properties by using the values from row #2 of the Excel file. After the code finishes reading the row of data, it adds the object to the data collection. When the code reaches <code>Next i</code>, it increases <code>i</code> with 1 and jumps back to the <code>For</code> statement, which adds another new <code>RawData</code> object for the data in row #3 of the Excel sheet, and so on. The loop continues until <code>i</code> reaches the specified number of rows (MaxRow). Finally, the code closes the connection to the Excel file. | ||
Line 219: | Line 219: | ||
Excel.Quit() | Excel.Quit() | ||
3. The next step is to save the data collection to the Synthesis repository. | |||
Connect to the Synthesis repository and then use the <code>DataWarehouse.SaveRawDataSet</code> method to save the data collection to the repository. | Connect to the Synthesis repository and then use the <code>DataWarehouse.SaveRawDataSet</code> method to save the data collection to the repository. | ||
Line 234: | Line 234: | ||
=== Test the Code === | === Test the Code === | ||
Below is the complete code list for this VB.NET example. On the Debug menu, click '''Start''' to run the application. Then verify that the data were imported by launching Weibull++, opening the SDW ('''Home > Synthesis > Synthesis Data Warehouse''') and then selecting the new data collection. (You may need to display the StateTime, StateFS and FailureMode columns by right-clicking a column header and choosing '''Select Columns'''.) | |||
Below is the complete code list for this example. On the Debug menu, click '''Start''' to run the application. Then verify that the data were imported by launching Weibull++, opening the SDW ('''Home > Synthesis > Synthesis Data Warehouse''') and then selecting the new data collection. (You may need to display the StateTime, StateFS and FailureMode columns by right-clicking a column header and choosing '''Select Columns'''.) | |||
'''VB.NET''' | '''VB.NET''' |
Revision as of 18:08, 10 February 2016
The Synthesis Data Warehouse (SDW) — formerly called "Reliability Data Warehouse" — is a temporary data storage location in a Synthesis repository. It allows you to connect to external data sources and extract data for use in Weibull++, ALTA or RGA standard folios.
In the following tutorial, you'll learn how to use the Synthesis API to create a custom solution for moving data from an external data source over to the SDW. To keep things simple, we'll use data from an Excel file to demonstrate this capability.
The tutorial is available for both VBA and VB.NET. Note that the tutorial demonstrates one particular approach to read data from an Excel file and extract it for the SDW. It is for demonstration purposes only; the approach does not take efficiency into account and does not include any exception handling. To complete the tutorial successfully, please use the sample Excel data given below.
Create an Excel file for this tutorial
Before you begin the tutorial, please create an Excel file to use as your sample data.
Create an Excel file, then copy and paste the following data to the file. Be sure to select cell A1 in Sheet1 of the workbook when pasting the data. Save the Excel file as "SampleData."
Failure State | Time to F or S | Failure Mode |
F | 7380 | Cracked |
F | 4956 | Cracked |
F | 5451 | Cracked |
F | 6779 | Failed |
F | 7713 | Aging |
F | 1807 | Bending |
F | 5940 | Chafing |
F | 2071 | Arcing |
F | 8178 | Loose |
F | 3006 | Burned |
F | 1385 | Broken |
F | 2432 | No Contact |
F | 1169 | No Contact |
F | 592 | Shorted |
F | 24 | Burned |
F | 453 | Burned |
F | 382 | Burned |
F | 774 | Burned |
F | 53 | Burned |
VBA Tutorial: Transfer Data from an Excel File to the SDW
Before you begin, be sure to reference the Microsoft Excel Object Library. Choose Tools > Reference, and then select the library from the list. Click OK.
1. Create a new module and start with the following code to create an SDW data collection. The code uses the RawDataSet
object to represent the SDW data collection, and the ExtractedType
property to specify that the data collection is for use with Weibull++.
VBA 'Declare a new instance of the RawDataSet class. Dim DataCollection As New RawDataSet 'Name the data collection "New Data Collection," and then specify that 'it is for use with Weibull++. DataCollection.ExtractedName = "New Data Collection" DataCollection.ExtractedType = RawDataSetType_Weibull
2. Use the RawData
object to represent a single row of data, and then use the AddDataRow
method to add the row to the data collection.
The following code demonstrates one way to extract a row of data from the Excel sheet. For i = 2
, the code creates a new RawData
object, and then sets its properties by using the values from row #2 of the Excel file. After the code finishes reading the row of data, it adds the object to the data collection. When the code reaches Next i
, it increases i
with 1 and jumps back to the For
statement, which adds another new RawData
object for the data in row #3 of the Excel sheet, and so on. The loop continues until i
reaches the specified number of rows (MaxRow).
VBA 'Declare a new instance of the RawData class. Dim Row As New RawData 'Read each row of data from the Excel sheet. Dim i As Integer, MaxRow As Integer MaxRow = 20 For i = 2 to MaxRow Set Row = New RawData 'Set the desired properties for the current row of data. Row.StateFS = Sheet1.Cells(i, 1) Row.StateTime = Sheet1.Cells(i,2) Row.FailureMode = Sheet1.Cells(i,3) 'Add the current row to the data collection. Call DataCollection.AddDataRow(Row) Next i
3. The next step is to save the data collection to the Synthesis repository.
Connect to the Synthesis repository and then use the DataWarehouse.SaveRawDataSet
method to save the data collection to the repository.
VBA 'Connect to the Synthesis repository. The following code assumes that 'a standard repository called "RSRepository1.rsr10" exists in the C: drive. Dim MyRepository As New Repository MyRepository.ConnectToRepository ("C:\RSRepository1.rsr10") 'Save the extracted data collection to the repository. Call MyRepository.DataWarehouse.SaveRawDataSet(DataCollection)
Test the Code
Below is the complete code list for this VBA example. On the Debug menu, click Start to run the application. Then verify that the data were imported by launching Weibull++, opening the SDW (Home > Synthesis > Synthesis Data Warehouse) and then selecting the new data collection. (You may need to display the StateTime, StateFS and FailureMode columns by right-clicking a column header and choosing Select Columns.)
VBA Sub Main() 'Declare a new instance of the RawDataSet class. Dim DataCollection As New RawDataSet 'Name the data collection "New Data Collection," and then specify that 'it is for use with Weibull++. DataCollection.ExtractedName = "New Data Collection" DataCollection.ExtractedType = RawDataSetType_Weibull 'Declare a new instance of the RawData class. Dim Row As New RawData 'Read each row of data from the Excel sheet. Dim i As Integer, MaxRow As Integer MaxRow = 20 For i = 2 to MaxRow Set Row = New RawData 'Set the desired properties for the current row of data. Row.StateFS = Sheet1.Cells(i, 1) Row.StateTime = Sheet1.Cells(i,2) Row.FailureMode = Sheet1.Cells(i,3) 'Add the current row to the data collection. Call DataCollection.AddDataRow(Row) Next i 'Connect to the Synthesis repository. The following code assumes that 'a standard repository called "RSRepository1.rsr10" exists in the C: drive. Dim MyRepository As New Repository MyRepository.ConnectToRepository ("C:\RSRepository1.rsr10") 'Save the extracted data collection to the repository. Call MyRepository.DataWarehouse.SaveRawDataSet(DataCollection) End Sub
VB.NET Tutorial: Transfer Data from an Excel File to the SDW
Before you begin, be sure to reference the Microsoft Excel Object Library. Choose Project > Add Reference, and then select the library from the COM tab. Click OK.
Create a new form. On the code page, add an Imports statement for Microsoft.Office.Interop.Excel
.
1. Start with the following code to create an SDW data collection. The code uses the RawDataSet
object to represent an SDW data collection, and the ExtractedType
property to specify that the data collection is for use with Weibull++.
VB.NET 'Declare a new instance of the RawDataSet class. Dim DataCollection As New RawDataSet 'Name the data collection "New Data Collection," and then specify that 'it is for use with Weibull++. DataCollection.ExtractedName = "New Data Collection" DataCollection.ExtractedType = RawDataSetType.Weibull
2. Use the RawData
object to represent a single row of data, and then use the AddDataRow
method to add the row to the data collection.
The following code demonstrates one way to extract a row of data from the Excel file. First, the code opens a connection to the Excel file and specifies the active sheet (in this case, Sheet1). Then For i = 2
, the code creates a new RawData
object and sets its properties by using the values from row #2 of the Excel file. After the code finishes reading the row of data, it adds the object to the data collection. When the code reaches Next i
, it increases i
with 1 and jumps back to the For
statement, which adds another new RawData
object for the data in row #3 of the Excel sheet, and so on. The loop continues until i
reaches the specified number of rows (MaxRow). Finally, the code closes the connection to the Excel file.
VB.NET 'Declare a new instance of the RawData class. Dim Row As New RawData 'Open the Excel file. The following code assumes that the 'Excel file is saved in the C drive. Dim Excel As New Application Dim Workbook As Workbook Dim Sheet As Worksheet Workbook = Excel.Workbooks.Open("C:\SampleData.xlsx") Sheet = Workbook.Sheets(1) 'Read each row of data in the Excel file. Dim i As Integer, MaxRow As Integer MaxRow = 20 For i = 2 To MaxRow Row = New RawData 'Set the properties for the current row of data. Row.StateFS = sheet.Cells(i, 1).text Row.StateTime = sheet.Cells(i, 2).value Row.FailureMode = sheet.Cells(i, 3).text 'Add the current row to the data collection. Call DataCollection.AddDataRow(Row) Next i 'Close the Excel file. Workbook.Close() Excel.Quit()
3. The next step is to save the data collection to the Synthesis repository.
Connect to the Synthesis repository and then use the DataWarehouse.SaveRawDataSet
method to save the data collection to the repository.
VB.NET 'Connect to the Synthesis repository. The following code assumes that 'a standard repository called "RSRepository1.rsr10" exists in the C: drive. Dim MyRepository As New Repository MyRepository.ConnectToRepository ("C:\RSRepository1.rsr10") 'Save the extracted data collection to the repository. MyRepository.DataWarehouse.SaveRawDataSet(DataCollection)
Test the Code
Below is the complete code list for this VB.NET example. On the Debug menu, click Start to run the application. Then verify that the data were imported by launching Weibull++, opening the SDW (Home > Synthesis > Synthesis Data Warehouse) and then selecting the new data collection. (You may need to display the StateTime, StateFS and FailureMode columns by right-clicking a column header and choosing Select Columns.)
VB.NET Imports SynthesisAPI Imports Microsoft.Office.Interop.Excel Public Class Form1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 'Declare a new instance of the RawDataSet class. Dim DataCollection As New RawDataSet 'Name the data collection "New Data Collection," and then specify that 'it is for use with Weibull++. DataCollection.ExtractedName = "New Data Collection" DataCollection.ExtractedType = RawDataSetType.Weibull 'Declare a new instance of the RawData class. Dim Row As New RawData 'Open the Excel file. The following code assumes that the 'Excel file is saved in the C drive. Dim Excel As New Application Dim Workbook As Workbook Dim Sheet As Worksheet Workbook = Excel.Workbooks.Open("C:\SampleData.xlsx") Sheet = Workbook.Sheets(1) 'Read each row of data in the Excel file. Dim i As Integer, MaxRow As Integer MaxRow = 20 For i = 2 To MaxRow Row = New RawData 'Set the properties for the current row of data. Row.StateFS = sheet.Cells(i, 1).text Row.StateTime = sheet.Cells(i, 2).value Row.FailureMode = sheet.Cells(i, 3).text 'Add the current row to the data collection. Call DataCollection.AddDataRow(Row) Next i 'Close the Excel file. Workbook.Close() Excel.Quit() 'Connect to the Synthesis repository. The following code assumes that 'a standard repository called "RSRepository1.rsr10" exists in the C: drive. Dim MyRepository As New Repository MyRepository.ConnectToRepository ("C:\RSRepository1.rsr10") 'Save the extracted data collection to the repository. MyRepository.DataWarehouse.SaveRawDataSet(DataCollection) End Sub End Class
References
To learn more, see the reference documentation for the classes and methods discussed in this section: