2016-08-03 1 views
0

Я боролся с DAX при создании модели для публикации в Power BI, и фактическая проблема представлена ​​на изображении here. В принципе мне нужен столбец, который показывает значение от времени предшественника для одного и того же идентификатора.Получить предварительное значение rowvalue, отфильтрованное по ID

enter image description here

я сделал с рейтинга, но хотел бы знать, если это возможно, чтобы сделать его лучше.

Как вы, ребята, это сделаете?

Rank = COUNTROWS(FILTER(test; [id] = EARLIER([id]) && [Date] <= EARLIER([Date]))) 
Past = if(test[Rank]=1;0; LOOKUPVALUE(test[qt];teste[Rank];test[Rank]-1;test[id];test[id])) 
+0

Возможно, проблема заключается в том, что у меня есть 10 000 000 строк, поэтому рейтинг занимает ТОНКИ времени. : / –

ответ

0

Этого решение тестируется с базовой моделью вы в курсе, я не гарантирую, что это выражение низкой стоимости машины, но вы можете дать ему попробовать.

Я создал столбец под названием PREVIOUS, в котором вычисляется предыдущий qty для каждой строки, основанный на дате того же id.

PREVIOUS = 
CALCULATE (
    MAX (TableName[qt]), 
    FILTER (
     TableName, 
     EARLIER (TableName[id]) = TableName[id] 
      && EARLIER (TableName[date]) > TableName[date] 
    ) 
) 

Следующая таблица BI BI, использующая столбец PREVIOUS.

enter image description here

Позвольте мне знать, если это помогает.

 Смежные вопросы

  • Нет связанных вопросов^_^