MDX声明-跳过级别

时间:2019-03-01 14:38:01

标签: sas mdx

我具有以下层次结构:

组->国家->地点

一些数据:

  

Blockquote

group1 -> france -> place1
group1 -> france -> place2
group1 -> france -> place3
group1 -> italy -> place1
group1 -> italy -> place2
group1 -> spain -> place1
group2 -> france -> place1
group2 -> france -> place2
group2 -> italy-> place1
group3 -> italy-> place1
group3 -> italy-> place2
group3 -> italy-> place3
group3 -> spain-> place1

我需要一个没有过滤器的MDX声明(我使用SAS-OLAP,并且需要在维度上创建授权):

授权应该在2级上。用户位于sas组“意大利”中-因此 用户应该在级别1上看到所有值-在级别2和3上只能看到“意大利”,他应该看到意大利的孩子们。

有人可以帮忙mdx陈述吗?这怎么可能?

非常感谢您

亲切的问候

乔治

2 个答案:

答案 0 :(得分:0)

看看下面的示例。我想让父母和昆士兰父母的所有同胞

SELECT {[度量]。[Internet销售量]}设为0,

{([Customer]。[Customer Geography]。[State-Province]。&[QLD]&[AU]), ([客户]。[客户地理]。[省]。&[QLD]&[AU])。parent.Siblings} 开启1
从[冒险作品]

结果 enter image description here

也要在结果中添加子项。

SELECT {[Measures].[Internet Sales Amount]} ON 0,

{
([Customer].[Customer Geography].[State-Province].&[QLD]&[AU]), 
([Customer].[Customer Geography].[State-Province].&[QLD]&[AU]).parent.Siblings,
([Customer].[Customer Geography].[State-Province].&[QLD]&[AU]).children
} ON 1
FROM [Adventure Works]

enter image description here

答案 1 :(得分:0)

非常感谢-但是有了兄弟姐妹,我也得到了2级的所有其他成员-但我只想在2级成为“意大利”。

我认为,在SAS中,无法在维度授权中使用过滤器。但是,这是可能的。所以我尝试了以下MDX:

  

Blockquote

[DIM_NAME].[DIM_NAME_H01].[All GROUPS],
[DIM_NAME].[DIM_NAME_H01].[All GROUPS].Children,

FILTER([DIM_NAME].[DIM_NAME_H01].[All GROUPS].[COUNTRIES].ALLMEMBERS,  
   kupcase([DIM_NAME].[DIM_NAME_H01].CurrentMember.Properties("CAPTION")) =   kupcase("italy"))

所以我看到了1级的所有成员。->没关系 在2层,我只是看到“意大利”合并。 ->没关系 但是我没有第3级成员。->有人有想法吗,我也有第3级成员吗?还是过滤器不是正确的方法?

非常感谢您

亲切的问候

乔治