MDX: отфильтруйте измерение по его свойствам
Я хочу отфильтровать измерение по его свойствам.
Мое измерение состоит из различных категорий с родительскими Leaf-категориями. Каждая категория имеет онлайн-статус (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 ответа
Хотя это старый пост. Пожалуйста, попробуйте заменить _ в имени свойства пробелом. Например: "онлайн".
Член [Categories].allmembers
отсутствует свойство "is_online".
Моим образованным предположением будет член [Все], который, если по умолчанию не имеет пользовательских свойств.
Может быть что-то вроде:
SELECT
FILTER(
[Categories].allmembers,
[Categories].CurrentMember.isAll = false
AND
[Categories].CurrentMember.properties("is_online") = 'true'
) on 0
FROM [Cube]
Мы исправим сообщение об ошибке в следующей версии ( проблемы)
Тебе нужен другой [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];