WhereRevisionKey: Integer;
The WhereRevisionKey property searches for target value of the attribute specified in the RevisionAttribute or RevisionAttributes properties (taking into account only the first name of the attribute in the collection).
Executing the example requires that the repository contains a time series database with the OBJ_FC identifier. This database must have indicator attributes with the COUNTRY and UNIT identifiers.
Add links to the Metabase, Cube, Rds, Orm system assemblies.
Sub UserProc;
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
RubrIn: IRubricatorInstance;
DictInst: IMetaDictionaryInstance;
MetaDLookup: IMetaDictionaryLookup;
Conditions: IOrmConditions;
Cond: IOrmCondition;
i: Integer;
Res: Array Of Integer;
Begin
MB := MetabaseClass.Active;
RubDesc := MB.ItemById("OBJ_FC");
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
DictInst := RubrIn.Facts;
MetaDLookup := DictInst.CreateLookup("");
Conditions := MetaDLookup.Where;
Cond := Conditions.Add;
Cond.AttributeName := "COUNTRY";
Cond.Value := 512;
MetaDLookup.RevisionAttribute := "UNIT";
MetaDLookup.WhereRevisionKey := 3436;
i := MetaDLookup.LookupKeys("FACTOR").Length;
Res := New Integer[i];
Res := MetaDLookup.LookupKeys("FACTOR");
For i := 0 To Res.Length - 1 Do
Debug.WriteLine(Res[i].ToString);
End For;
End Sub UserProc;
After executing the example, the console window displays time series keys that correspond to the following conditions: the COUNTRIES time series attribute value equals to 512, and the UNIT attribute value equals to 3436.
See also: