Below is the example of using the GetMs operation to get equation data. The request contains an instance of opened modeling container and data extraction pattern. The response contains the workbook that contains equation data.
{ "Envelope" : { "Body" : { "GetMs" : {
"tMs" : { "id" : "S59!M!S!C1" }, "tArg" : { "pattern" : { "obInst" : "true", "item" :
{ "key" : "2803", "problem" : { "metamodel" : { "visualControllerPattern" : { "variableWorkbook" : {
"pattern" : { "obInst" : "true", "cellsTable" : { "headers" : "true", "slots" : { "elementName" : "true" },
"cells" : "true", "emptyCells" : "false", "getCellDate" : "true" } } } } } } }
}, "execParams" : { "k" : "4667", "execFillWithModel" : "true" } } } } } }
{ "Envelope" : { "Body" : { "GetMsResult" : { "id" :
{ "id" : "S59!M!S!C1" }, "meta" : { "obInst" : { "obDesc" : { "@isShortcut" : "0",
"i" : "MODELSPACE", "n" : "Modeling container", "k" : "1581", "c" : "5121", "p" : "1580", "h" : "0" } }, "dirty" : "0", "item" :
{ "k" : "2803", "id" : "TEMP_MODEL", "n" : "TEMP_MODEL", "vis" : "1", "type" : "Problem", "problemMd" : { "metamodel" : {
"k" : "2804", "visualController" : { "variableWorkbook" : { "id" : { "id" : "S59!M!S!W3" }, "meta" :
{ "obInst" : { "obDesc" : { "@isShortcut" : "0", "i" : "VARIABLESWB_2804", "n" : "VariablesWorkBook", "k" : "2835", "c" : "2827",
"p" : "2804", "h" : "0" } }, "dirty" : "1", "windowsPosition" : "Vertical", "hasPivot" : "0", "hasLaner" : "1", "series" : {
"@count" : "3", "its" : "" }, "cellsTable" : { "@rowCount" : "3", "@columnCount" : "21", "columns" : { "dims" :
{ "it" : { "k" : "0", "id" : "calendar" } }, "slots" : { "s" :
[ { "@date" : "2000-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2000", "n" : "2000A1" }
} }, { "@date" : "2001-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2001", "n" : "2001A1"
} } }, { "@date" : "2002-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2002",
"n" : "2002A1" } } }, { "@date" : "2003-01-01", "els" : { "e" : {
"k" : "YEARS:1.1.2003", "n" : "2003A1" } } }, { "@date" : "2004-01-01", "els" : { "e" :
{ "k" : "YEARS:1.1.2004", "n" : "2004A1" } } }, { "@date" : "2005-01-01", "els" : {
"e" : { "k" : "YEARS:1.1.2005", "n" : "2005A1" } } }, { "@date" : "2006-01-01", "els" :
{ "e" : { "k" : "YEARS:1.1.2006", "n" : "2006A1" } } }, { "@date" : "2007-01-01",
"els" : { "e" : { "k" : "YEARS:1.1.2007", "n" : "2007A1" } } }, {
"@date" : "2008-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2008", "n" : "2008A1" } } },
{ "@date" : "2009-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2009", "n" : "2009A1" } }
}, { "@date" : "2010-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2010", "n" : "2010A1" }
} }, { "@date" : "2011-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2011", "n" : "2011A1"
} } }, { "@date" : "2012-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2012",
"n" : "2012A1" } } }, { "@date" : "2013-01-01", "els" : { "e" : {
"k" : "YEARS:1.1.2013", "n" : "2013A1" } } }, { "@date" : "2014-01-01", "els" : { "e" :
{ "k" : "YEARS:1.1.2014", "n" : "2014A1" } } }, { "@date" : "2015-01-01", "els" : {
"e" : { "k" : "YEARS:1.1.2015", "n" : "2015A1" } } }, { "@date" : "2016-01-01", "els" :
{ "e" : { "k" : "YEARS:1.1.2016", "n" : "2016A1" } } }, { "@date" : "2017-01-01",
"els" : { "e" : { "k" : "YEARS:1.1.2017", "n" : "2017A1" } } }, {
"@date" : "2018-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2018", "n" : "2018A1" } } },
{ "@date" : "2019-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2019", "n" : "2019A1" } }
}, { "@date" : "2020-01-01", "els" : { "e" : { "k" : "YEARS:1.1.2020", "n" : "2020A1" }
} } ] } }, "rows" : { "dims" : { "it" :
{ "k" : "0", "id" : "series" } }, "slots" : { "s" : [ {
"els" : { "e" : { "k" : "MyInputVavable", "n" : "MyInputVavable" } } }, {
"els" : { "e" : { "k" : "MyOutputVavable", "n" : "MyOutputVavable" } } }, {
"els" : { "e" : { "k" : "MyInputVavable", "n" : "MyInputVavable" } } } ]
} }, "cells" : { "c" : [ { "@v" : "3.000000", "@dt" : "3", "@row" : "0",
"@column" : "0", "@date" : "2000-01-01" }, { "@v" : "6.200000", "@dt" : "3", "@row" : "0", "@column" : "1", "@date" : "2001-01-01" },
{ "@v" : "7.100000", "@dt" : "3", "@row" : "0", "@column" : "2", "@date" : "2002-01-01" }, { "@v" : "5.800000", "@dt" : "3",
"@row" : "0", "@column" : "3", "@date" : "2003-01-01" }, { "@v" : "2.800000", "@dt" : "3", "@row" : "0", "@column" : "4", "@date" : "2004-01-01"
}, { "@v" : "3.700000", "@dt" : "3", "@row" : "0", "@column" : "5", "@date" : "2005-01-01" }, { "@v" : "4.454652",
"@dt" : "3", "@row" : "0", "@column" : "6", "@date" : "2006-01-01" }, { "@v" : "3.200000", "@dt" : "3", "@row" : "0", "@column" : "7",
"@date" : "2007-01-01" }, { "@v" : "3.600000", "@dt" : "3", "@row" : "0", "@column" : "8", "@date" : "2008-01-01" }, {
"@v" : "8.000000", "@dt" : "3", "@row" : "0", "@column" : "9", "@date" : "2009-01-01" }, { "@v" : "7.000000", "@dt" : "3", "@row" : "0",
"@column" : "10", "@date" : "2010-01-01" }, { "@v" : "1.000000", "@dt" : "3", "@row" : "1", "@column" : "0", "@date" : "2000-01-01" },
{ "@v" : "-1.700000", "@dt" : "3", "@row" : "1", "@column" : "1", "@date" : "2001-01-01" }, { "@v" : "7.200000", "@dt" : "3",
"@row" : "1", "@column" : "2", "@date" : "2002-01-01" }, { "@v" : "-1.000000", "@dt" : "3", "@row" : "1", "@column" : "3", "@date" : "2003-01-01"
}, { "@v" : "5.000000", "@dt" : "3", "@row" : "1", "@column" : "4", "@date" : "2004-01-01" }, { "@v" : "0.200000",
"@dt" : "3", "@row" : "1", "@column" : "5", "@date" : "2005-01-01" }, { "@v" : "6.600000", "@dt" : "3", "@row" : "1", "@column" : "6",
"@date" : "2006-01-01" }, { "@v" : "-0.500000", "@dt" : "3", "@row" : "1", "@column" : "7", "@date" : "2007-01-01" }, {
"@v" : "3.200000", "@dt" : "3", "@row" : "1", "@column" : "8", "@date" : "2008-01-01" }, { "@v" : "2.000000", "@dt" : "3", "@row" : "1",
"@column" : "9", "@date" : "2009-01-01" }, { "@v" : "3.000000", "@dt" : "3", "@row" : "1", "@column" : "10", "@date" : "2010-01-01" },
{ "@v" : "3.000000", "@dt" : "3", "@row" : "2", "@column" : "0", "@date" : "2000-01-01" }, { "@v" : "6.200000", "@dt" : "3",
"@row" : "2", "@column" : "1", "@date" : "2001-01-01" }, { "@v" : "7.100000", "@dt" : "3", "@row" : "2", "@column" : "2", "@date" : "2002-01-01"
}, { "@v" : "5.800000", "@dt" : "3", "@row" : "2", "@column" : "3", "@date" : "2003-01-01" }, { "@v" : "2.800000",
"@dt" : "3", "@row" : "2", "@column" : "4", "@date" : "2004-01-01" }, { "@v" : "3.700000", "@dt" : "3", "@row" : "2", "@column" : "5",
"@date" : "2005-01-01" }, { "@v" : "4.454652", "@dt" : "3", "@row" : "2", "@column" : "6", "@date" : "2006-01-01" }, {
"@v" : "6.448962", "@dt" : "3", "@row" : "2", "@column" : "7", "@date" : "2007-01-01" }, { "@v" : "4.749104", "@dt" : "3", "@row" : "2",
"@column" : "8", "@date" : "2008-01-01" }, { "@v" : "4.215213", "@dt" : "3", "@row" : "2", "@column" : "9", "@date" : "2009-01-01" },
{ "@v" : "4.909267", "@dt" : "3", "@row" : "2", "@column" : "10", "@date" : "2010-01-01" } ] } }
} } } } } } } } } } }
The GetMsEqData function gets data of the specified equation. Input parameters:
ms. Opened modeling container instance.
modelKey. Key of the model that contains the equation.
eqKey. Equation key.
After executing the function returns the workbook that contains equation data. The data is also displayed in the console window.
public static GetWbkMdResult GetMsEqData(MsId ms, ulong modelKey, ulong eqKey) { var getMsOp = new GetMs(); getMsOp.tMs = ms; getMsOp.tArg = new GetMsArg() { // Set data get pattern pattern = new MsMdPattern() { item = new MsItemPattern() { // Specify model key key = modelKey, problem = new MsProblemPattern()
{ metamodel = new MsMetaModelPattern() { // Set pattern for visual building of metamodel visualControllerPattern = new MsMetaModelVisualControllerPattern() { // Set pattern of internal workbook extraction variableWorkbook = new GetWbkMdArg() { pattern = new WbkMdPattern() { cellsTable = new WbkCellsTablePattern()
{ headers = true, cells = true, emptyCells = false, slots = new PvtSlotPattern() {elementName = true } } } } } }
} } },// Set operation execution parameters execParams = new MsMdExecParams() { // Specify equation key k = eqKey, execFillWithModel = true } }; // Create proxy object for operation execution
var somClient = new SomPortTypeClient(); // Get equation data GetMsResult getMsResult = somClient.GetMs(getMsOp); // Output equation data MsMetaModelVisualController metaVC = getMsResult.meta.item.problemMd.metamodel.visualController; WbkCellsTable table = metaVC.variableWorkbook.meta.cellsTable; int ar = table.cells.Length; Console.WriteLine("Date - Value"); ulong row = 0; ulong rowAft = 2; int nowRow = 0; for (int i = 0; i <= (ar="" -="" 1);="" i++)="" {="" if="" (row="" !="rowAft)" console.writeline("");="" console.writeline(((table.rows.slots.getvalue(nowrow)="" as="" pvtslot).els.getvalue(0)="" pvtslotel).n);="" rowaft="row;" nowrow++;="" }="" console.write((table.cells.getvalue(i)="" pvttablecell).date="" +="" "="" ");="" console.writeline((table.cells.getvalue(i)="" pvttablecell).v);="" row="(table.cells.GetValue(i)" pvttablecell).row;="" };="" return="" metavc.variableworkbook;="" }
See also: