检查 MDX 命名集中是否存在项目

Check if an item exists in MDX named set

我想为两支足球队创建命名集。我不确定语法是什么,但到目前为止我所拥有的是:

EXISTS(
    [Team].[Team], 
    {[Team].[Team].&[BAL], [Team].[Team].&[DEN]}
)

换句话说,如果球队名为“BAL”或“DEN”,我想创建一个命名集。写这个表达式的正确方法是什么?


以下查询语法适用于我,但我想在 BIDS 中将其转换为“创建命名集”:

WITH SET[FavoriteTeams] AS{
   [Team].[Team].&[DEN],
   [Team].[Team].&[BAL]
} 
SELECT
   [Measures].[Net Wins] on 0,
   [FavoriteTeams] on 1
FROM [NFL]

看起来也许就像手动输入表达式一样简单?

集是 MDX 中的一个重要概念。集合是来自相同维度和层次结构的成员的集合。层次结构可以是属性层次结构或用户定义的层次结构。

set = {membre1,member 2 ..} 

集合表达式越简单越好

所以你应该使用第二个表达式

{
   [Team].[Team].&[DEN],
   [Team].[Team].&[BAL]
}

在您的情况下,无需使用 exists 函数,因为成员已定义。 我们在某些情况下使用 exists,比如我们想要获取特定区域的所有城市。

 EXISTS([City].[City], [region].[region].[Region].&[1])

访问:Microsoft.doc