DynamicsFormat(Level: DimCalendarLevel): String;
Свойство DynamicsFormat определяет формат динамики календарного измерения.
Динамика задается в формате даты (ICubeMetaExporterBinding.DateFormat) идентификатором «$Dyn$».
Если формат динамики не определен, то используются значения по умолчанию:
Значение параметра Level | Формат динамики |
DimCalendarLevel.Year | «A» |
DimCalendarLevel.HalfYear | «S» |
DimCalendarLevel.Quarter | «Q» |
DimCalendarLevel.Month | «M» |
DimCalendarLevel.Week | «W» |
DimCalendarLevel.Day | «D» |
Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «OBJ_RUBRICATOR». В данной базе должен присутствовать атрибут «COUNTRIES».
Sub Main;
Var
TextConsumer: IDtTextConsumer;
MB: IMetabase;
Exporter: ICubeMetaExporter;
Binding: ICubeMetaExporterBinding;
Filter: ICubeMetaExporterFilter;
FilterValues: Array;
Begin
// Приемник данных для экспорта в текстовый формат
TextConsumer := New DtTextConsumer.Create;
TextConsumer.File := "C:\result_meta_exp.txt";
TextConsumer.FormatType := DtTextFormatType.Delimited;
TextConsumer.DelimitedColumnDelimiter := ";";
TextConsumer.DelimitedTextQualifier := """";
TextConsumer.Encoding := "WIN";
TextConsumer.WriteHeader := True;
// Параметры экспорта
Exporter := New CubeMetaExporterClass.Create;
MB := MetabaseClass.Active;
Exporter.Rubricator := MB.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;
Exporter.Consumer := TextConsumer As IDtConsumer;
Binding := Exporter.Bindings.Add;
Binding.FieldName := "CountryKey";
Binding.DataType := DbDataType.Integer;
Binding.BindingType := CubeMetaExporterBindingType.Attribute;
Binding.Attribute := "COUNTRIES";
Binding.KeyField := "KEY";
Binding := Exporter.Bindings.Add;
Binding.FieldName := "Date";
Binding.DataType := DbDataType.String;
Binding.BindingType := CubeMetaExporterBindingType.Calendar;
Binding.DateFormat := "$Dyn$_$Year$-$Quarter$";
Binding.DynamicsFormat(DimCalendarLevel.Year) := "A1";
Binding.DynamicsFormat(DimCalendarLevel.Quarter) := "Q1";
Binding.ValueDataType := DbDataType.Float;
Binding.ValueFieldName := "Value";
Binding.ValueDataType := DbDataType.Float;
Exporter.ByColumns := False;
Exporter.PeriodStart := DateTime.Parse("01.01.2000");
Exporter.PeriodEnd := DateTime.Parse("01.01.2008");
Exporter.CalendarLevel := DimCalendarLevel.None;
Filter := Exporter.Filters.Add;
Filter.Attribute := "COUNTRIES";
FilterValues := New Variant[2];
FilterValues[0] := 512;
FilterValues[1] := 914;
Filter.ValuesList := FilterValues;
// Экспорт
Exporter.Export;
End Sub Main;
После выполнения примера будет осуществлен экспорт показателей в текстовый файл «C:\result_meta_exp.txt». Экспортированы будут данные с 2000 по 2008 годы для тех показателей, у которых значение атрибута «COUNTRIES» равняется «512» или «914».
Пример фрагмента файла экспорта
См. также: