我正在尝试为每个调查员计算每月平均病例数。它可能超过一季度,一年或几年,因此它需要响应我放入的可视化或表格上下文。基本表具有“案例”(个人案例号),“调查者”(人名),“分配日期”(未显示),并从该日期中提取了“月”和“年”列以及“年月”类别列。
我创建一个caseCount度量为
caseCount = COUNT('Table'[Case])
我尝试了几种不同的方法来计算所有月份的平均值(在本例中为4)。因为玛丽每个月都有个案,所以她的平均值是正确的(1.75),但是Sam的分母= 3,因此计算不正确。 (返回1.3而不是1)。如何强制计算使用全部月份。
其他说明: 表格中的某些情况可能超出了我想要的日期范围,因此我尝试使用
Avg = CALCULATE(AVERAGE(caseCount), Table[Date] > #10/31/2019#)
我还尝试了使用CALCULATE(DIVIDE(),[Date]> 10/31/2019。]的几种变体。似乎一切都排除了没有分配调查者的那几个月。
使用在此创建的Distinct YearMonth值。答案 0 :(得分:0)
这是因为评估上下文。
我将其定义如下:
VAR _casecount = //count number of cases in the selected period, applied on the fact table
VAR _months = COUNTROWS(CALCULATETABLE(VALUES('Calendar'[Month]), ALLSELECTED('Calendar'))) //count number of months in the selected period
RETURN
_casecount/months
我没有考虑涉及2019年5月和2020年5月的多年期情况。然后,让我们使用DATEDIFF重新构造解决方案:
VAR _casecount = //count number of cases in the selected period, applied on the fact table
VAR _firstCalendarDate = CALCULATE(MIN('Calendar'[Date], ALLSELECTED('Calendar'))
VAR _lastCalendarDate = CALCULATE(MAX('Calendar'[Date], ALLSELECTED('Calendar'))
VAR _months = DATEDIFF(_firstCalendarDate, _lastCalendarDate, MONTH)
RETURN
_casecount/months