4

我想根据其属性过滤维度。
我的维度由具有父叶类别的各种类别组成。每个类别都有一个在线状态(真或假)。在维度内,我定义了属性“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

尺寸和属性定义

4

3 回答 3

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];
于 2016-02-13T01:25:47.277 回答
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]

我们将在以下版本(问题)中改进错误消息

于 2016-02-13T07:46:55.430 回答
0

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

于 2016-12-29T10:43:10.883 回答