计算续订日期DAX

时间:2015-02-23 16:24:38

标签: datetime time dax

我在PowerPivot模型中有一个日期时间列(starting_date)。我想计算一个显示下一个续订日期前几个月的字段。每个续约即将到来?

有人知道如何在DAX中动态执行此操作吗?

1 个答案:

答案 0 :(得分: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])

您可以一步完成上述所有操作,但我发现以后难以调试并且难以阅读。它也可以更干净地完成,但它的工作原理(据我了解你的要求)