Фильтровать свойства элементов в Query Designer с использованием MDX

Как я могу отфильтровать два свойства члена, используя MDX?

В настоящее время у меня есть следующее решение. Это работает, но я уверен, что MDX запрос будет гораздо более эффективным.

Набор данных в Query Designer имеет следующее MDX включить свойства члена в виде полей:

DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, [Store].[Store].[Closed Date],[Store].[Store].[Opening Date]

Я использую два фильтра в свойствах набора данных со следующими выражениями:

=Cint(Fields!Opening_Date.Value) 

<

=Cint(Format(Today(), "yyyyMMdd"))

а также

=Cint(Fields!Closed_Date.Value) 

>

=Cint(Format(Today(), "yyyyMMdd"))

2 ответа

Решение

Я обнаружил, что использование фильтра было лучшим способом решить эту проблему:

filter(
  [Store].[Store].members, [Store].[Store].Properties( "Opening Date" ) < Format(Now(),'yyyyMMdd') 
  and [Store].[Store].Properties( "Closed Date" ) > Format(Now(),'yyyyMMdd'))
)

Я сомневаюсь, что производительность ниже будет удовлетворительным, но вы можете дать ему шанс.

SELECT SomeDim.SomeHIerarchy.MEMBER 
HAVING 
Val(SomeDim.SomeHIerarchy.CURRENTMEMBER.Properties("Opening Date")) <  Format(now(), "dd-MM-yyyy")
Val(SomeDim.SomeHIerarchy.CURRENTMEMBER.Properties("Closing Date")) > Format(now(), "dd-MM-yyyy")
ON 1,
Measures.Foo on 0
FROM [Your Cube]
Другие вопросы по тегам