请我试着在一个月开始前的最后60天
我有一个从下面的查询返回的集合
SELECT
non empty
[Measures].[TRANSACTIONS Count] on 0,
non empty ([TRANSACTIONS].[Days].[Days], [TRANSACTIONS].[Transaction Month].[Transaction Month]) on 1 from [cube]
通过硬编码下个月开始的交易日,我可以得到第2个月前最后60天的累计数量
WITH MEMBER
[Measures].[Cumm Account Count]
AS
(
AGGREGATE( [TRANSACTIONS].[Days].CurrentMember:NULL ,[Measures].[TRANSACTIONS Count])
)
SELECT
non empty [Measures].[Cumm Account Count] on 0,
non empty [TRANSACTIONS].[Days].&[3]:[TRANSACTIONS].[Days].&[3].lead(60) on 1 from [cube];
请问如何在不使用日期数字的情况下实现上述结果,我尝试使用尾函数(获取月份和开始日期)
non empty tail(
([TRANSACTIONS].[Days].[Days],
tail([TRANSACTIONS].[Transaction Month].[Transaction Month],1)
),1)
,所以我希望如果我能用60天的范围函数来使用它,那么下个月只需要获得60天范围的尾部(xx,2),但它不会工作,因为范围功能只接受会员,请任何指导或在哪里检查
答案 0 :(得分:0)
如果我对您的问题很清楚,您需要最近或将来60天的交易计数吗?
您可能需要使用自己的维度和度量替换维度和度量,但可以使用Adventure Works多维数据集完成此操作,如下所示:
WITH
MEMBER [Measures].[Last60Days] AS
SUM
(
[Date].[Date].CURRENTMEMBER.lag(60) : [Date].[Date].CURRENTMEMBER,
[Measures].[Internet Sales Amount]
)
MEMBER [Measures].[Next60Days] AS
SUM
(
[Date].[Date].CURRENTMEMBER : [Date].[Date].CURRENTMEMBER.lead(60),
[Measures].[Internet Sales Amount]
)
SELECT
{[Measures].[Last60Days], [Measures].[Next60Days]} ON 0,
[Date].[Date].[Date] ON 1
FROM [Adventure Works]