我具有以下层次结构:
组->国家->地点
一些数据:
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陈述吗?这怎么可能?
非常感谢您
亲切的问候
乔治
答案 0 :(得分:0)
看看下面的示例。我想让父母和昆士兰父母的所有同胞
SELECT {[度量]。[Internet销售量]}设为0,
{([Customer]。[Customer Geography]。[State-Province]。&[QLD]&[AU]),
([客户]。[客户地理]。[省]。&[QLD]&[AU])。parent.Siblings}
开启1
从[冒险作品]
也要在结果中添加子项。
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]
答案 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级成员吗?还是过滤器不是正确的方法?
非常感谢您
亲切的问候
乔治