繁体   English   中英

Power BI 按组检索最后一列值

[英]Power BI Retrieve Last Column Value by Group

我在控制我公司的一些 kpi 的仪表板中工作。 现在,我需要根据员工编号将每个结果与前一个结果进行比较。 在下面的示例中,我展示了我的数据的一个小例子,以及最后一列中的预期结果(上一个分数)。 我尝试使用很多 os 计算列来解决这个问题。 我使用以下方法接近:

PreviousScore = 
VAR EMPNUMBER = BASE[Employee Number]
VAR REF = BASE[Score]

RETURN
CALCULATE(LASTNONBLANK(BASE[Employee Number];EMPNUMBER);FILTER(BASE;BASE[Employee Number]=EMPNUMBER);FILTER(BASE;BASE[Date]<EARLIER(BASE[Date])))

员工编号 日期 分数 以前的分数

1234 01/01/2019 1 空白

1235 01/01/2019 4 空白

1236 01/01/2019 2 空白

1288 01/01/2019 0 空白

1259 01/01/2019 0 空白

1234 01/02/2019 3 1

1235 01/02/2019 4 4

1236 01/02/2019 1 2

1288 01/02/2019 2 0

1259 01/02/2019 4 0

1234 01/03/2019 1 3

1235 01/03/2019 2 4

1236 01/03/2019 3 1

1288 01/03/2019 0 2

1259 01/03/2019 1 4

1234 01/04/2019 2 1

1235 01/04/2019 3 2

1236 01/04/2019 8 3

1288 01/04/2019 空白 0

1259 01/04/2019 空白 1

我希望有人可以帮助解决这个问题。

长尾

您的日期之间没有任何依赖关系,您选择了较早的列,并且偶然地它们的顺序是正确的。

以下查询将为您提供正确的结果:

Previous score = 
    var empNR = score[Employee Number]
    var theDate = score[Date]
    var empData = FILTER(score;score[Employee Number] = empNR)
    var prevDate = CALCULATE(MAX(score[Date]);empData;score[Date] < theDate)
    return CALCULATE(MAX(score[Score]);FILTER(empData; score[Date] = prevDate))
  1. 我过滤员工编号以获取该员工的数据
  2. 我通过获取低于所选日期的所有日期的最大值来获得 prevDate
  3. 最后一步是获取一行并返回分数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM