2016-02-12 5 views
2

Я хочу фильтровать измерение по его свойствам.
My Dimension состоит из различных категорий с родительскими категориями листьев. Каждая категория имеет статус онлайн (true или false). В пределах измерения я определяю свойство «is_online». Теперь я хочу, чтобы отфильтровать категорию дерево по статусу [is_online] = trueMDX: Фильтровать размер по своим свойствам

Мой текущий 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

Dimension & Property definition

ответ

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] 

Мы улучшим сообщение об ошибке в следующей версии (issues)

+0

здесь, тоже. Я получаю ту же ошибку: свойство не найдено – David

+0

у вас есть отладчик в icCube, вы пытались его использовать? – ic3

0

Несмотря на то, что это старый пост. Попробуйте заменить _ в названии свойства пробелом. Например: «онлайн».

Смежные вопросы