Ssas 如何在Dimdatedimension中从今天日期获取日期前100天

Ssas 如何在Dimdatedimension中从今天日期获取日期前100天,ssas,ssas-2008,Ssas,Ssas 2008,我对ssas cube数据源视图级别有点怀疑。 我想在Dimdate timension中添加一个新列LAST100DAYS,该列显示最近100天的信息。 我尝试了sql server级别的查询,如下所示 在dimdate维度中添加新列LAST100DAYS 1更新dimdate设置,最后100天='01-01-1900' 2更新日期 设置Last100天=[StandardDate] 其中[StandardDate]>=DATEADDday,-100,getdate 和[StandardDat

我对ssas cube数据源视图级别有点怀疑。 我想在Dimdate timension中添加一个新列LAST100DAYS,该列显示最近100天的信息。 我尝试了sql server级别的查询,如下所示 在dimdate维度中添加新列LAST100DAYS 1更新dimdate设置,最后100天='01-01-1900' 2更新日期 设置Last100天=[StandardDate] 其中[StandardDate]>=DATEADDday,-100,getdate 和[StandardDate]=DATEADDday,-100,getdate
和[StandardDate]您需要输入一个返回值的表达式。你所做的只是测试条件

请尝试以下方法:

CASE 
  WHEN  [StandardDate] >= DATEADD(day,-100, getdate()) AND [StandardDate] <= getdate()
       THEN [StandardDate]
  ELSE NULL
END

你真的不需要为此创建一个度量。在日期维度中需要一个新列来指示日期是否早于100天。假设该列名为RollingLast100天。您需要对@tab alleman的代码进行轻微调整

CASE 
  WHEN  DATEDIFF(dd, [StandardDate], GETDATE()) <=100
       THEN 1
  ELSE 0
END
e、 g.仅获取过去100天的销售额:

SELECT [Measures].[Sales Amount] ON 0
FROM    [YourCube]
WHERE [Dim Date].[Date].RollingLast100days = 1
获取过去100天内销售的产品列表:

SELECT [Measures].[Sales Amount] ON 0,
Product.Products.MEMBERS ON 1
FROM    [YourCube]
WHERE [Dim Date].[Date].RollingLast100days = 1

希望这能有所帮助。

hi是否可以只为该列检索最后100天,而不返回空值。我的意思是,假设标准日期列有最后110个日期。但我们只显示最后100天的列,最后100天还剩下10个列有空值。最后,我希望在表达式中检索不带空值的记录。请告诉我如何编写表达式来检索不带空值或空值的最后100天信息。您选择的列的名称是什么要测试空值吗?我要在dimdate维度中创建一个最后100天的度量值。多维数据集侧查看过去100天的金额信息。当时我在多维数据集侧拖放了过去100天的属性/度量值。当时一些列为null/空,并显示了金额信息。null的原因是该日期在过去100天不可用,所以它来了。现在我不希望在多维数据集侧显示该null信息。只需要最后100天信息不需要空的相关信息。请告诉我如何解决它。我恐怕我不理解你上面的评论。也许你应该编辑你的问题,这样你可以用例子更清楚地表达出来。
SELECT [Measures].[Sales Amount] ON 0
FROM    [YourCube]
WHERE [Dim Date].[Date].RollingLast100days = 1
SELECT [Measures].[Sales Amount] ON 0,
Product.Products.MEMBERS ON 1
FROM    [YourCube]
WHERE [Dim Date].[Date].RollingLast100days = 1