Я пытаюсь моделировать продажи «Тот же магазин» в моем кубе.Как фильтровать измерение на основе текущего уровня другого измерения?
У меня стандартное измерение даты с фискальным календарем.
У меня есть размер местоположения с моими магазинами. В каждом хранилище есть атрибуты, указывающие Год, Период, Квартал и Неделя, которые указывают, когда данный магазин должен быть включен в отчет.
Я думаю, что маршрут, который я хочу взять, - это динамический набор имен, но я мог ошибаться.
В принципе, я хочу посмотреть продажи в сети в течение любых заданных временных рамок, и появятся только продажи Same Store. Если я смотрю на уровень Year, ему нужно проверить атрибут Year. Если я ищу уровень Quarter, вам нужно проверить атрибут Quarter.
Как написать свой фильтр в зависимости от уровня измерения Date? Могу ли я иметь именованный набор SameStores, который содержит всю эту логику?
EDIT: Дополнительная информация по просьбе @Prabhash Дж
Вот мнение я хочу посмотреть на - но я надеюсь, что есть способ сделать это достаточно динамичным, чтобы обрабатывать любые вычисления даты.
2012 2013
Store 1 1.2 1.3
Store 2 -- 1.6
Store 3 1.3 2.1
На этом уровне Store 2 имеет значение «2013» для SameStoreStartYear.
Если я бурить до 2013:
Q1 Q2 Q3
Store 1 0.2 0.3 0.5
Store 2 -- -- .4
Store 3 0.2 0.3 0.5
На этом уровне, магазин 2 имеет значение "3" для SameStoreStartMonth.
Продолжается следующим образом: до уровня «Неделя».
Я написал несколько MDX, чтобы получить набор магазинов, который должен быть включен относительно Date.Fiscal.currentmember, но только для сравнения на уровне года. Работал над тем, чтобы сделать его относительно уровня сверления, а также по иерархии Date.Fiscal.
У меня было это как именованный набор, но он использует кортежи, и Named Set не появляется в кубе - я считаю, что это связано с тем, что он использует несколько иерархий, и он не знает, куда его поместить.
Вот мой MDX до сих пор:
select
filter(
([Date].[Fiscal].[Fiscal Year], [Location].[Store].[Store]),
[Location].[SameStoreYearBegin].currentmember.properties("Key")
<= [Date].[Fiscal].currentmember.properties("Key"))
on 0
from Sales
Спасибо, что ответили - я добавил дополнительную информацию. – IronicMuffin