【发布时间】:2018-06-01 13:50:55
【问题描述】:
我有这样一个地理层次结构:
- 1 级:大陆
- 2 级:区域
- 3 级:城市
我必须提取所有不同大陆的数据,但我必须从一个大陆中排除特定城市。 我既不能使用 WHERE 子句也不能使用嵌套的 FROM 来过滤它。 我尝试了许多解决方案,例如 EXCEPT、FILTER 和“-”函数,但都没有奏效。
这是我错误尝试之一的示例,它提取数据但不排除我不想要的城市:
Except(
[Zone].[GeographyHierarchy].[Continent].ALLMEMBERS,
{
Descendants(
[Zone].[GeographyHierarchy].[Continent].&[ContinentIWant].&[AreaIWant].&[CityIDontWant]
, [Zone].[GeographyHierarchy].[Continent], SELF_AND_BEFORE ) }
)
谁能帮忙找到一个可行的解决方案? 谢谢大家。
编辑:
我认为在层次结构的最高级别工作没有解决方案,所以我开始在最低级别(城市)进行过滤:
Except( [Zone].[GeographyHierarchy].[City].ALLMEMBERS,
{ [Zone].[GeographyHierarchy].[Continent].&[ContinentIWant].&[AreaIWant].&[CityIDontWant] } )
这样我就有了我想要的所有不同城市,但我现在应该将它们聚合到更高级别的大陆上。
你知道怎么做吗?
【问题讨论】:
-
Continent is not a descendent 但也做 except oncontinent 只能排除整个大洲
-
嗨@whytheq,谢谢您的回复。我编辑了问题,尝试了另一种解决方案,您知道如何解决吗?
标签: mdx sql-server-2016 ssas-tabular