Прежде всего, вы должны определить текущий месяц и последний месяц.Один из способов сделать это - вычислить его с помощью функции VBA!Date
.
Так что, если ваши даты хранятся в формате 12/31/2014
и предполагается, что у вас есть мера Payment
и измерение Date с Year-Quarter-Month-Date
Иерархия, вам может помочь приведенный ниже код.
WITH MEMBER [Measures].ValueThisMonth AS
(
[Date].[Year-Quarter-Month-Date].CURRENTMEMBER.PARENT,
[Measures].[Payment]
)
MEMBER [Measures].ValueLastMonth AS
(
[Date].[Year-Quarter-Month-Date].CURRENTMEMBER.PARENT.LAG(1),
[Measures].[Payment]
)
SELECT [Client].[Client Name].MEMBERS
HAVING ISEMPTY([Measures].ValueThisMonth)
AND NOT(ISEMPTY([Measures].ValueLastMonth))
ON 0
FROM [Your cube]
WHERE
StrToMember("[Date].[Year-Quarter-Month-Date].[Date].&[" + FORMAT(VBA![Date](), "MM/dd/yyyy") + "]" + "]")
Если вместо этого вы хотите передать это "текущее" значение из внешнего интерфейса, используйте параметр в предложении WHERE
.