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];
Другие вопросы по тегам