Использование MDX, можно определить ведро или группу.
Вот пример MDX, который создает динамически два ведра Европы и Азии в существующей иерархии (я предполагаю, что измерение и иерархия имеют такое же имя):
WITH
Member [Underlyings].[Underlyings].[ALL].[Europe] AS Aggregate(
{
[Underlyings].[Underlyings].[ALL].[AllMember].[EUR],
[Underlyings].[Underlyings].[ALL].[AllMember].[GBP],
[Underlyings].[Underlyings].[ALL].[AllMember].[CHF]
}
)
Member [Underlyings].[Underlyings].[ALL].[Europe].[EUR] AS Aggregate(
{
[Underlyings].[Underlyings].[ALL].[AllMember].[EUR]
}
)
Member [Underlyings].[Underlyings].[ALL].[Europe].[GBP] AS Aggregate(
{
[Underlyings].[Underlyings].[ALL].[AllMember].[GBP]
}
)
Member [Underlyings].[Underlyings].[ALL].[Europe].[CHF] AS Aggregate(
{
[Underlyings].[Underlyings].[ALL].[AllMember].[CHF]
}
)
Member [Underlyings].[Underlyings].[ALL].[Asia] AS Aggregate(
{
[Underlyings].[Underlyings].[ALL].[AllMember].[JPY]
}
)
Member [Underlyings].[Underlyings].[ALL].[Asia].[JPY] AS Aggregate(
{
[Underlyings].[Underlyings].[ALL].[AllMember].[JPY]
}
)
SELECT NON EMPTY {
[Underlyings].[Underlyings].[ALL].[Europe],
[Underlyings].[Underlyings].[ALL].[Europe].[EUR],
[Underlyings].[Underlyings].[ALL].[Europe].[GBP],
[Underlyings].[Underlyings].[ALL].[Europe].[CHF],
[Underlyings].[Underlyings].[ALL].[Asia],
[Underlyings].[Underlyings].[ALL].[Asia].[JPY]
} ON ROWS
FROM [YourCube]
С ActivePivot Live, пользователь может написать свой собственный MDX (вы не можете сделать это с Excel, хотя).
Тогда интерфейс будет достаточно умным, чтобы дать пользователю все регулярные элементы управления (манипуляции с мастером, развернуть, сортировать, фильтровать, ...) на этой таблице. Кроме того, они смогут ориентироваться в нем, как если бы это была обычная иерархия!
Если вы не хотите, чтобы пользователи, чтобы написать свой собственный MDX, у вас есть два решения:
- есть кто-то с достаточно знаний MDX, которые будут писать эти запросы, сохранить его в закладка, которая будет использоваться совместно с нетехническими пользователями.
- расширьте интерфейс, чтобы создать собственный пользовательский интерфейс, который генерирует эти ковши: нетехнические пользователи будут автономными