Below is the example of using the GetMs operation to get equation data. The request contains an instance of opened modeling container and data getting pattern. The response contains the workbook that contains equation data.
{ "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" } } } } } }
{ "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" } ] } }
} } } } } } }
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 getting 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 a 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: