Мы строим куб для бизнеса, который анализирует Sales for Stock.Как правильно использовать функцию MDX ClosingPeriod
Мне нужна отдельная мера, которая покажет Закрытие запаса.
Бизнес работает в розничные периоды, которые содержат розничные недели. Неделя всегда заканчивается в воскресенье, поэтому мое закрытое количество акций должно быть с воскресенья.
Так что, если мы смотрим на объем продаж с сегодняшнего дня (вторник, 12 июля 2016), то столбец должен показать значение для воскресенья только что прошли, который воскресенье, 10 июля 2016 года
Это должно быть динамический в зависимости от уровня, на котором пользователь просматривает данные.
- Если нижний уровень отображается на уровне дня, то для всех дней на этой неделе он должен показывать значение предыдущего воскресенья.
- Если низкий уровень отображается на уровне неделю, затем каждую неделю должны показать предыдущие недели Заключительное сальдо
- Etc
, если пользователь не нарушает сводную таблицу по датам, а просто розничные недели, то он должен показывать стоимость за последний день предыдущей недели. Те же правила, если пользователь нарушал сводную таблицу вниз до уровня период- он должен показывать значение в последний день предыдущего
Мы имеем Date
измерение со следующими соответствующими иерархий:
- Календарь
- Календарь Год
- Календарь Quarter
- Календарь месяц
- Дата
- Розничная
- Retail Год
- Retail Период
- Retail Week
- Дата
Я знаю, что могу использовать ClosingPeriod
функцию для этого, но У меня есть проблемы с синтаксисом.
У меня есть внизу, но я получаю NULL. Это мой первый реальный расчет MDX, очень новый для этого!
WITH MEMBER [Measures].[Closing On Hand Qty] AS
(
ClosingPeriod(
[Date].[Retail].[Retail Week],
[Date].[Retail].CurrentMember
),
[Measures].[On Hand Qty]
)
SELECT
[Date].[Retail].[Date].Members ON ROWS,
{
[Measures].[On Hand Qty],
[Measures].[Closing On Hand Qty]
} ON COLUMNS
FROM
Retail
WHERE
[Date].[Retail Year].&[2017]