Возможно, это не самое гладкое решение, но, похоже, оно работает с предоставленными вами тестовыми данными.
Примечание: я предположил, что есть таблица измерений календаря, в моем случае это «Календарь».
Сначала добавьте вычисляемый столбец в таблицу «Деятельность»:
Year-Month =
FORMAT([Activity_Date]; "YYYY-MM")
Затем добавьте требуемый вычисляемый столбец в таблицу «Пользователь»:
Habit =
var minDate =
CALCULATE(
MIN('Activity'[Activity_Date]);
'Activity'[Indicator] <> BLANK()
)
var maxDate =
CALCULATE(
MAX('Activity'[Activity_Date])
)
var calendarActivity = DATEDIFF(minDate; maxDate; MONTH)
var sumAddOne =
CALCULATE(
DISTINCTCOUNT('Activity'[Year-Month]);
'Calendar'[Date] >= minDate;
'Calendar'[Date] <= maxDate
)-1
var sumSubtractOne = calendarActivity-sumAddOne
return
IF(
minDate <> BLANK();
sumAddOne-sumSubtractOne;
BLANK()
)
Затем я получу таблицу «Пользователь», вот такую: