
233
14.1.3.4 Компонент TDecisionPivot
Компонент TDecisionPivot ( ) позволяет динамически определять те-
кущие измерения куба, а также выбирать содержимое ячеек данных. Каждому
измерению куба в компоненте соответствует своя кнопка. Когда кнопка нажата,
измерение в составе куба является открытым, то есть данные, соответствующие
измерению, показываются в кубе. Когда кнопка, соответствующая измерению,
не нажата (отжата), данные, соответствующие измерению, в кубе не показыва-
ются. Агрегатным функциям соответствует отдельная кнопка.
Разместить на форме компонент TDecisionPivot (имя DecisionPivot1).
Установить в его свойство DecisionSource имя компонента DecisionSource1.
Общий вид окна программы показан на рисунке 14.6.
Кнопки в компоненте TDecisionPivot размещены в трех областях.
В левой области размещена кнопка «Стоимость», название которой задается
в окне редактора многомерного куба Decision Cube Editor для измерения
Sum(R.Kolvo*T.Zena) . Это кнопка предназначена для выбора агрегатных функ-
ций. По умолчанию в качестве текущей агрегатной функции берется первая из
функций, определенных в операторе SELECT (компонент TDecisionQuery). Что-
бы сменить агрегатную функцию, нужно нажать кнопку и из появившегося списка
выбрать нужную функцию.
Средняя область компонента TDecisionPivot содержит кнопки измерений,
данные по которым показываются построчно. В данном случае - это кнопки, соот-
ветствующие измерениям «Наименование покупателя», «Тип товара», «Наимено-
вание товара», «Месяц»: «Покупатель», «Товар», «Наименование», «Месяц».
Правая часть компонента содержит кнопки измерений, данные по которым
показываются в виде столбцов. В данном случае - это кнопка, соответствующая
измерению «Город».
Чтобы перевести кнопку из одной области в другую, следует щелкнуть по
ней правой кнопкой мыши и во вспомогательном меню выбрать опцию Move to
Row Area (при переводе измерения в построчный показ) или Move to Column Area
(при переводе измерения в показ по столбцу). Изменить вид показа измерения
можно также, если перетащить кнопку с измерением в рамках объекта TDecision-
Pivot между двумя панелями. Первая из них ( ) означает, что данное измерение
(ось) должно располагаться по вертикали, вторая – по горизонтали ( ). Вид окна
программы с изменением в показываемых измерениях приведен на рисунке 14.7.
Обычно по измерению показываются все его данные. Например, по измере-
нию «Наименование покупателя» показываются все покупатели. Однако часто
бывает необходимо показывать данные не по всем, а по конкретному покупате-
лю. Для этого следует переместить указатель мыши на кнопку соответствующе-
го измерения, нажать правую кнопку мыши и отметить опцию Drilled in во
вспомогательном меню.
Кнопка «Покупатель» изменит свой заголовок на «Покупатель.All Values».
Теперь, чтобы зафиксировать конкретного покупателя, следует нажать правую
кнопку мыши и в появившемся списке выбрать название конкретного покупа-