【发布时间】:2020-03-12 18:50:17
【问题描述】:
我有一个每天生成的反病毒扫描数据集,并且可以追溯到过去很多天,在此我必须计算机器在过去 5 天内出现不合规的次数,目前我是使用以下 DAX 公式创建计算列
Repetition = CALCULATE(COUNT('SCCM Antivirus'[MachineName]),ALLEXCEPT('SCCM Antivirus','SCCM
Antivirus'[MachineName]),'SCCM Antivirus'[ComplianceStatus]= "Non-
Compliant",'SCCM Antivirus'[HRs]<= 120)
但是,问题是每台机器都有多个 appid,因此不是每台机器每天计算 1 个计数,最后 5 天应该最多 5 个,我得到 count(appid),
例如在附表中,如果我想查看机器“A”在过去两天 11/03 和 10/03 重复了多少次,那么它应该给我 2 的计数,这也是我的要求,但是相反,我得到了 5 个计数,因为机器 A 在 11 月 3 日有 2 个 Appid,在 10 月 3 日有 3 个 Appid,这是我的问题,我只想要过去 5 天按日期区分的机器组计数。有没有人可以帮帮我。
【问题讨论】:
-
尝试使用
DISTINCTCOUNT('SCCM Antivirus_RBF'[Date])代替COUNT('SCCM Antivirus_RBF'[MachineName]) -
没用,我在过去 5 天内几乎每台机器都重复了 25 次,应该最多 5 次,每天 1 次
-
看看我的回答。它似乎适用于您的示例数据。当然,您需要添加另一个过滤器才能获得最近 5 天的数据。