DAX 计数函数在某处出错

DAX Count function making mistake somewhere

文件: count.xlsx 位于 GitHub repository

软件: MS Excel 2016 Power Pivot


我确实知道 EXCEL sheet.

中有 10,921 行

当我创建 DAX 度量时 Total_Incidents:=Count(Graffiti[CREATED_DATE]) 值变为 10,921。我数 CREATED_DATE 因为没有 NULL 值。

有Open、Pending、Closed三种状态,计算如下

Total_Closed:=sumx(FILTER(Graffiti,Graffiti[STATUS]="Closed"),[Total_Incidents])

Total_Closed= 5354, <- 正确

然而,Total_Opened 是不正确的

Total_Opened:=sumx(FILTER(Graffiti,Graffiti[STATUS]="Open"),[Total_Incidents])

Total_Opened= 4483 应该是4481

然而Total_Pending是正确的

Total_Pending:=sumx(FILTER(Graffiti,Graffiti[STATUS]="Pending"),[Total_Incidents])

Total_Pending= 75, <- 正确

当我添加总数时,由于 Total_Opened

,我又得到了 2 个事件

Total_Calc:=[Total_Closed]+[Total_Opened]+[Total_Pending]

Total_Calc= 10923 <- 不正确,应该是 10921

为什么 Total_Opened 中存在差异?无法理解这个。

我最初是这样回答的:

“我知道你说你数 CREATED_DATE 是因为没有 NULL 值,但你是否检查了 CREATE_DATE 列中的 blanks?我空白日期重复了您的问题。您可以有 2 个空白日期。

您可以使用 COUNTBLANK(Graffiti[CREATED_DATE]) 来检查您是否有空白。"

然后我注意到你在 GitHub 上的 Excel 文件中有一个 link,所以...

我下载了它,我在你的日期中寻找空白——有 none。

所以我为 Total_Closed、Total_Opened、Total_Pending 和 Total_Calc 添加了列。 (我使用了你的公式,但我在每个公式中使用了 countx 而不是 sumx,所以我可以只比较行数。)

Total_Incidents:=Count(Graffiti[CREATED_DATE])

Total_Closed:=countx(FILTER(Graffiti,Graffiti[STATUS]="Closed"),[Total_Incidents])

Total_Opened:=countx(FILTER(Graffiti,Graffiti[STATUS]="Open"),[Total_Incidents])

Total_Pending:=countx(FILTER(Graffiti,Graffiti[STATUS]="Pending"),[Total_Incidents])

Total_Calc:=[Total_Closed]+[Total_Opened]+[Total_Pending]

这是我得到的:

Total_Incidents: 10921

Total_Closed: 6365

Total_Opened: 4481

Total_Pending: 75

Total_Calc: 10921

这些计数看起来是正确的。

我猜你已经发现并纠正了你的问题。