Последний МПД, когда нет параллельного периода
Мне нужна мера Last MTD. Следующее решение работает хорошо, за исключением случаев, когда в текущем месяце 31 день, а в предыдущем 30 - мера возвращает NULL. Я хочу получить сумму за весь последний месяц вместо NULL. Как это реализовать изящно?
([Dim Date Tool].[Date Tool Name].[Last MTD])
= Aggregate
(
{[Dim Date Tool].[Date Tool Name].DefaultMember} *
PeriodsToDate
(
[Dim Date].[Calendar YQMD].[Month],
ParallelPeriod
(
[Dim Date].[Calendar YQMD].Month,
1,
[Dim Date].[Calendar YQMD].CurrentMember
)
)
);
Возможно, но немного сложное решение
([Dim Date Tool].[Date Tool Name].[Last MTD])
= Aggregate
(
{[Dim Date Tool].[Date Tool Name].DefaultMember} *
PeriodsToDate
(
[Dim Date].[Calendar YQMD].[Month],
IIF
(
ISEMPTY(ParallelPeriod([Dim Date].[Calendar YQMD].Month, 1, [Dim Date].[Calendar YQMD].CurrentMember)),
Tail(Descendants(Ancestor([Dim Date].[Calendar YQMD].CurrentMember, [Dim Date].[Calendar YQMD].Month).PrevMember, [Dim Date].[Calendar YQMD].[Date], SELF), 1).Item(0),
ParallelPeriod([Dim Date].[Calendar YQMD].Month, 1, [Dim Date].[Calendar YQMD].CurrentMember)
)
)
);