You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建DAX度量值:统计区域内登录多地区的用户数

问题描述

我有一份包含多条用户登录记录及多地区信息的数据集:

UserDistrictRegion
UserAHKGChina
UserAPRGEurope
UserACKGChina
UserBLHREurope
UserBAMSEurope
UserBTYOJapan
UserACKGChina
UserCSYDAustralia
UserCMELAustralia
UserDSYDAustralia
UserDMELAustralia

我的需求是按Region统计出在该区域内登录过多个不同District的用户数量,预期结果如下:

RegionCreated Measure
China1
Europe1
Japan0
Australia2

各区域数值说明:

  • China为1:仅UserA在中国区域登录过多个不同District
  • Europe为1:仅UserB在欧洲区域登录过多个不同District
  • Japan为0:没有用户在日本区域登录过多个不同District
  • Australia为2:UserC和UserD均在澳大利亚区域登录过多个不同District

我尝试通过创建表实现需求,但目前只能统计不同值的数量,无法筛选聚合值大于1的情况,当前使用的DAX代码如下:

DEFINE
TABLE UserGroup = 
    SUMMARIZECOLUMNS (
        User[User],
        User[Branch],
        User[Region],
        "UserCount", COUNT('User'[User]),
        "User Distinct Count", DISTINCTCOUNT('User'[User])
        )
        
EVALUATE
    GROUPBY(
        UserGroup,
        UserGroup[Region],
        "Failing Formula", SUMX(CURRENTGROUP(), [User Distinct Count])
        )
解决方案

要实现需求,我们需要先按用户和区域分组统计不同District数量,再筛选出符合条件的用户,最后按区域汇总计数。以下是两种可行的DAX写法:

分步清晰版

EVALUATE
VAR UserRegionDistricts =
    SUMMARIZE (
        'User',
        'User'[User],
        'User'[Region],
        "DistinctDistricts", DISTINCTCOUNT('User'[District])
    )
VAR QualifiedUsers =
    FILTER (
        UserRegionDistricts,
        [DistinctDistricts] > 1
    )
RETURN
    SUMMARIZECOLUMNS (
        'User'[Region],
        "Created Measure", COUNTROWS(FILTER(QualifiedUsers, 'User'[Region] = EARLIER('User'[Region])))
    )

代码逻辑:

  1. UserRegionDistricts:按用户+区域分组,计算每个用户在对应区域的不同District数量
  2. QualifiedUsers:筛选出在区域内登录过多个不同District(数量>1)的用户记录
  3. 最后按区域分组,统计每个区域内符合条件的用户数,无符合条件用户的区域自动返回0

简洁版

EVALUATE
SUMMARIZECOLUMNS (
    'User'[Region],
    "Created Measure",
    SUMX (
        VALUES('User'[User]),
        IF (
            CALCULATE(DISTINCTCOUNT('User'[District])) > 1,
            1,
            0
        )
    )
)

代码逻辑:

  • 遍历当前区域下的所有用户
  • 对每个用户,计算其在该区域的不同District数量,满足条件则计1,否则计0
  • 对区域内的用户计数求和,得到最终结果

内容的提问来源于stack exchange,提问作者Zabman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:41:03