PowerPivot返回每个Uniquw的最后日期值

时间:2015-09-07 22:11:33

标签: powerpivot

大家好日子,

所以我在PowerPivot中一直在努力进行这种计算,我希望公式从最后一个日期返回每个项目的最后一个项目状态。我已经使用了一些公式来至少得到每个项目编号的最后日期,但是还没有设法做到这一点。我已经尝试了LASTNONBLANK,MAX,LASTDATE等的变体,但是这些都错过了每个项目编号的关键位。

= CALCULATE(MAX(GetTimeSheetData [日期]),ALL(GetTimeSheetData)) = LASTNONBLANK(GetTimeSheetData [日期],GetTimeSheetData [代码])

.....和其他许多人一样。

我在下面的链接上显示了我需要做的事情,欢迎任何帮助......我正忙着疯狂!

https://drive.google.com/file/d/0B29yA0i2Te9ycFVSclBuZUVzSUU/view?usp=sharing

谢谢!

卢埃林

1 个答案:

答案 0 :(得分:0)

以下是最大日期的代码:

=CALCULATE( MAXA( GetTimeSheetData[Date]), ALLEXCEPT(GetTimeSheetData,GetTimeSheetData[Code]))

此代码将为您提供计算列中的最后一个状态:

=CALCULATE(
     VALUES ( GetTimeSheetData[Project Status]),
     FILTER( ALLEXCEPT(GetTimeSheetData, GetTimeSheetData[Code], GetTimeSheetData[CalculatedColumn1]), 
                      GetTimeSheetData[Code] = EARLIER( GetTimeSheetData[Code]) &&
                      GetTimeSheetData[Date] = CALCULATE( MAX( GetTimeSheetData[Date]), 
                                                                                              ALLEXCEPT(GetTimeSheetData, GetTimeSheetData[Code], GetTimeSheetData[CalculatedColumn1]),
                                                                                              GetTimeSheetData[Code] = EARLIER( GetTimeSheetData[Code]))))

此代码将为您提供计算字段,而不是使用列:

Current Status:=CALCULATE(
     VALUES ( GetTimeSheetData[Project Status]),
     FILTER( ALLEXCEPT(GetTimeSheetData, GetTimeSheetData[Code]), 
                      GetTimeSheetData[Date] = CALCULATE( MAX( GetTimeSheetData[Date]), 
                                                                                              ALLEXCEPT(GetTimeSheetData, GetTimeSheetData[Code]))))

无论哪种方式,对于获取最后一个状态的最后一个示例,您仍然需要一种方法来识别哪一个是真正的最后一个。在这种情况下,我建议a)时间戳而不是日期或b)另一个识别字段。

-PowerDAX.com