ICubeMetaUpdateEx.MetafactsAttributeRemappings

Синтаксис Fore

MetafactsAttributeRemappings: ICubeMetaUpdateAttributeRemappings;

Синтаксис Fore.NET

MetafactsAttributeRemappings: Prognoz.Platform.Interop.Cubes.ICubeMetaUpdateAttributeRemappings;

Описание

Свойство MetafactsAttributeRemappings возвращает коллекцию соответствий атрибутов временных рядов копируемой базы данных временных рядов и атрибутов временных рядов базы-копии.

Комментарии

Для определения коллекции соответствий атрибутов наблюдений копируемой базы и атрибутов наблюдений базы-копии используйте свойство ICubeMetaUpdateEx.MetavalsAttributeRemappings.

Пример Fore

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «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.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;

См. также:

ICubeMetaUpdateEx