Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi Power BI:查找365天的最后一个非活动期_Powerbi_Dax - Fatal编程技术网

Powerbi Power BI:查找365天的最后一个非活动期

Powerbi Power BI:查找365天的最后一个非活动期,powerbi,dax,Powerbi,Dax,我想在某人最后一次停用365天后找到重新激活日期 有两个表格: 具有非不同用户及其多个登录日期的登录表 包含不同用户及其上次登录日期的用户表。我还想把这个重新激活日期放在这里 我使用下面的Dax公式来获取“上次登录日期” 任何帮助都将不胜感激。解决此问题的一种方法是使用多个度量值和列 对于登录表,添加具有以下定义的新计算列: Previous Login=CALCULATE(MAX(LoginTable[Login])、FILTER(LoginTable,LoginTable[User]=

我想在某人最后一次停用365天后找到重新激活日期

有两个表格:

  • 具有非不同用户及其多个登录日期的登录表
  • 包含不同用户及其上次登录日期的用户表。我还想把这个重新激活日期放在这里

我使用下面的Dax公式来获取“上次登录日期”


任何帮助都将不胜感激。

解决此问题的一种方法是使用多个度量值和列

  • 对于登录表,添加具有以下定义的新计算列:

    Previous Login=CALCULATE(MAX(LoginTable[Login])、FILTER(LoginTable,LoginTable[User]=Previous(LoginTable[User])和&LoginTable[Login]

  • 这将在登录表中创建一个新的计算列,将上一次登录的日期添加到表中。(我的“登录日期”列称为“登录”,因此您可能需要对此进行更改)

  • 现在,只需计算登录日期和上一次登录日期之间的天数差:
  • 日差=日期差(登录表[上次登录],登录表[登录],日)

  • 使用简单的IF语句,现在可以添加一个新的计算列,如果此登录是否为重新激活,则返回1:
  • 被重新激活=如果(DATEDIFF(登录表[上次登录],登录表[登录],日期)>360,1,0)

  • 为了简化操作,如果这是重新激活,还可以创建一个返回登录日期的计算列:
  • 重新激活=IF(LoginTable[重新激活]==1,LoginTable[登录],BLANK())

  • 现在,您只需创建一个计算表,该表按用户分组,并获得最大登录日期和最大重新激活日期,如下所示:
  • Table=GROUPBY(登录表,登录表[用户],“上次登录”,MAXX(当前组(),登录表[登录],“上次重新激活”,MAXX(当前组(),登录表[重新激活])

    许多步骤可以放在一个步骤中,但这样,理解和故障排除就更简单了

    希望这有帮助

    Last Login Date = MAXX(RELATEDTABLE('Login Table'), 'Login Table'[Login Date])