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.
{ "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" } } } } } }
{ "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"
} } } } } } }
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 getting 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 getting 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 getting 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 a 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: