DAX帮助!查找值并获取特定事件的最新条目

时间:2018-01-11 20:05:49

标签: excel powerbi lookup dax

我在PowerBI(事件)和(Mutation)中有2个相关的表。事件表如下所示:

IncidentID Incident Number {{1 }} Date ResolvedByID
ClosedByID {123} I000123 01/01/2018 DAX01

Mutation表如下所示:

DAX02 ID {{1 }} StatusID Date OperatorID
ID_Resolved ID_Closed {{ 1}} {123} {OPE} 01/01/2018
{JCK} DAX04 DAX05 {123} {{ 1}} {RES}
02/01/2018 {JNE} DAX04 DAX05 {123} {CLO}
< KBD> 03/01/2018 {JON} DAX04 DAX05 {123} {REO}
03/01/2018 {JNE} < KBD> DAX04 DAX05 {123} {CLO}
04/01/2018 {JCK} DAX04 DAX05 < KBD> {124} {OPE}

要计算ID_Resolved和ID_Closed(DAX04和DAX05)我使用公式:

01/01/2018
例如,对于Dax05,每个CLI的StatusID现在都具有值{123},另一个与IncidentID不匹配且值为{123} { OTHERNAME }

现在计算ResolvedByID(Dax01),因为Mutation表中只有1个{RES},我可以使用:

{JNE}     

对于ClosedByID,事情更复杂,有多个{CLO}值。当我使用与ResolvedByID相同的公式时,我有一条错误消息:

DAX04      

现在我如何才能获得此单元格中最新日期的值? {JCK}

我添加了PowerBi文件作为参考

https://drive.google.com/open?id=1dygHLYMPYJS_d5qjWol2t7fswNCTuBmM

1 个答案:

答案 0 :(得分:2)

您可以计算最新日期并将其添加到查找中:

ClosedByID =
    VAR MaxDate = MAXX(FILTER(Mutation; Mutation[ID_Closed] = Incident[incidentID]);
                       Mutation[Date])
    RETURN LOOKUPVALUE(Mutation[operatorID];                
                       Mutation[ID_Closed]; Incident[incidentID];
                       Mutation[Date]; MaxDate)