DataAreaSliceCustomDim SetDataAreaCustomDim(string mon, DataAreaSliceCustomDim tArg)
mon. Моникёр для работы с аналитической областью данных регламентного отчёта.
tArg. Настройки пользовательской иерархии, которые необходимо применить.
Операция SetDataAreaCustomDim изменяет пользовательскую иерархию у измерения среза аналитической области данных.
Операция позволяет изменить структуру пользовательской иерархии, которая будет отображаться вместо исходного измерения. Для выполнения операции укажите в поле mon моникёр экземпляра регламентного отчёта с постфиксом «!DataArea» для работы с аналитической областью данных, а в поле tArg настройки пользовательской иерархии, которая заменит исходное измерение. Моникёр может быть получен при выполнении операции OpenPrxMeta.
Если операция использовалась для добавления нового вычисляемого элемента, то в результате выполнения операции будут обновлённые настройки пользовательской иерархии, содержащие идентификатор добавленного элемента.
Ниже приведён пример создания вычисляемого элемента в пользовательской иерархии. В запросе передаётся моникёр для работы с аналитической областью данных, ключи среза, измерения и родительского элемента, относительно которого создаётся вычисляемый элемент. В результате выполнения операции возвращается информация о созданном элементе.
{
"SetDataAreaCustomDim" :
{
"mon" : "PPDGOAHAHLGIGOAEIELJEHMJFKLMCFPECKMBBHPICJJONNKB!M!S!PIHGHGJHAHLGIGOAEKKOKAFCJEMGPLBHEMJEKIGDODICNDNKH!DataArea",
"tArg" :
{
"sliceKey" : "1",
"operation" : "Add",
"dim" :
{
"elems" :
{
"Item" :
{
"name" : "",
"id" : "",
"owner" : "",
"arg" :
{
"parentId" : "1"
}
}
},
"key" : "116"
}
}
}
}
{
"SetDataAreaCustomDimResult" :
{
"sliceKey" : "1",
"dim" :
{
"elems" :
{
"Item" :
{
"name" : "Элемент",
"id" : "-2",
"owner" : "1"
}
},
"key" : "116"
}
}
}
public static DataAreaSliceCustomDim DataAreaAddCalcElement(string moniker, uint sliceKey, uint dimKey, uint? parentElemKey = null)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tSet = new SetDataAreaCustomDim()
{
tArg = new DataAreaSliceCustomDim()
{
sliceKey = sliceKey,
operation = CDOp.Add,
dim = new CustomDimension()
{
key = dimKey,
elems = new CDElement[]
{
new CDElement()
{
arg = new CDActionArg()
{
parentId = (parentElemKey != null ? parentElemKey.ToString() : null)
},
owner = string.Empty,
id = string.Empty,
name = string.Empty
}
}
}
},
mon = moniker + "!DataArea"
};
// Создание вычисляемого элемента в пользовательской иерархии
var result = somClient.SetDataAreaCustomDim(tSet);
return result;
}
См. также: