Below is the example of using the SetMs operation to edit equation parameters. The request contains an instance of opened modeling container, parameters of operation execution, equation settings for theExtrapolate method, and the pattern for getting changed data. After execution the operation returns the model that contains the changed equation.
{
"SetMs" :
{
"tMs" :
{
"id" : "JCFNHBHLPMMBFOAECLAJEGIKCOPLJBPEEIEENGBLMELKEFFA!M!S!CLFIBDCHLPMMBFOAENPOKMAKFENHCGDBEFKBHDPIBKFHCEBLF"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"item" :
{
"key" : "89669",
"problem" :
{
"metamodel" :
{
"calculationChain" : "Change"
}
}
}
},
"meta" :
{
"item" :
{
"k" : "89669",
"type" : "Problem",
"problemMd" :
{
"metamodel" :
{
"calculationChain" :
{
"its" :
{
"Item" :
{
"k" : "4",
"type" : "Model",
"model" :
{
"transform" :
{
"formulas" :
{
"its" :
{
"it" :
[
{
"k" : "0",
"kind" : "CurveEstimation",
"method" :
{
"curveEstimation" :
{
"criterion" : "R2",
"dependenceFormIncluded" :
{
"it" :
[
"Linear",
"Polynomial",
"Logarithmic"
]
},
"polynomOrder" : "4",
"seasonalComponent" :
{
"mode" : "Additive",
"cycle" : "4"
},
"missingData" : "",
"confidenceLevel" : "0.96",
"value" : "0"
}
}
}
]
}
}
}
}
}
}
}
}
}
}
},
"metaGet" :
{
"obInst" : "true",
"scenarios" : "Get",
"period" : "true",
"item" :
{
"key" : "89669",
"problem" :
{
"metamodel" :
{
"calculationChain" : "Get",
"calcChainPattern" :
{
"modelPattern" :
{
"transform" :
{
"formulaCount" : "true",
"formulas" :
{
"method" : ""
},
"equationsFormula" :
{
"method" : ""
},
"kind" : "true"
}
}
},
"visualControllerPattern" :
{
"variableRubricatorKey" : "true",
"useSourceName" : "false",
"freeVariables" : "true",
"levelFormat" : "Short"
}
},
"scenarios" : "Get",
"details" : "true",
"useSavedCoefficients" : "true"
}
}
}
}
}
}
{
"SetMsResult" :
{
"id" :
{
"id" : "JCFNHBHLPMMBFOAECLAJEGIKCOPLJBPEEIEENGBLMELKEFFA!M!S!CLFIBDCHLPMMBFOAENPOKMAKFENHCGDBEFKBHDPIBKFHCEBLF"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "4",
"@hf" : "0",
"i" : "MODELSPACE",
"n" : "Modeling container",
"k" : "1581",
"c" : "5121",
"p" : "1580",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "0",
"period" :
{
"start" : "1970-01-01",
"end" : "2020-12-31"
},
"scenarios" :
{
"nodes" :
{
"it" :
[
{
"@isFolder" : "0",
"k" : "1628",
"id" : "OBJ1628",
"n" : "Basic",
"vis" : "1",
"scenDesc" :
{
"@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "OBJ1628",
"n" : "Basic",
"k" : "1628",
"c" : "5124",
"p" : "1627",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"internalKey" : "1629"
},
{
"@isFolder" : "0",
"k" : "5371",
"id" : "OBJ5371",
"n" : "Basic (copy1)",
"vis" : "1",
"scenDesc" :
{
"@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "OBJ5371",
"n" : "Basic (copy1)",
"k" : "5371",
"c" : "5124",
"p" : "1627",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"internalKey" : "5372"
}
]
}
},
"item" :
{
"k" : "89669",
"id" : "MODEL_NEW",
"n" : "MODEL_NEW",
"vis" : "1",
"type" : "Problem",
"problemMd" :
{
"metamodel" :
{
"k" : "89670",
"calculationChain" :
{
"its" :
{
"Item" :
[
{
"k" : "1",
"n" : "MyInputVavable",
"vis" : "1",
"type" : "Variable",
"excluded" : "0",
"graphMeta" : "{"Geometry":{"x":20,"y":10,"width":150,"height":50},"ChartOptions":{"chart":{"defaultSeriesType":"line","mixed":true,"backgroundColor":"rgba(0, 0, 0, 0.000000)"},"plotOptions":{"series":{"dataLabels":{"formatter":"%Autovalue","dataFormat":"#,##0.00"}}},"tooltip":{"formatter":"Value: %Autovalue\nDate: %PointName","enabled":true,"backgroundType":"none","style":{"fontFamily":"Arial","fontSize":"12px","color":"#000000"}},"yAxis":[{"labels":{"enabled":true,"dataFormat":"#,##0.00"},"title":{"text":""}}],"xAxis":{"tickInterval":2,"labels":{},"title":{}},"series":[{"entryKey":1,"scenarioKey":4294967295,"serieType":"fact","showInLegend":true,"type":"line","color":"rgba(129, 129, 129, 1)","borderColor":"rgba(129, 129, 129, 1)","borderWidth":0,"lineColor":"rgba(129, 129, 129, 1)","zIndex":1,"legendIndex":0,"visible":true,"background":{"color":"rgba(129, 129, 129, 1)","type":"color"},"marker":{"enabled":false,"symbol":"circle","fillColor":"#FFFFFF","lineWidth":1.5,"lineColor":null},"dataLabels":{"formatter":"%Autovalue"},"trendLine":{}}]}}",
"chainVariable" :
{
"slice" :
{
"k" : "0",
"id" : "MyInputVavable|A",
"n" : "MyInputVavable|A",
"vis" : "1",
"variableKey" : "1",
"stubKey" : "89671",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "89683"
},
"variant" : "1"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"level" : "Year"
},
"fullName" : "MyInputVavable|A",
"originalName" : "MyInputVavable",
"originalShortName" : "MyInputVavable",
"useCustomName" : "0"
}
},
{
"k" : "2",
"n" : "MyOutputVavable",
"vis" : "1",
"type" : "Variable",
"excluded" : "0",
"graphMeta" : "{"Geometry":{"x":30,"y":140,"width":150,"height":50}}",
"chainVariable" :
{
"slice" :
{
"k" : "0",
"id" : "MyOutputVavable|A",
"n" : "MyOutputVavable|A",
"vis" : "1",
"variableKey" : "2",
"stubKey" : "89671",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "89683"
},
"variant" : "2"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"level" : "Year"
},
"fullName" : "MyOutputVavable|A",
"originalName" : "MyOutputVavable",
"originalShortName" : "MyOutputVavable",
"useCustomName" : "0"
}
},
{
"k" : "4",
"id" : "OBJ4",
"n" : "MyOutputVavable|A[t] = Trend(MyInputVavable[t]), (From parent)-(From parent)",
"vis" : "1",
"type" : "Model",
"excluded" : "0",
"graphMeta" : "",
"model" :
{
"transform" :
{
"formulaCount" : "1",
"formulas" :
{
"its" :
{
"it" :
[
{
"k" : "0",
"kind" : "CurveEstimation",
"method" :
{
"curveEstimation" :
{
"criterion" : "R2",
"dependenceForm" : "Linear",
"dependenceFormIncluded" :
{
"it" :
[
"Linear",
"Polynomial",
"Logarithmic"
]
},
"polynomOrder" : "4",
"seasonalComponent" :
{
"mode" : "Additive",
"cycle" : "4"
},
"missingData" :
{
"specifiedVector" : "",
"method" : "Casewise",
"methodParameter" : "5",
"specifiedValue" : "0",
"specifiedTerm" :
{
"k" : "4294967295"
}
},
"confidenceLevel" : "0.96",
"value" : "0",
"explained" :
{
"slice" :
{
"k" : "0",
"id" : "MyOutputVavable|A",
"n" : "MyOutputVavable|A",
"vis" : "1",
"variableKey" : "1",
"stubKey" : "89671",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "89683"
},
"variant" : "2"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"level" : "Year"
},
"lag" : "",
"key" : "0",
"termToText" : "{MyOutputVavable|A[t]}",
"termToInnerText" : "@_1:0[]",
"termInfo" :
{
"k" : "4294967295",
"lag" : "0",
"inversion" :
{
"type" : "None",
"lag" : "PrecidingValue",
"previousLag" : "-1",
"seasonality" : "None",
"dependence" : "Linear",
"K" : "3"
},
"slice" :
{
"k" : "0",
"id" : "MyOutputVavable|A",
"n" : "MyOutputVavable|A",
"vis" : "1",
"variableKey" : "1",
"stubKey" : "89671",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "89683"
},
"variant" : "2"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"level" : "Year"
},
"date" : "1899-12-30"
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"included" : "0"
}
},
"inversionInfo" :
{
"type" : "None",
"lag" : "PrecidingValue",
"previousLag" : "-1",
"seasonality" : "None",
"dependence" : "Linear",
"K" : "3"
},
"doUseR" : "0",
"supportsR" : "0"
},
"calendarLevel" : "Year",
"outputSliceKey" : "0"
}
]
}
},
"kind" : "Simple"
},
"warnings" : "",
"readOnly" : "0"
}
}
]
}
},
"visualController" :
{
"variableRubricatorKey" : "89671",
"freeVariables" :
{
"its" : ""
},
"userRPath" : "",
"isRExist" : "0"
},
"suppressEmptyFilter" :
{
"suppressEmpty" : "0",
"suppressEmptyArea" : "SerieBounds"
},
"readOnly" : "0",
"variableTestUseR" : "0",
"calculateIdentOnFact" : "0"
},
"scenarios" :
{
"its" : ""
},
"details" :
{
"period" :
{
"identificationStartDate" : "1990-01-01",
"identificationEndDate" : "2018-04-24",
"forecastStartDate" : "2018-04-25",
"forecastEndDate" : "2020-01-01",
"identificationStartDateParamID" : "",
"identificationEndDateParamID" : "",
"forecastStartDateParamID" : "",
"forecastEndDateParamID" : "",
"autoPeriod" : "0",
"identificationStartOffset" : "0",
"identificationEndOffset" : "0",
"forecastEndOffset" : "0",
"isIdentStartCorrect" : "1",
"isIdentEndCorrect" : "1",
"isForecastEndCorrect" : "1"
},
"currentPoint" : "2018-04-25"
},
"useSavedCoefficients" : "0",
"useScenarios" : "0",
"readOnly" : "0"
}
}
}
}
}
public static MsItem SetMsCurveEstimation(MsId ms, ulong modelKey, ulong eqKey)
{
var setMsOp = new SetMs();
// Set operation execution parameters
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()
{
calculationChain = ListOperation.Change
}
}
}
},
// Set data that must be changed
meta = new MsMd()
{
item = new MsItem()
{ // Specify model key
k = modelKey,
type = MsItemType.Problem,
problemMd = new MsProblem()
{
metamodel = new MsMetaModel()
{
calculationChain = new MsCalculationChainEntries()
{
its = new MsCalculationChainEntry []
{
new MsCalculationChainEntry()
{
k = eqKey,
type = MsCalculationChainType.Model,
model = new MsModel()
{
transform = new MsFormulaTransform()
{
formulas = new TsFormulas()
{
its = new TsFormula[]
{
new TsFormula()
{
k = 0,
kind = TsFormulaKind.CurveEstimation,
method = new TsMethod()
{ // Set parameters of the Extrapolate method
curveEstimation = new TsCurveEstimationMethod()
{ // Set confidence limits relevance
confidenceLevel = 0.96,
// Set estimation criterion
criterion = StatDependenceCriterionType.R2,
// Set analyzed dependency forms
dependenceForm = null,
dependenceFormIncluded = new StatDependenceType[]
{
StatDependenceType.Linear,
StatDependenceType.Polynomial,
StatDependenceType.Logarithmic
},
// Set polynomial degree
polynomOrder = 4,
// Set seasonal effect
seasonalComponent = new StatSeasonal()
{
mode = StatSeasonalityType.Additive,
cycle = 4
},
missingData = new StatMissingData(){},
// Do not use extrapolation
extrapolateType = null,
value = 0
}
}
}
}
}
}
}
}
}
}
}
}
}
}
, // Set changed data getting pattern
metaGet = new MsMdPattern()
{
scenarios = ListOperation.Get,
period = true,
item = new MsItemPattern()
{
key = modelKey,
problem = new MsProblemPattern()
{
details = true,
scenarios = ListOperation.Get,
useSavedCoefficients = true,
metamodel = new MsMetaModelPattern()
{
calculationChain = ListOperation.Get,
calcChainPattern = new MsCalculationChainPattern()
{
modelPattern = new MsModelPattern()
{
transform = new MsFormulaTransformPattern()
{
kind = true,
formulaCount = true,
formulas = new TsFormulaPattern()
{
method = new TsMethodPattern() { }
},
equationsFormula = new TsFormulaPattern()
{
method = new TsMethodPattern() { }
}
}
}
},
visualControllerPattern = new MsMetaModelVisualControllerPattern()
{
variableRubricatorKey = true,
levelFormat = MsLevelFormat.Short,
useSourceName = false,
freeVariables = true
}
}
}
}
}
};
// Create a proxy object for operation execution
var somClient = new SomPortTypeClient();
// Set operation execution parameters
var result = somClient.SetMs(setMsOp);
return result.meta.item;
}
See also: