Bubbles: IVZBubblesArray;
Bubbles: Prognoz.Platform.Interop.Visualizators.IVZBubblesArray;
Свойство Bubbles возвращает массив пузырьковых показателей на слое карты.
Пузырьковый показатель позволяет отобразить дополнительную информацию о территориях, например соотношение значений показателя.
Для включения данного вида показателей используйте настройку в реестре: HKEY_CURRENT_USER\Software\Foresight\Prognoz\9.0\Visualizers\MapChart\EnableBubbleIndicator =1. Если конечного раздела «MapChart» и параметра DWORD (32 бита) «EnableBubbleIndicator =1» нет в реестре, то создайте их вручную.
Работа с пузырьковыми показателями осуществляется по тому же принципу, что и с круговыми показателями.
Пример карты с пузырьковыми показателями:
Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором «EXPRESS», содержащего карту. Измерение фактов имеет ключ «10124».
Добавьте ссылки на системные сборки: Dimensions, Express, Metabase, Pivot, Visualizators.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Map: IVZMapChart;
Facts: IDimInstance;
Slice: IEaxDataAreaSlice;
Sel: IDimSelection;
Layer: IVZMapChartLayer;
BubblesArray: IVZBubblesArray;
Bubble: IVZMapChartBubble;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим карту
Map := Express.MapChart.MapChart;
// Зададим измерение фактов в качестве измерения метрик
Facts := Express.Pivot.Dimensions.FindByKey(10124).DimInstance;
Slice := Express.DataArea.Slices.Item(0);
Slice.IndicatorsDimension := Facts;
// Включим тип метрики «Цвет пузырьков» и в отметку добавим все элементы
Sel := Express.MapChart.IndicatorSelection(EaxMapChartIndicators.BubbleColor);
Sel.SelectAll;
// Получим слой на карте
Layer := Map.RootLayer.SubLayers.Item(0);
// Получим коллекцию пузырьковых показателей
BubblesArray := Layer.Bubbles;
// Получим объект для работы с пузырьковыми показателями
Bubble := BubblesArray.Item(0);
// Очистим коллекцию пузырьковых показателей
BubblesArray.Clear;
// Добавим ранее полученный объект для работы с пузырьковыми показателями
BubblesArray.Add(Bubble);
// Обновим и сохраним отчет
Express.RefreshAll;
(Express As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера на карте экспресс-отчета появятся пузырьковые показатели.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Visualizators;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Map: IVZMapChart;
Facts: IDimInstance;
Slice: IEaxDataAreaSlice;
Sel: IDimSelection;
Layer: IVZMapChartLayer;
BubblesArray: IVZBubblesArray;
Bubble: VZMapChartBubble;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим карту
Map := Express.MapChart.MapChart;
// Зададим измерение фактов в качестве измерения метрик
Facts := Express.Pivot.Dimensions.FindByKey(10124).DimInstance;
Slice := Express.DataArea.Slices.Item[0];
Slice.IndicatorsDimension := Facts;
// Включим тип метрики «Цвет пузырьков» и в отметку добавим все элементы
Sel := Express.MapChart.IndicatorSelection[EaxMapChartIndicators.emciBubbleColor As Integer];
Sel.SelectAll();
// Получим слой на карте
Layer := Map.RootLayer.SubLayers.Item[0];
// Получим коллекцию пузырьковых показателей
BubblesArray := Layer.Bubbles;
// Получим объект для работы с пузырьковыми показателями
Bubble := BubblesArray.Item[0];
// Очистим коллекцию пузырьковых показателей
BubblesArray.Clear();
// Добавим ранее полученный объект для работы с пузырьковыми показателями
BubblesArray.Add(Bubble);
// Обновим и сохраним отчет
Express.RefreshAll();
(Express As IMetabaseObject).Save();
End Sub;
См. также: