获取特定类别的最后可用日期

时间:2015-06-01 12:44:45

标签: excel powerpivot dax

我在Power Pivot中有一个表(Table1),它包含分配了日期和类别的值(非唯一):

CAT      DATE         VALUE
A        2015-01-03   12
A        2015-01-07   2
B        2015-03-14   50

然后,在另一个表中,我有相同的日期类别:

CAT      DATE         
A        2015-01-04   
A        2015-01-06   
A        2015-01-08   
B        2015-03-16 

在表2中,我希望得到Table1中的值,该值对应于该类别当前行中Table2的日期低于或等于该日期的最新日期,即:

CAT      DATE         VALUE_FROM_TABLE_1
A        2015-01-04   12 (value from 2015-01-03)
A        2015-01-06   12 (value from 2015-01-03)
A        2015-01-08   2  (value from 2015-01-07)
B        2015-03-16   50 (value from 2015-03-14)

或者,我需要一个Table2的公式来计算Table1中的最新日期,该日期在表2中对于当前行中的类别低于或等于此值,如下所示:

CAT      DATE         LAST_AVAILABLE_LOWER_OR_EQUAL_DATE_FOR_CAT
A        2015-01-04   2015-01-03
A        2015-01-06   2015-01-03
A        2015-01-08   2015-01-07
B        2015-03-16   2015-03-14

我尝试了LASTDATE和CALCULATE的各种组合,但无济于事。 我会感激任何提示。

1 个答案:

答案 0 :(得分:1)

我已经弄明白了,它是这样的:

=CALCULATE ( 
    LASTDATE( Table2[DATE] ); 
    FILTER ( 
        ALL (Table2); 
        Table2[DATE] <=[DATE] && Table2[CAT]=[CAT] 
    )
 )