2014-09-03 48 views
1

在我們的ActivePivot項目中,我們使用預定義的層次結構和級別設計了我們的多維數據集。其中,我們有我們的貨幣都屬於同一水平。ActivePivot中的動態分組功能

Underlyings 
|_ALL 
|_UnderlyerCurrency 

我們的用戶想對這些貨幣進行分組,根據用戶的選擇可能會有不同。

我知道已經可以使用分析維在ActivePivot中對成員進行分組/分組,但這對我們的用例來說太靜態了。

是否可以按用戶分組這些貨幣?是否可以在不重新啓動服務器的情況下進行配置?

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直播,用戶可以編寫自己的MDX (雖然你不能用Excel做)。

然後,界面將足夠智能,以便爲用戶提供該表格上的所有常規控件(嚮導操作,下鑽,排序,過濾...)。最重要的是,他們將能夠在其中導航,就好像它是一個常規的層次結構!

enter image description here enter image description here

如果您不希望用戶自己寫MDX,有兩種解決方法:

  • 有人有足夠的MDX知識,可以寫這些查詢,它保存在將與非技術用戶共享的書籤
  • 擴展界面以創建您自己的用於生成這些存儲區的用戶界面:非技術用戶將自治