我想找到某人上一次不活动365天后的重新激活日期。
有两个表:
我使用以下Dax公式获取“上次登录日期”
Last Login Date = MAXX(RELATEDTABLE('Login Table'), 'Login Table'[Login Date])
任何帮助将不胜感激。
答案 0 :(得分:1)
解决此问题的一种方法是使用多个度量和列。
对于您的登录表,添加具有以下定义的新计算列:
Previous Login = CALCULATE(MAX(LoginTable[Login]), FILTER(LoginTable, LoginTable[User] = EARLIER(LoginTable[User]) && LoginTable[Login] < EARLIER(LoginTable[Login])))
这将在“登录表”中创建一个新的计算列,该列会将上次登录的日期添加到表中。 (“我的登录日期”列称为“登录”,因此您可能需要更改它)
Day Difference = DATEDIFF(LoginTable[Previous Login], LoginTable[Login], DAY)
Is Reactivated = IF(DATEDIFF(LoginTable[Previous Login],LoginTable[Login], DAY) > 360, 1, 0)
Reactivate = IF(LoginTable[Is Reactivated] == 1, LoginTable[Login], BLANK())
Table = GROUPBY(LoginTable, LoginTable[User], "Last Login", MAXX(CURRENTGROUP(), LoginTable[Login]), "Last Reactivation", MAXX(CURRENTGROUP(), LoginTable[Reactivate]))
很多步骤可以放入一个步骤中,但是通过这种方式,它更易于理解和排除故障。
希望这会有所帮助!