Мне нужно создать пару вычисляемых столбцов, которые возвращают следующий и предыдущий TRUE_MACH_NO каждого сгруппированного ORDER_NO и SPEC_NO, определенного MACH_SEQ_NO. Иногда TRUE_MACH_NO один и тот же дважды в строке, потому что продукт должен дважды пройти go через один и тот же компьютер, но это отражается в таблице как увеличенный MACH_SEQ_NO. MACH_SEQ_NO иногда имеет десятичные дроби (я не знаю почему), а иногда даже становится отрицательным (Я ДЕЙСТВИТЕЛЬНО не знаю почему) ...
SPEC_NO, MACH_SEQ_NO, TRUE_MACH_NO, PREV_MACH, NEXT_MACH
556927 1 23 null 64
556927 2 64 23 64
556927 3 64 64 3001
556927 4 3001 64 3001
556927 5 3001 3001 900
556927 6900 3001 null
введите описание изображения здесь
Это все, что я получил с помощью пары человек на форуме Power BI:
Prev_Mach =
var _curMACH_SEQ_NO = [MACH_SEQ_NO]
var _prevMACH_SEQ_NO = CALCULATE(MAX(ORD_MACH_OPS[MACH_SEQ_NO], ALLEXCEPT(ORD_MACH_OPS, ORD_MACH_OPS[ORDER_NO], ORD_MACH_OPS[SPEC_NO]), ORD_MACH_OPS[MACH_SEQ_NO] < _curMACH_SEQ_NO )
RETURN
CALCULATE(MAX(ORD_MACH_OPS[TRUE_MACH_NO]), ALLEXCEPT(ORD_MACH_OPS, ORD_MACH_OPS[ORDER_NO], ORD_MACH_OPS[SPEC_NO]), ORD_MACH_OPS[MACH_SEQ_NO] = _prevMACH_SEQ_NO)