У меня есть следующий формат данных:
Machine | Production | Production Factor | Down Factor | Order
--------|------------|-------------------|-------------|------
M1 | 0 | 0 | 0 | 100
M2 | 187370 | 0 | 0 | 115
M3 | 7054 | 0 | 0 | 130
M4 | 39428 | 1 | 24160 | 150
M5 | 6945 | 0 | 0 | 160
M6 | 0 | 1 | 24160 | 181
M7 | 19720 | 1 | 4440 | 200
M8 | 4440 | 1 | 0 | 220
M9 | 30000 | 0 | 0 | 230
M10 | 20000 | 0 | 0 | 240
Поля Machine, Production, Production Factor и Order извлекаются из базы данных. Мне нужно вычислить "Down Down Factor" для каждой машины на основе формулы в области видимости. поля возрастающего порядка:
Down Factor =
SUM ( Production * Production Factor * IF(CurrentRowOrder > RowOrder THEN 1 ELSE 0 ) )
Как, например, M4 ( CurrentRowOrder = 150 ):
6945 * 0 * 1 (160 > 150) +
0 * 1 * 1 (181 > 150) +
19720 * 1 * 1 (200 > 150) +
4400 * 1 * 1 (220 > 150) +
30000 * 0 * 1 (230 > 150) +
20000 * 0 * 1 (240 > 150) = 24160
M7: ( CurrentRowOrder = 200 ):
4400 * 1 * 1 (220 > 200) +
30000 * 0 * 1 (230 > 200) +
20000 * 0 * 1 (240 > 200) = 4400
Общая идея вычисления «Фактора снижения» с использованием такого подхода состоит в том, чтобы включить строки, порядок которых больше, чем порядок вычисляемой строки.
Как выполнить такой расчет в DAX? Можете ли вы помочь с некоторыми вопросами?