CalculationMode: EaxDataAreaTransformationCalculationMode;
CalculationMode: Prognoz.Platform.Interop.Express.EaxDataAreaTransformationCalculationMode;
Свойство CalculationMode определяет тип расчета формулы преобразования данных.
По умолчанию свойство принимает значение EaxDataAreaTransformationCalculationMode.AfterCalcTotals.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS», содержащего таблицу. Добавьте несколько итогов «Сумма» в элемент измерения.
Добавьте ссылки на системные сборки: Express, Metabase.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Slice: IEaxDataAreaSlice;
Trs: IEaxDataAreaTransformations;
Tr: IEaxDataAreaTransformation;
i: integer;
Begin
MB := MetabaseClass.Active;
Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим срез аналитической области данных
Slice := Express.DataArea.Slices.Item(0);
// Установим для всех формул
преобразования данных тип расчета - после итогов
Trs := Slice.CalcTransformations;
For i := 1 To trs.Count - 1 Do
Tr := Trs.Item(i);
Tr.CalculationMode := EaxDataAreaTransformationCalculationMode.AfterCalcTotals;
End For;
(Express As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в таблице станут видимы значения всех добавленных вычисляемых элементов.
Imports Prognoz.Platform.Interop.Express;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Slice: IEaxDataAreaSlice;
Trs: IEaxDataAreaTransformations;
Tr: IEaxDataAreaTransformation;
i: integer;
Begin
MB := Params.Metabase;
Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим срез аналитической области данных
Slice := Express.DataArea.Slices.Item[0];
// Установим для всех формул
преобразования данных тип расчета - после итогов
Trs := Slice.CalcTransformations;
For i := 1 To trs.Count - 1 Do
Tr := Trs.Item[i];
Tr.CalculationMode := EaxDataAreaTransformationCalculationMode.edatcmAfterCalcTotals;
End For;
(Express As IMetabaseObject).Save();
End Sub;
См. также: