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
这些计数看起来是正确的。
我猜你已经发现并纠正了你的问题。
文件: 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
这些计数看起来是正确的。
我猜你已经发现并纠正了你的问题。