2015-06-01 3 views
2

У меня есть таблица (Table1) в силовой Pivot, который состоит из значений с датами и категории, присвоенных им (неоднородными):Получить последнюю доступную дату для определенной категории

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

Затем, в другой таблице I имеет ту же категорию с датами:

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

в Table2 Я хочу, чтобы получить значение из 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, которая меньше или равна этому от Table2 для категории в текущей строке, например:

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, но безрезультатно. Буду благодарен за любой намек.

+0

Self-ответ, это: '= CALCULATE ( Lastdate (Table2 [ДАТА]); ФИЛЬТР ( ALL (Таблица2); Таблица2 [ДАТА] <= [ДАТА] && Таблица2 [CAT] = [CAT] ) ) ' – mstefanski1987

+0

Если это ответ, можете ли вы добавить его в качестве фактического ответа (ниже), а затем принять его ? Это помогает тем, кто ищет ответы на оставшиеся вопросы. –

+1

Конечно, я добавил ответ, и я приму это завтра. Спасибо, что указали это. – mstefanski1987

ответ

1

Я понял это, и это выглядит следующим образом:

=CALCULATE ( 
    LASTDATE(Table2[DATE]); 
    FILTER ( 
     ALL (Table2); 
     Table2[DATE] <=[DATE] && Table2[CAT]=[CAT] 
    ) 
) 
Смежные вопросы