ICubeMetaUpdateAttributeRemapping.SourceKey

Syntax

SourceKey: Integer;

Description

The SourceKey property determines a key of the factors attribute of copied database that is used as a data source for the factors attribute of the database copy.

Comments

Time series attributes of the copied database and time series attributes of the database copy can be bound in the following ways:

If only attribute ID used to bind fields, some errors may occur during the copying if the attribute ID in time series database has been changed. Binding with using the attribute key is more safe.

Example

Executing the example requires that the repository contains a time series database with the FC identifier, that contains custom time series attribute COUNTRY. Also the time series database with the FC_COPY identifier that contains custom time series attribute A_COUNTRY must be available. These attributes should have the same characteristics. Also add links to the Cubes, Metabase and Rds system assemblies.

    Sub Button6OnClick(Sender: Object; Args: IMouseEventArgs);
    Var
        mb: IMetabase;
        CrInfo: IMetabaseObjectCreateInfo;
        Obj: IMetabaseObject;
        ObjDesc: IMetabaseObjectDescriptor;
        RubUpdateEx: ICubeMetaUpdateEx;
        Rub: IRubricator;
        AttrRemapping: ICubeMetaUpdateAttributeRemappings;
        AttrR: ICubeMetaUpdateAttributeRemapping;
        FactsDict: IMetaDictionary;
        Attr: IMetaAttribute;
    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";
        FactsDict := Rub.Facts;
        Attr := FactsDict.Attributes.FindById("COUNTRY");
        AttrR.SourceKey := Attr.Key;
        AttrR.Type := CubeMetaUpdateAttributeRemappingType.Source;
        Obj.Save;
    End Sub Button6OnClick;

After executing the example the correspondence by key and identifier is set for the A_COUNTRY and the COUNTRY attributes: when copying data from the FC database to the FC_COPY database, data of the COUNTRY attribute is copied to the A_COUNTRY attribute. Object that contains the copying settings is saved with the Cube_Meta_Upd identifier.

See also:

ICubeMetaUpdateAttributeRemapping