AssociatedSelSetEnabled: Boolean;
Свойство AssociatedSelSetEnabled определяет, используется ли ассоциативный анализ при работе с источниками данных.
Для использования ассоциативного анализа предварительно должна быть произведена установка и настройка InMemory MOLAP-сервера.
Допустимые значения:
True. По умолчанию. Ассоциативный анализ используется, для работы с ассоциативными отметками измерений используйте свойство IEaxDataAreaPivotSlice.AssociatedSelectionGetter;
False. Ассоциативный анализ не используется.
Для выполнения примера в репозитории предполагается наличие регламентного отчёта с идентификатором INMEM_REPORT. В отчёте добавлен источник, который должен быть прокеширован и построена индексирующая информация для анализа.
Добавьте ссылки на системные сборки: Dimensions, Express, Metabase, Pivot, Report.
Sub UserProc;
Var
Mb: IMetabase;
Report: IPrxReport;
DataArea: IEaxDataArea;
Slice: IEaxDataAreaPivotSlice;
Getter: IPivotSliceAssociatedSelectionGetter;
DimSel: IDimSelection;
DimKey: Integer;
SelStr: String;
Begin
Mb := MetabaseClass.Active;
Report := Mb.ItemById("INMEM_REPORT").Bind As IPrxReport;
Report.Recalc;
DataArea := Report.DataArea;
If DataArea.AssociatedSelSetEnabled Then
// Получение объекта для работы с ассоциативными отметками
Slice := DataArea.Slices.Item(0) As IEaxDataAreaPivotSlice;
Getter := Slice.AssociatedSelectionGetter;
// Ассоциативная отметка измерения, расположенного в боковике
DimKey := Slice.Pivot.LeftHeader.Dim(0).Key;
DimSel := Getter.FindByKey(DimKey);
If Not IsNull(DimSel) Then
SelStr := DimSel.ToString;
Debug.WriteLine(SelStr);
Else
Debug.WriteLine("Ассоциативная отметка для измерения с ключом " + DimKey.ToString + " отсутствует");
End If;
// Ассоциативная отметка измерения, расположенного в шапке
DimKey := Slice.Pivot.TopHeader.Dim(0).Key;
DimSel := Getter.FindByKey(DimKey);
If Not IsNull(DimSel) Then
SelStr := DimSel.ToString;
Debug.WriteLine(SelStr);
Else
Debug.WriteLine("Ассоциативная отметка для измерения с ключом " + DimKey.ToString + " отсутствует");
End If;
End If;
End Sub UserProc;
При выполнении примера в консоль среды разработки будут выведены ассоциативные отметки измерений, расположенных в шапке и боковике источника регламентного отчёта.
См. также: