SortTransformations: IEaxDataAreaTransformations;
SortTransformations: Prognoz.Platfrorm.Interop.Express.IEaxDataAreaTransformations;
Свойство SortTransformations возвращает коллекцию формул преобразования данных, заданных при сортировке.
Для получения коллекции формул преобразования данных, заданных для вычисляемых элементов, используйте IEaxDataAreaSlice.CalcTransformations.
Для получения коллекции формул преобразования данных, заданных при фильтрации, используйте IEaxDataAreaSlice.FilterTransformations.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS», содержащего таблицу. В таблице должны быть настроены формулы для вычисляемых элементов, для сортировки, для фильтрации.
Добавьте ссылки на системные сборки: Express, Metabase.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Slice: IEaxDataAreaSlice;
TrsCalc, TrsSort, TrsFilter: IEaxDataAreaTransformations;
i, k, m: integer;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Express := MB.ItemById("EXPRESS").Bind As IEaxAnalyzer;
// Получим срез данных
Slice := Express.DataArea.Slices.Item(0);
// Получим коллекцию формул преобразования данных
TrsCalc := Slice.CalcTransformations;
TrsSort := Slice.SortTransformations;
TrsFilter := Slice.FilterTransformations;
// Выведем в окно консоли
For i := 0 To TrsCalc.Count - 1 Do
Debug.WriteLine
("Выражение, заданное для вычисляемого элемента - " + TrsCalc.Item(i).Expression.AsString);
End For;
For k := 0 To TrsSort.Count - 1 Do
Debug.WriteLine
("Выражение, заданное при сортировке - " + TrsSort.Item(k).Expression.AsString);
End For;
For m := 0 To TrsFilter.Count - 1 Do
Debug.WriteLine
("Выражение, заданное при фильтрации - " + TrsFilter.Item(m).Expression.AsString);
End For;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены выражения всех найденных формул преобразования данных.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Slice: IEaxDataAreaSlice;
TrsCalc, TrsSort, TrsFilter: IEaxDataAreaTransformations;
i, k, m: integer;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Express := MB.ItemById["EXPRESS"].Bind() As IEaxAnalyzer;
// Получим срез данных
Slice := Express.DataArea.Slices.Item[0];
// Получим коллекцию формул преобразования данных
TrsCalc := Slice.CalcTransformations;
TrsSort := Slice.SortTransformations;
TrsFilter := Slice.FilterTransformations;
// Выведем в окно консоли
For i := 0 To TrsCalc.Count - 1 Do
System.Diagnostics.Debug.WriteLine
("Выражение, заданное для вычисляемого элемента - " + TrsCalc.Item[i].Expression.AsString);
End For;
For k := 0 To TrsSort.Count - 1 Do
System.Diagnostics.Debug.WriteLine
("Выражение, заданное при сортировке - " + TrsSort.Item[k].Expression.AsString);
End For;
For m := 0 To TrsFilter.Count - 1 Do
System.Diagnostics.Debug.WriteLine
("Выражение, заданное при фильтрации - " + TrsFilter.Item[m].Expression.AsString);
End For;
End Sub;
См. также: