Levels: DimCalendarLevelSet;
The Levels property determines the type of calendar frequency.
Executing the example requires a time series database with the OBJ_RUBRICATOR identifier and time series export file C:\result_exp.txt.
Sub Main;
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Obj: IMetabaseObject;
ObjDesc: IMetabaseObjectDescriptor;
Loader: ICubeMetaLoader;
Bindings: ICubeMetaLoaderBindings;
Binding: ICubeMetaLoaderBinding;
TextProvider: IDtTextProvider;
CalendOpt: ICubeCalendarOptions;
Begin
MB := MetabaseClass.Active;
CrInfo := Mb.CreateCreateInfo;
CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_CUBEMETALOADER;
CrInfo.Parent := Mb.ItemById("OBJ_RUBRICATOR").Bind;
CrInfo.Id := Mb.GenerateId("CUBEMETALOADER", CrInfo.Parent.Key);
CrInfo.Permanent := False;
ObjDesc := Mb.CreateObject(CrInfo);
Obj := ObjDesc.Edit;
Loader := Obj As ICubeMetaLoader;
// Data source for import from text format
TextProvider := New DtTextProvider.Create;
TextProvider.File := "C:\result_exp.txt";
TextProvider.FormatType := DtTextFormatType.Delimited;
TextProvider.DelimitedColumnDelimiter := ";";
TextProvider.DelimitedTextQualifier := """";
TextProvider.Encoding := "WIN";
TextProvider.RangeHasHeader := True;
TextProvider.Open;
Loader.Data := (TextProvider As IDatasetDataProvider);
Loader.ImportObjectKey := Obj.Key;
Loader.NewRevisionName := Metaimport;
Loader.LoadType := CubeMetaLoaderLoadType.CreateAndUpdate;
Loader.Rubricator := Mb.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;
Bindings := Loader.Bindings;
Binding := Bindings.Add;
Binding.BindingType := CubeMetaLoaderBindingType.Calendar;
CalendOpt := Binding.CalendarOptions;
CalendOpt.Levels := DimCalendarLevelSet.Year;
Binding.ByColumns := True;
Binding.CalendarDateFormat := "$Year$";
Binding.FieldType := CubeMetaLoaderFieldType.Index;
Binding.Field := "2";
Binding.EndField := "10";
End Sub Main;
After executing the example an object of time series import from text file C:\result_exp.txt is created. Binding of calendar dimension import is set up in this object.
See also: