日期维度上的命名集

时间:2019-05-29 19:12:57

标签: ssas mdx

我创建了一个简单的命名集[最新],它使用了前一天的日期。这可以按要求工作,并且可以由引用日期维度的任何度量使用:

CREATE DYNAMIC SET CURRENTCUBE.[Latest]
AS strtomember('[Date].[Date Key].&['+ 
vba!Format(DateAdd('d',-1,Now()),'yyyyMMdd')+']'); 

现在,我需要再返回一个工作日,并将其显示为单独的计算。

日期维度仅填充业务日期,并且还具有IsBusinessDay属性。由于“最新”计算使用dateadd vba函数,因此我不能简单地增加dateadd参数,因为日期(假期/周末)中有间隔(尽管我可以选择返回源视图并进行更改如果需要的话)。

当使用特定度量时,我能够实现创建有效的计算,但是我希望实现的是拥有一个可以与 任何度量 ,并且不会像这样硬编码到计算中:

CREATE MEMBER [TwoDaysBack] AS
( 
      [Date].[Date Key].currentmember.prevmember, 
      [Measures].[PL] 
    ) ;

任何建议或指示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您在“日期”维度中只有商务日。因此,对于您的日期维度中的任何成员,Prevmember将获得最后一个日期之前的日期。如果是这种情况,您的初始命名集将可以稍作更改。

Product.findByIdAndUpdate('prod1', {$inc: {viewed: 1}, func(err, doc) {
    console.log(doc)
});