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

求DAX公式:统计VM表中未在指定关联表出现的服务器数量

正确DAX公式:统计符合多条件的VM服务器数量

需求拆解

需要统计VM表中同时满足以下条件的唯一服务器名称数量:

  • 服务器名称未出现在Tool表中
  • 服务器名称未出现在Excluded表中Tool_Name为"D"的记录里
  • 服务器名称未出现在Active表中Tool_Name为"D"的记录里

正确DAX公式

CountQualifiedServers = 
-- 定义需要排除的服务器集合
VAR ToolServers = VALUES(Tool[Server_name])
VAR ExcludedDServers = CALCULATETABLE(VALUES(Excluded[Server_name]), Excluded[Tool_Name] = "D")
VAR ActiveDServers = CALCULATETABLE(VALUES(Active[Server_name]), Active[Tool_Name] = "D")
-- 合并所有需排除的服务器列表
VAR AllExcludedServers = UNION(ToolServers, ExcludedDServers, ActiveDServers)
-- 统计VM表中不在排除列表内的唯一服务器数量
RETURN
CALCULATE(
    DISTINCTCOUNT(VM[Server_name]),
    NOT(VM[Server_name] IN AllExcludedServers)
)

公式说明

  1. 变量定义:
    • ToolServers:提取Tool表中所有唯一的服务器名称
    • ExcludedDServers:筛选Excluded表中Tool_Name为"D"的记录,提取其中唯一的服务器名称
    • ActiveDServers:筛选Active表中Tool_Name为"D"的记录,提取其中唯一的服务器名称
  2. 合并排除列表:用UNION将三个需排除的服务器集合合并为一个总列表,避免重复排除
  3. 统计符合条件的服务器:用CALCULATE筛选VM表中不在排除列表内的记录,通过DISTINCTCOUNT统计唯一服务器数量(若VM表中Server_name无重复,也可替换为COUNT,但DISTINCTCOUNT兼容性更强)

注意事项

  • 确保各表的Server_name列数据类型完全一致(如均为文本格式,无大小写、空格等格式差异),否则会导致匹配失败
  • 若模型中存在基于index的表关系,当前公式未依赖该关系——因为需求仅需基于Server_name的直接匹配,无需通过index关联筛选上下文
  • 若需处理空值,可在变量中添加FILTER排除空的Server_name,例如:VALUES(FILTER(Tool, NOT(ISBLANK(Tool[Server_name]))))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:05:03