MDX Crossjoin地区和国家和总计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MDX Crossjoin地区和国家和总计相关的知识,希望对你有一定的参考价值。
我需要加入两个层次结构,Region
和Country
。从我们的立方体我必须得到一个由1个地区和2个国家组成的结果。这就是我到目前为止所做的:
SET [RegionSet] AS
{
[Stores].[Region].&[EUROPE]
}
SET [CountrySet] AS
{
[Stores].[Country].&[Japan]&[APAC]
,[Stores].[Country].&[China]&[APAC]
}
NON EMPTY
(
{
[RegionSet]
, [Stores].[Region].[All]
}
)
* (
{
[CountrySet]
, [Stores].[Country].[All]
}
)
ON ROWS
MSD结果如下:
但我想在没有All条目的情况下列出一列中的区域和国家,并在最后一行添加总计。我怎样才能做到这一点?
答案
我想如果你有一个名为[Geography]
的多级用户层次结构作为[Stores]
维度的一部分,那么我认为这将是微不足道的:
SET [RegionCountrySet] AS
{
[Stores].[Geography].[Region].&[EUROPE]
,[Stores].[Geography].[Country].&[Japan]&[APAC]
,[Stores].[Geography].[Country].&[China]&[APAC]
}
...但您可以创建自定义聚合成员。然后在行上使用创建的成员:
- 选择一个未使用的层次结构来“托管”你的新成员。我假设你有一个
[Languages]
维度。新成员将作为子项添加到所选层次结构的[All]
成员中。 - 从目标创建元组,包括每个元组中的主机
[All]
成员。
像这样
MEMBER [Languages].[Language].[All].[EUROPE] AS
(
[Languages].[Language].[All]
,[Stores].[Region].&[EUROPE]
)
MEMBER [Languages].[Language].[All].[Japan] AS
(
[Languages].[Language].[All]
,[Stores].[Country].&[Japan]&[APAC]
)
MEMBER [Languages].[Language].[All].[China] AS
(
[Languages].[Language].[All]
,[Stores].[Country].&[China]&[APAC]
)
SET [S1] AS
{
[Languages].[Language].[All].[EUROPE]
,[Languages].[Language].[All].[Japan]
,[Languages].[Language].[All].[China]
}
MEMBER [Languages].[Language].[All].[Grand Total] AS
Aggregate([S1])
SET [S2] AS
{
[Languages].[Language].[All].[EUROPE]
,[Languages].[Language].[All].[Japan]
,[Languages].[Language].[All].[China]
,[Languages].[Language].[All].[Grand Total]
}
然后在脚本中试试这个
[S2] ON ROWS
以上是关于MDX Crossjoin地区和国家和总计的主要内容,如果未能解决你的问题,请参考以下文章
创建一个 MDX 计算成员以使用包含总计和减少的数据制作堆积条形图