新手求助:PowerBI中用DAX统计无营业门店的区域数量
解决PowerBI中统计无营业门店区域数量的DAX方案
嘿,刚接触DAX不用慌,我帮你写个能直接用到卡片视觉里的度量值,完美解决你的需求!
核心思路
我们需要先算出每个区域下营业门店的总数,再筛选出总数为0的区域,最后统计这些区域的个数。先假设你的表名和核心列名如下(记得替换成你模型里的实际名称):
- 表1:
区域表(存储区域信息,核心列比如区域名称) - 表2:
区域门店映射表(关联区域和门店,核心列比如区域ID、门店ID) - 表3:
门店状态表(存储门店营业状态,核心列比如门店ID、营业状态,1=营业,0=停业)
最终DAX度量值
停业区域数量 = VAR 区域营业门店统计 = ADDCOLUMNS( VALUES(区域表[区域名称]), // 替换为你实际的区域列名 "@营业门店数", CALCULATE( COUNTROWS(门店状态表), 门店状态表[营业状态] = 1 // 替换为你实际的营业状态列名 ) ) RETURN COUNTROWS(FILTER(区域营业门店统计, [@营业门店数] = 0))
代码分步解释
VALUES(区域表[区域名称]):获取所有不重复的区域列表,确保我们能遍历每一个区域进行统计ADDCOLUMNS(...):给每个区域新增一个临时计算列@营业门店数,借助PowerBI自动的表关系,CALCULATE会自动筛选出当前区域下营业状态为1的门店并统计数量FILTER(...):从区域列表里筛选出营业门店数为0的区域(也就是下属门店全停业的区域)COUNTROWS(...):统计筛选后剩下的区域数量,这就是你要在卡片里展示的结果
关键注意事项
- 确保三张表已建立正确关系:
区域表←→区域门店映射表(通过区域ID关联),区域门店映射表←→门店状态表(通过门店ID关联),且筛选方向是从区域到门店的单向筛选 - 一定要把代码里的表名和列名替换成你PowerBI模型里的实际名称,比如你的区域列可能叫
区域ID,营业状态列可能叫是否营业
把这个度量值创建好后,直接拖到卡片视觉对象里,就能直观看到所有下属门店都停业的区域数量啦!
内容的提问来源于stack exchange,提问作者ThomasG
相关产品推荐
相关产品推荐

