我在PowerPivot模型中有一个日期时间列(starting_date)。我想计算一个显示下一个续订日期前几个月的字段。每个年续约即将到来?
有人知道如何在DAX中动态执行此操作吗?
答案 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])
您可以一步完成上述所有操作,但我发现以后难以调试并且难以阅读。它也可以更干净地完成,但它的工作原理(据我了解你的要求)