MDX: 根据属性过滤维度

4
我希望筛选维度属性。
我的维度由各种具有父级叶子类别的类别组成。每个类别都有一个在线状态(true或false)。在维度内,我定义了属性“is_online”。 现在我想通过状态[is_online] = true筛选类别树。

我当前的MDX是:

SELECT
  FILTER(
    [Categories].allmembers,
    [categories].CurrentMember.properties("is_online") = 'true' 
  ) on 0
FROM [Cube]

我收到了这个错误:
Property(): the property 'is_online' was not found

请问有人知道解决办法吗?我的IcCube版本是V 5.1.6

维度和属性定义

3个回答

0

尽管这是一篇旧帖子。 请尝试将属性名称中的_替换为空格。例如:"在线"。


0
你需要另一个 [categories] 来使它运作吗?
SELECT
  FILTER(
    [Categories].allmembers,
    [Categories].[Categories].CurrentMember.properties("is_online") = 'true' 
  ) on 0
FROM [Cube];

或许 HAVING 可以帮到你:

WITH 
  MEMBER [Measures].[online] AS 
    [categories].currentmember.Properties('is_online') 
SELECT 
  [categories].ALLMEMBERS HAVING 
  [Measures].[online] = 'True' ON 0
 ,[Measures].[online] ON 1
FROM [Cube];

0

[Categories].allmembers 的一个成员缺少属性“is_online”。

我的猜测是默认情况下,[All] 成员没有用户定义的属性。

也许可以尝试:

SELECT
 FILTER(
  [Categories].allmembers,
  [Categories].CurrentMember.isAll = false 
  AND
  [Categories].CurrentMember.properties("is_online") = 'true' 
  ) on 0
FROM [Cube]

我们将在下一个版本中改进错误信息(问题


我也遇到了同样的问题:找不到该属性。 - David
你在 icCube 中有一个调试器,你尝试过使用它了吗? - ic3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接