Я хотел бы найти количество дней от currentmember
от иерархии [Date - Calendar Month]
.Найти количество дней в месяце текущего участника
Это моя попытка - мой пользовательский мер NumDaysInMonth
не работает в течение текущего месяца - см. Экран-печать - поскольку он просто подсчитывает количество прошедших дней. У меня есть ощущение, что функция CLOSINGPERIOD
может помочь, но не знаете, как использовать его:
WITH
MEMBER [Measures].[NumDaysInMonth] AS
COUNT(
DESCENDANTS(
[Date].[Date - Calendar Month].CURRENTMEMBER.PARENT,
[Date].[Date - Calendar Month].[Calendar Day]
)
)
MEMBER [Measures].[LastDay] as
CLOSINGPERIOD(
[Date].[Date - Calendar Month].[Calendar Day],
[Date].[Date - Calendar Month].CURRENTMEMBER
)
SELECT
NON EMPTY
TAIL(
[Date].[Date - Calendar Month].[Calendar Day],
15)
ON ROWS,
NON EMPTY
{
[Measures].[NumDaysInMonth],
[Measures].[LastDay]
}
ON COLUMNS
FROM [ourCube]
EDIT
Я создал эту уродливую функцию VBA решение - это должно быть возможно избежать этого?
WITH
MEMBER [Measures].[NumDaysInMonth] AS
COUNT(
DESCENDANTS(
[Date].[Date - Calendar Month].CURRENTMEMBER.PARENT,
[Date].[Date - Calendar Month].[Calendar Day]
)
)
MEMBER [Measures].[LastDay] as
DATEPART(
"D",
DATEADD(
"M",
1,
CDATE(
CSTR(vba!Month([Date].[Date - Calendar Month].CURRENTMEMBER.name))
+"-01-"
+CSTR(vba!Year([Date].[Date - Calendar Month].CURRENTMEMBER.name))
)
)-1
)
SELECT
NON EMPTY
TAIL(
[Date].[Date - Calendar Month].[Calendar Day],
15)
ON ROWS,
NON EMPTY
{
[Measures].[NumDaysInMonth],
[Measures].[LastDay]
}
ON COLUMNS
FROM [ourCube]
+1 прекрасное дополнение Frank '.Level IS' – whytheq