MetafactsAttributeRemappings: ICubeMetaUpdateAttributeRemappings;
MetafactsAttributeRemappings: Prognoz.Platform.Interop.Cubes.ICubeMetaUpdateAttributeRemappings;
Свойство MetafactsAttributeRemappings возвращает коллекцию соответствий атрибутов временных рядов копируемой базы данных временных рядов и атрибутов временных рядов базы-копии.
Для определения коллекции соответствий атрибутов наблюдений копируемой базы и атрибутов наблюдений базы-копии используйте свойство ICubeMetaUpdateEx.MetavalsAttributeRemappings.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC», содержащая пользовательский атрибут временных рядов «COUNTRY» и база данных временных рядов с идентификатором «FC_COPY», содержащая пользовательский атрибут временных рядов «A_COUNTRY». Данные атрибуты должны иметь одинаковые характеристики.
Добавьте ссылки на системные сборки «Metabase», «Cubes».
Sub UserProc;
Var
mb: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Obj: IMetabaseObject;
ObjDesc: IMetabaseObjectDescriptor;
RubUpdateEx: ICubeMetaUpdateEx;
Rub: IRubricator;
AttrRemapping: ICubeMetaUpdateAttributeRemappings;
AttrR: ICubeMetaUpdateAttributeRemapping;
Begin
mb := MetabaseClass.Active;
CrInfo := Mb.CreateCreateInfo;
CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_CUBEMETAUPDATE;
CrInfo.Id := Mb.GenerateId("Cube_Meta_Upd");
CrInfo.Permanent := True;
CrInfo.Parent := Mb.Root;
ObjDesc := Mb.CreateObject(CrInfo);
Obj := ObjDesc.Edit;
RubUpdateEx := Obj As ICubeMetaUpdateEx;
Rub := mb.ItemById("FC").Bind As IRubricator;
RubUpdateEx.Rubricator := Rub;
RubUpdateEx.Metabase := Mb;
RubUpdateEx.RdsDatabase := Rub.Database;
RubUpdateEx.TargetRubricator := mb.ItemById("FC_COPY_").Bind As IRubricator;
AttrRemapping := RubUpdateEx.MetafactsAttributeRemappings;
AttrR := AttrRemapping.FindById("A_COUNTRY");
AttrR.Source := "COUNTRY";
AttrR.Type := CubeMetaUpdateAttributeRemappingType.Source;
Obj.Save;
End Sub UserProc;
После выполнения примера будет задано соответствие между атрибутами «A_COUNTRY» и «COUNTRY»: при копировании данных из базы «FC» в базу «FC_COPY» данные атрибута «COUNTRY» будут скопированы в атрибут «A_COUNTRY». Объект, содержащий настройки копирования, будет сохранен с идентификатором «Cube_Meta_Upd».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Obj: IMetabaseObject;
ObjDesc: IMetabaseObjectDescriptor;
RubUpdateEx: ICubeMetaUpdateEx;
Rub: IRubricator;
AttrRemapping: ICubeMetaUpdateAttributeRemappings;
AttrR: ICubeMetaUpdateAttributeRemapping;
Begin
mb := Params.Metabase;
CrInfo := Mb.CreateCreateInfo();
CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_CUBEMETAUPDATE As integer;
CrInfo.Id := Mb.GenerateId("Cube_Meta_Upd", 0);
CrInfo.Permanent := True;
CrInfo.Parent := Mb.Root;
ObjDesc := Mb.CreateObject(CrInfo);
Obj := ObjDesc.Edit();
RubUpdateEx := Obj As ICubeMetaUpdateEx;
Rub := mb.ItemById["FC"].Bind() As IRubricator;
RubUpdateEx.Rubricator := Rub;
RubUpdateEx.Metabase := Mb;
RubUpdateEx.RdsDatabase := Rub.Database;
RubUpdateEx.TargetRubricator := mb.ItemById["FC_COPY_"].Bind() As IRubricator;
AttrRemapping := RubUpdateEx.MetafactsAttributeRemappings;
AttrR := AttrRemapping.FindById("A_COUNTRY");
AttrR.Source := "COUNTRY";
AttrR.Type := CubeMetaUpdateAttributeRemappingType.cmuartSource;
Obj.Save();
End Sub;
См. также: