在我们的ActivePivot项目中,我们设计了具有预定义层次结构和级别的多维数据集。其中,我们的货币都属于同一水平。
Underlyings
|_ALL
|_UnderlyerCurrency我们的用户希望分组这些货币,每一组可能是不同的根据用户的选择。
我知道已经可以使用Analysis维度在ActivePivot中存储/组成员,但是这对于我们的用例来说太静态了。
是否可以对每个用户的货币进行分组?可以在不重新启动服务器的情况下配置它吗?
PS:我们使用Excel和ActivePivot Live作为UI
发布于 2014-09-03 12:24:47
使用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]使用Excel,用户可以编写自己的ActivePivot (但您不能用Excel编写)。
然后,该界面将足够聪明地为用户提供所有常规控件(向导操作、向下钻取、排序、过滤、.)在这张桌子上。最重要的是,他们将能够在其中导航,就好像它是一个常规的层次结构一样!


如果不希望用户编写自己的MDX,则有两个解决方案:
https://stackoverflow.com/questions/25644269
复制相似问题