2014-09-03 3 views
1

В нашем проекте ActivePivot мы разработали наш куб с предопределенными иерархиями и уровнями. Среди них у нас есть наши валюты, которые все принадлежат одному уровню.Динамическое bucketing в ActivePivot

Underlyings 
|_ALL 
|_UnderlyerCurrency 

Наши пользователи хотели бы группировать эти валюты, каждая из которых может быть различной в зависимости от выбора пользователя.

Я знаю, что уже можно использовать элементы ведра/группы в ActivePivot с использованием Analysis Dimension, но это слишком статично для нашего прецедента.

Можно ли группировать эти валюты для каждого пользователя? можно ли настроить его без перезапуска сервера?

PS: мы используем Excel и ActivePivot Живи, как UI

ответ

1

Использование 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, хотя).

Тогда интерфейс будет достаточно умным, чтобы дать пользователю все регулярные элементы управления (манипуляции с мастером, развернуть, сортировать, фильтровать, ...) на этой таблице. Кроме того, они смогут ориентироваться в нем, как если бы это была обычная иерархия!

enter image description here enter image description here

Если вы не хотите, чтобы пользователи, чтобы написать свой собственный MDX, у вас есть два решения:

  • есть кто-то с достаточно знаний MDX, которые будут писать эти запросы, сохранить его в закладка, которая будет использоваться совместно с нетехническими пользователями.
  • расширьте интерфейс, чтобы создать собственный пользовательский интерфейс, который генерирует эти ковши: нетехнические пользователи будут автономными

 Смежные вопросы

  • Нет связанных вопросов^_^