如何在过滤原始数据的同时按聚合计算一个组?

How can I calculate a group by aggregate, while filtering the original data?

我正在处理具有这种结构的冠状病毒数据集,其中每个国家/地区都有从第一个已知记录病例的日期开始的记录。 case 列不是聚合的,所以它包含当天记录的案例。这适合按时间顺序对国家进行比较,但我也想从每个国家记录首例病例的日期开始进行比较。 这就是为什么我想通过 DAX 计算一个新列,该列添加一个列,其中包含相应国家/地区记录其首例病例的日期。

我的第一次尝试:

Date of First Case = CALCULATE(MIN(Corona[dateRep]); ALLEXCEPT(Corona; 
    Corona[countriesAndTerritories]))

returns每个国家记录的最早日期。

但是,我不知道如何在此处应用过滤器,以便不考虑最早日期的 0 个案例的记录。

如何计算每个记录超过 0 个病例的国家/地区的第一个日期并将其作为附加列添加到 table?

您的尝试就快完成了。附加条件可以作为参数添加到 CALCULATE 函数:

Date of First Case = 
CALCULATE(MIN(Corona[dateRep]); 
    ALLEXCEPT(Corona; Corona[countriesAndTerritories])
    Corona[cases] > 0)

功劳归于this PowerBI Community message