GetCalculatedCubeFormulasRes GetCalculatedCubeFormulas(CubeId tCube, GetCalculatedCubeFormulasArg tArg)
tCube. Моникёр открытого экземпляра вычисляемого куба.
tArg. Параметры выполнения операции.
Операция GetCalculatedCubeFormulas получает формулы для вычисляемого куба.
Для выполнения операции укажите в поле tCube моникёр экземпляра вычисляемого куба, а в поле tArg параметры получения списка формул. Моникёр экземпляра вычисляемого куба можно получить с помощью операции OpenCube.
В поле tArg.its необходимо сформировать элемент, в котором в поле dimIds задать моникёры измерений, формирующих координату куба. Указываются измерения, не зафиксированные в кубе и участвующие в формировании координат, по которым задаются формулы. Список измерений может быть получен с помощью операции GetCube или при открытии куба с помощью операции OpenCube, если задан соответствующий шаблон. Далее все измерения необходимо открыть с помощью операции OpenDim и сформировать по ним отметку с помощью операции ChangeDimSelection. Полученная отметка определит координату куба, по которой будут получены формулы.
Результатом операции будет формула по указанной координате или коллекция формул, если в кубе настроено управление периодом действия формул.
Ниже приведён пример получения информации о формулах, заданных для указанной координаты вычисляемого куба. В запросе передаются моникёр экземпляра куба и моникёры измерений, формирующих координату куба. По измерениями предварительно выставлена отметка. В ответе приходит полученная информация о формулах.
{
"GetCalculatedCubeFormulas" :
{
"tCube" :
{
"id" : "S1!M!S!C1"
},
"tArg" :
{
"its" :
{
"it" :
[
{
"dimIds" :
{
"its" :
{
"it" :
[
{
"dimId" :
{
"id" : "S1!M!S!S2"
}
},
{
"dimId" :
{
"id" : "S1!M!S!S3"
}
},
{
"dimId" :
{
"id" : "S1!M!S!S4"
}
}
]
}
}
}
]
}
}
}
}
{
"GetCalculatedCubeFormulasResult" :
{
"its" :
{
"it" :
[
{
"formulas" :
{
"formula" :
{
"its" :
{
"it" :
[
{
"index" : "0",
"dateBegin" : "1899-12-30T00:00:00.000",
"dateEnd" : "1899-12-30T00:00:00.000",
"expression" : "(Показатель 1 | Источник 2 | 2000 + Показатель 1 | Источник 2 | 2001) \/ 2",
"expressionMoniker" : "S1!M!S!C1!292839.0|292841.0|112.14!Exp0"
}
]
}
},
"modified" : "0"
}
}
]
}
}
}
public static GetCalculatedCubeFormulasRes GetCalcCubeFormulas(CubeId moniker, OpenId[] dimMonikers)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tGet = new GetCalculatedCubeFormulas()
{
tArg = new GetCalculatedCubeFormulasArg()
{
its = new GetCalculatedCubeCoordFormula[]
{
new GetCalculatedCubeCoordFormula()
{
dimIds = new OpenIds()
{
its = dimMonikers
}
}
}
},
tCube = moniker
};
//Получение формул вычисляемого куба
var result = somClient.GetCalculatedCubeFormulas(tGet);
return result;
}
См. также: