2015-02-23 98 views
0

我在PowerPivot模型中有一个datetime列(starting_date)。我想计算一个字段,显示直到下一个更新日期有多少个月。每一年一个更新即将到来?计算更新日期DAX

有人有关于如何在DAX中动态执行该操作的想法吗?

+0

我们需要更多的信息来帮助解决这个问题。什么决定续约日期?等等。 – guitarthrower 2015-02-23 16:38:13

+0

“开始日期”+ 1年(12个月)每个未来一年。我知道DAX具有EDate功能,但它只能用于下一个即将到来的时期!? – madsh 2015-02-23 16:49:19

+0

是否可以计算只知道开始日期和更新时间? – madsh 2015-02-24 11:10:39

回答

0

不具有任何数据。例如,我在下面的表格设置 - 表1(在假设每个客户只能出现一次)

Customer starting_date 
a   1/1/2014 
b   2/25/2014 
c   1/1/2015 
d   4/1/2014 

然后在PowerPivot中我设置了以下措施:

[STARTINGDATE] - 用于返回客户的开始日期

StartingDate:=MAX(Table1[starting_date]) 

[ BirthdayThisYear] - 要为当年设定的日期

BirthdayThisYear:=DATE(YEAR(TODAY()),MONTH([StartingDate]),DAY([StartingDate])) 

[ThisYearBeforeToday] - 测试是否[BirthdayThisYear]是前TODAY()

ThisYearBeforeToday:=if([BirthdayThisYear]<today(),"yes","no") 

[NextRenewalDate] - 使用[ThisYearBeforeToday]到计算下一个更新日期

NextRenewalDate:=IF([ThisYearBeforeToday]="yes",DATE(YEAR([BirthdayThisYear])+1,MONTH([BirthdayThisYear]),DAY([BirthdayThisYear])),[BirthdayThisYear]) 

您可以在一个步骤中完成所有上述操作,但是我发现以后难以调试并且难以阅读。它也可能会做得更干净,但它的工作(据我了解您的要求)

+0

非常感谢@guitarthrower。非常好。解决了我的需求! – madsh 2015-02-27 09:34:18