Date MDX:如何在MDX查询中获取两个日期之间的周数
我希望在MDX查询中以两个日期之间的列形式获取周数 例如,如果我输入以下日期:2015-01-01和2015-02-01我想得到以下信息: 截至1月1日的一周、截至1月8日的一周、截至1月15日的一周、截至1月22日的一周 我使用“Filter”方法创建了此MDX查询,但它不起作用:Date MDX:如何在MDX查询中获取两个日期之间的周数,date,tfs,mdx,olap-cube,Date,Tfs,Mdx,Olap Cube,我希望在MDX查询中以两个日期之间的列形式获取周数 例如,如果我输入以下日期:2015-01-01和2015-02-01我想得到以下信息: 截至1月1日的一周、截至1月8日的一周、截至1月15日的一周、截至1月22日的一周 我使用“Filter”方法创建了此MDX查询,但它不起作用: WITH SET [WeeksBetweenDates] AS Filter([Date].[Year - Week - Date Hierarchy].[Week], [Date].[Year - We
WITH SET [WeeksBetweenDates] AS
Filter([Date].[Year - Week - Date Hierarchy].[Week],
[Date].[Year - Week - Date Hierarchy].CurrentMember.Member_Value >= [Date].[Year - Week - Date Hierarchy].[Week].&[2015-01-01T00:00:00]
AND [Date].[Year - Week - Date Hierarchy].CurrentMember.Member_Value <= [Date].[Year - Week - Date Hierarchy].[Week].&[2015-02-01T00:00:00])
SELECT [WeeksBetweenDates] ON COLUMNS
FROM [Team System]
将[WeeksBetweenDates]设置为
筛选器([Date].[Year-Week-Date Hierarchy].[Week],
[Date].[Year-Week-Date Hierarchy].CurrentMember.Member_值>=[Date].[Year-Week-Date Hierarchy].[Week].&[2015-01-01T00:00:00]
和[Date].[Year-Week-Date Hierarchy].CurrentMember.Member_Value您应该将日期定义为子多维数据集切片({[Date1]:[Date2]}
),这将大大提高查询性能并使代码更加透明(根据我们的TFS进行测试):
要通过使用层次结构使其工作,您应该更正
[Date].[Year-Week-Date Hierarchy].[Week].&[2015-01-01T00:00:00]
到[Date].[Year-Week-Date Hierarchy].[Date].[2015-01-01T00:00:00]谢谢你的评论,但这个查询也不起作用。如果我运行这个查询,我会得到0列。:(@konzolcowboy重要的一点是,如果{[Date1]中的任何一个日期:[Date2]}
不存在于您的多维数据集中,则引擎会将其评估为null,有效方式如下:{null:[Date2]}
…然后将其评估为开放式,即直到[Date2]
select
{
[Date].[Week].members
} on 0
from ( select {
[Date].[Date].&[2015-01-01T00:00:00]
:
[Date].[Date].&[2015-02-01T00:00:00]
} on 0
from [Team System])