我想过滤其属性的维度
我的维度包含具有父叶子类别的各种类别。每个类别都具有在线状态(真或假)。在维度内,我定义了属性" 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
答案 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];
答案 1 :(得分: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]
我们将改进以下版本(issues)
中的错误消息答案 2 :(得分:0)
即使这是一个老帖子。 请尝试用空格替换属性名称中的_。例如:“在线”。