MDX:如何根据月的最后一天计算月中的天数和年中的天数
MDX: how to calculate number of days in month and number of days in year based on last day of month
我的日期维度只包含每个月的最后一天,所以我无法计算每个月的 children 的数量,因为它总是 1,而且年份也是同样的问题。
因此,对于给定的 Date 成员,我需要计算该月的天数和该年的天数。
如果我是你,我会从头开始,我会在你的 table 日期(由你的维度使用)中添加你需要的列。
day_of_the_month: 1,2,3,..,30,31
day_of_the_year: 1,2,..,365/366
然后我会根据您的需要创建属性尺寸。
最后别忘了修改属性关系
由于您的日期维度只有每个月的最后一天,我假设您的所有事实值都绑定到月份的最后一天。计算天数的最简单方法是添加一列,其中包含基于日期的特定月份的天数。因此,例如,对于 1 月 31 日,您的列为 31,而 2 月 28 日为 28。
在行上保留天数这一新属性。
现在要显示一个月中的天数,您需要像这样计算的度量。
WITH MEMBER [Measures].[DateValue] AS [Date].[Day of Month].CurrentMember.Properties ("Member_Value",TYPED)
现在显示每年可以使用此度量的天数
WITH MEMBER [Measures].[DateValueYear] Sum (Date].[Year].CurrentMember,[Measures].[DateValue])
我的日期维度只包含每个月的最后一天,所以我无法计算每个月的 children 的数量,因为它总是 1,而且年份也是同样的问题。
因此,对于给定的 Date 成员,我需要计算该月的天数和该年的天数。
如果我是你,我会从头开始,我会在你的 table 日期(由你的维度使用)中添加你需要的列。
day_of_the_month: 1,2,3,..,30,31
day_of_the_year: 1,2,..,365/366
然后我会根据您的需要创建属性尺寸。
最后别忘了修改属性关系
由于您的日期维度只有每个月的最后一天,我假设您的所有事实值都绑定到月份的最后一天。计算天数的最简单方法是添加一列,其中包含基于日期的特定月份的天数。因此,例如,对于 1 月 31 日,您的列为 31,而 2 月 28 日为 28。
在行上保留天数这一新属性。 现在要显示一个月中的天数,您需要像这样计算的度量。
WITH MEMBER [Measures].[DateValue] AS [Date].[Day of Month].CurrentMember.Properties ("Member_Value",TYPED)
现在显示每年可以使用此度量的天数
WITH MEMBER [Measures].[DateValueYear] Sum (Date].[Year].CurrentMember,[Measures].[DateValue])