С помощью приведенной ниже таблицы я хочу изучить каждый «идентификатор владения», по крайней мере, с одним «действием», являющимся «проходом», и посмотреть, сколько передач получил каждый «игрок». «последовательность» += 1 для каждого действия, предпринятого внутри одного и того же «идентификатора владения», что означает, что игрок получил один проход, когда «последовательность» на единицу больше, чем последовательность, в которой действие было проходом, в пределах того же «идентификатора владения» Как мне проверить функцию at dax?
possession_id sequence action player
54 1 pass pl
98 1 cross p2
76 1 shot p2
54 2 pass p3
23 1 shot p5
54 3 shot p8
87 1 shot p1
98 2 shot p9
Функция вернет 0 передач, полученных для всех игроков, кроме p3 и p8, которые получили по 1 передаче каждый.
Моя идея состоит в том, чтобы создать вычисляемый столбец для проверки каждой строки, есть ли «проход» в предыдущей последовательности того же владения или нет:
Pass Received =
VAR CurrentPossessionID = 'MyTable'[possession_id]
VAR CurrentSequence = 'MyTable'[sequence]
VAR PreviousSequence = CurrentSequence - 1
RETURN
IF(
CONTAINS(
FILTER(
'MyTable',
'MyTable'[possession_id] = CurrentPossessionID &&
'MyTable'[sequence] = PreviousSequence &&
'MyTable'[action] = "pass"
),
[action], "pass"
),
1,
0
)
Затем просуммируйте все случаи, когда игрок получает пас:
Total Passes Received =
SUMX(
VALUES('MyTable'[player]),
CALCULATE(SUM('MyTable'[Pass Received]))
)
Пожалуйста, рад, что помог
Это прекрасно работает, и это простой подход к реализации. Спасибо за помощь!!