AggregateDuplicatesMode: CubeDatasetAggregateDuplicatesMode;
AggregateDuplicatesMode: Prognoz.Platform.Interop.Cubes.CubeDatasetAggregateDuplicatesMode;
Свойство AggregateDuplicatesMode определяет где будет производиться агрегация дублирующихся данных.
По умолчанию агрегация дублирующихся значений осуществляется на сервере СУБД. Если в свойстве AggregateDuplicatesMode указать значение CubeDatasetAggregateDuplicatesMode.Client, то агрегация будет осуществляться на компьютере-клиенте. При этом все необходимые данные предварительно будут извлечены и загружены в память компьютера-клиенте. Также агрегация на клиенте осуществляется, если источник данных не поддерживает серверную агрегацию, например, если используется источник ODBC.
Для выполнения примера предполагается наличие в репозитории стандартного куба с идентификатором «STD_CUBE». Также в репозитории должен быть создан источник данных ODBC с идентификатором «YEAR_XLS». Источник данных настроен на работу с каким-либо файлом Microsoft Excel.
Sub UserProc;
Var
MB: IMetabase;
StdCube: IStandardCube;
CubeDest: IStandardCubeDestination;
DatasetModel: IDatasetModel;
Dataset: IStandardCubeDataset;
Begin
MB := MetabaseClass.Active;
StdCube := MB.ItemById("STD_CUBE").Edit As IStandardCube;
CubeDest := StdCube.Destinations.Item(0);
DatasetModel := MB.ItemById("YEAR_XLS").Bind As IDatasetModel;
//Добавление источника данных в куб
Dataset := CubeDest.Datasets.Add(DatasetModel);
//Способ агрегации
Dataset.AggregateDuplicatesMode := CubeDatasetAggregateDuplicatesMode.Client;
//Сохранение
(StdCube As IMetabaseObject).Save;
End Sub UserProc;
При выполнении примера в куб будет добавлен новый источник данных. При работе с данными данного источника агрегация дублирующихся данных будет выполняться на компьютере-клиенте.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Db;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
StdCube: IStandardCube;
CubeDest: IStandardCubeDestination;
DatasetModel: IDatasetModel;
Dataset: IStandardCubeDataset;
Begin
MB := Params.Metabase;
StdCube := MB.ItemById["STD_CUBE"].Edit() As IStandardCube;
CubeDest := StdCube.Destinations.Item[0];
DatasetModel := MB.ItemById["YEAR_XLS"].Bind() As IDatasetModel;
//Добавление источника данных в куб
Dataset := CubeDest.Datasets.Add(DatasetModel);
//Способ агрегации
Dataset.AggregateDuplicatesMode := CubeDatasetAggregateDuplicatesMode.cdsagdupmClient;
//Сохранение
(StdCube As IMetabaseObject).Save();
End Sub;
См. также: