DAX AVERAGEX, включая 0 для общего среднего - PullRequest
0 голосов
/ 18 октября 2019

Моя таблица представляет пользователей, работающих на производственной линии. В каждой строке таблицы указано количество единиц, произведенных пользователем за 15-минутное окно. Я пытаюсь рассчитать Единицы / Час на Пользователя (что, кажется, работает нормально), но мое общее Среднее, кажется, выключено.

Таблица и результаты моего измерения:

enter image description here

Ряд за строкой это то, что я ищу. Но в среднем 179,67 неверно. Это должно быть 196. Я думаю, что для отметки времени 11:30 у Леондро не было никакой работы, и он включает 0 для него. Я хотел бы исключить это.

Измерение:

UPH = 
var unitshour = CALCULATE(SUM(Table1[Units]) / (DISTINCTCOUNT(Table1[DateTime])/4))
var users = AVERAGEX( VALUES(Table1[DateTime]), DISTINCTCOUNT(Table1[Username]))
RETURN

unitshour/ users

1 Ответ

0 голосов
/ 19 октября 2019

Я не думаю, что 196 - это число, которое вы хотите, если хотите одинаково относиться к каждому периоду времени. Я бы предложил эту альтернативу:

UPH =
AVERAGEX (
    VALUES ( Table1[DateTime] ),
    CALCULATE ( 4 * SUM ( Table1[Units] ) / DISTINCTCOUNT ( Table1[Username] ) )
)

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

UPHUserWeighted =
VAR Summary =
    SUMMARIZE (
        Table1,
        Table1[DateTime],
        Table1[Username],
        "UPH", 4 * SUM ( Table1[Units] ) / DISTINCTCOUNT ( Table1[Username] )
    )
RETURN AVERAGEX ( Summary, [UPH] )
...