Фильтровать свойства элементов в 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]