Below is the example of using the SetMs operation to change variable data. The request contains an instance of opened modeling container, parameters of operation execution, and the data change pattern. After execution the operation returns the workbook that contains changed variable data.
{ "Envelope" : { "Body" : { "SetMs" : { "tMs" : { "id" : "S83!M!S!C1" },
"tArg" : { "pattern" : { "obInst" : "true", "item" : { "key" : "4411", "problem" : {
"metamodel" : { "visualControllerPattern" : "" } } } }, "meta" : { "item" :
{ "k" : "4411", "type" : "Problem", "problemMd" : { "metamodel" : { "visualController" : { "variableWorkbookSet" :
{ "refresh" : { "saveData" : "true" }, "pattern" : { "obInst" : "true", "dataEditState" : "true", "cellsTable" :
{ "cells" : "true", "getCellDate" : "true" } }, "meta" : { "dataEditState" : { "readOnly" : "false"
}, "cellsTable" : { "@rowCount" : "1", "@columnCount" : "31", "columns" : { "dims" : { "it" :
{ "k" : "0", "id" : "calendar" } }, "slots" : { "s" : [ {
"@date" : "1990-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1990", "n" : "1990A1" } } },
{ "@date" : "1991-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1991", "n" : "1991A1" } }
}, { "@date" : "1992-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1992", "n" : "1992A1" }
} }, { "@date" : "1993-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1993", "n" : "1993A1"
} } }, { "@date" : "1994-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1994",
"n" : "1994A1" } } }, { "@date" : "1995-01-01", "els" : { "e" : {
"k" : "YEARS:1.1.1995", "n" : "1995A1" } } }, { "@date" : "1996-01-01", "els" : { "e" :
{ "k" : "YEARS:1.1.1996", "n" : "1996A1" } } }, { "@date" : "1997-01-01", "els" : {
"e" : { "k" : "YEARS:1.1.1997", "n" : "1997A1" } } }, { "@date" : "1998-01-01", "els" :
{ "e" : { "k" : "YEARS:1.1.1998", "n" : "1998A1" } } }, { "@date" : "1999-01-01",
"els" : { "e" : { "k" : "YEARS:1.1.1999", "n" : "1999A1" } } }, {
"@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" : "Modeling variable|A", "n" : "Modeling variable|A" } } } } }, "cells" : {
"c" : [ { "@v" : "45", "@dt" : "3", "@row" : "0", "@column" : "0", "@date" : "1990-01-01" }, {
"@v" : "2.000000", "@dt" : "3", "@row" : "0", "@column" : "1", "@date" : "1991-01-01" }, { "@v" : "3.000000", "@dt" : "3", "@row" : "0",
"@column" : "2", "@date" : "1992-01-01" } ] } } } }, "variableWorkbookEaxSet" : {
"pattern" : { "obInst" : "true" }, "meta" : "" } } } } }
}, "metaGet" : { "obInst" : "true", "item" : { "key" : "4411", "problem" : { "metamodel" :
{ "visualControllerPattern" : { "variableWorkbook" : { "pattern" : { "obInst" : "true", "cellsTable" : {
"headers" : "true", "slots" : { "elementKey" : "true", "elementName" : "true" }, "cells" : "true", "emptyCells" : "false", "getCellDate" : "true" }
} }, "variableWorkbookEax" : "" } } } } }, "execParams" : {
"slice" : { "k" : "0", "id" : "364", "n" : "Modeling variable", "vis" : "true", "variableKey" : "4642", "stubKey" : "4413", "selections" : {
"its" : { "Item" : { "id" : { "id" : "4426" }, "variant" : "364" }
} }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0",
"parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0"
}, "level" : "None" }, "scenarioKeys" : "", "execFillWithVariable" : "true" } } } } } }
{ "Envelope" : { "Body" : { "SetMsResult" : { "id" : { "id" : "S83!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" : "4411", "id" : "MODEL_DEL", "n" : "model_del",
"vis" : "1", "type" : "Problem", "problemMd" : { "metamodel" : { "k" : "4412", "visualController" : { "variableWorkbook" :
{ "id" : { "id" : "S83!M!S!W4" }, "meta" : { "obInst" : { "obDesc" :
{ "@isShortcut" : "0", "i" : "VARIABLESWB_4412", "n" : "VariablesWorkBook", "k" : "4443", "c" : "2827", "p" : "4412", "h" : "0" } },
"dirty" : "1", "windowsPosition" : "Vertical", "hasPivot" : "0", "hasLaner" : "1", "series" : { "@count" : "1", "its" : "" }, "cellsTable" :
{ "@rowCount" : "1", "@columnCount" : "31", "columns" : { "dims" : { "it" : { "k" : "0",
"id" : "calendar" } }, "slots" : { "s" : [ { "@date" : "1990-01-01", "els" :
{ "e" : { "k" : "YEARS:1.1.1990", "n" : "1990A1" } } }, { "@date" : "1991-01-01",
"els" : { "e" : { "k" : "YEARS:1.1.1991", "n" : "1991A1" } } }, {
"@date" : "1992-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1992", "n" : "1992A1" } } },
{ "@date" : "1993-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1993", "n" : "1993A1" } }
}, { "@date" : "1994-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1994", "n" : "1994A1" }
} }, { "@date" : "1995-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1995", "n" : "1995A1"
} } }, { "@date" : "1996-01-01", "els" : { "e" : { "k" : "YEARS:1.1.1996",
"n" : "1996A1" } } }, { "@date" : "1997-01-01", "els" : { "e" : {
"k" : "YEARS:1.1.1997", "n" : "1997A1" } } }, { "@date" : "1998-01-01", "els" : { "e" :
{ "k" : "YEARS:1.1.1998", "n" : "1998A1" } } }, { "@date" : "1999-01-01", "els" : {
"e" : { "k" : "YEARS:1.1.1999", "n" : "1999A1" } } }, { "@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" : "Modeling variable|A"
"n" : "Modeling variable|A" } } } } }, "cells" : { "c" : [
{ "@v" : "45.000000", "@dt" : "3", "@row" : "0", "@column" : "0", "@date" : "1990-01-01" }, { "@v" : "2.000000", "@dt" : "3",
"@row" : "0", "@column" : "1", "@date" : "1991-01-01" }, { "@v" : "3.000000", "@dt" : "3", "@row" : "0", "@column" : "2", "@date" : "1992-01-01"
} ] } } } }, "variableWorkbookEax" : { "id" : {
"id" : "" }, "meta" : { "obInst" : { "obDesc" : { "@isShortcut" : "0", "i" : "VARIABLESWB_4412",
"n" : "VariablesWorkBook", "k" : "4443", "c" : "2827", "p" : "4412", "h" : "0" } }, "dirty" : "1", "windowsPosition" : "Vertical", "hasPivot" : "0"
} } } } } } } } } } }
The SetMsVarData function changes data of the specified variable. Input parameters:
ms. Instance of the opened modeling container.
modelKey. Key of the model that contains the variable.
slice. Data slice that corresponds to the changed variable.
data. The table that contains new variable data.
After execution the function changes data in the specified variable and returns the workbook that contains changed data.
public static GetWbkMdResult SetMsVarData(MsId ms, ulong modelKey, MsFormulaTransformSlice slice, WbkCellsTable data) { var setMsOp = new SetMs(); setMsOp.tMs = ms; setMsOp.tArg = new SetMsArg()
{ // Set data change 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 changed data extraction pattern metaGet = 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 internal workbook extraction pattern variableWorkbook = new GetWbkMdArg() { pattern = new WbkMdPattern() {
cellsTable = new WbkCellsTablePattern() { headers = true, slots = new PvtSlotPattern() { elementKey = true, elementName = true }, cells = true, emptyCells = false } } },// Set internal express view extraction pattern pattern variableWorkbookEax = new GetEaxMdArg() { }
} } } } },// Set changeable data meta = new MsMd() { item = new MsItem() { // Specify model key k = modelKey,
type = MsItemType.Problem, problemMd = new MsProblem() { metamodel = new MsMetaModel() { visualController = new MsMetaModelVisualController() { // Set data change pattern in internal workbook variableWorkbookSet = new SetWbkMdArg() { pattern = new WbkMdPattern()
{ dataEditState = true, cellsTable = new WbkCellsTablePattern() { cells = true } }, refresh = new EaxRefresh() { saveData = true }, meta = new WbkMd() { dataEditState = new EaxDataEditState() { readOnly = false }, cellsTable = data }
},// Do not change internal express view variableWorkbookEaxSet = new SetEaxMdArg() { pattern = new EaxMdPattern() { }, meta = new EaxMd() { } } } } } }
}, // Set operation execution parameters execParams = new MsMdExecParams() { scenarioKeys = new long[] { }, slice = slice, execFillWithVariable = true } }; // Create proxy object for operation execution
var somClient = new SomPortTypeClient(); // Open variable SetMsResult setMsResult = somClient.SetMs(setMsOp); // Output changed data of variable MsMetaModelVisualController metaVC = setMsResult.meta.item.problemMd.metamodel.visualController; Console.WriteLine("Variable:" + slice.n); WbkCellsTable table = metaVC.variableWorkbook.meta.cellsTable; int ar = table.cells.Length; Console.WriteLine("Date - Value"); for (int i = 0; i <= (ar="" -="" 1);="" i++)="" {="" console.write((table.cells.getvalue(i)="" as="" pvttablecell).date="" +="" "="" ");="" console.writeline((table.cells.getvalue(i)="" pvttablecell).v);="" };="" return="" metavc.variableworkbook;="" }
See also: