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

Power BI中创建DAX度量值:提取筛选范围内总伤亡最高的城市

解决Power BI中动态获取最高伤亡城市的DAX度量值方案

以下是两种可靠的DAX写法,可根据是否需要处理并列最高的情况选择:

方案1:支持并列最高城市(用逗号分隔)

伤亡最高城市 = 
VAR 城市伤亡汇总 = 
    // 按城市分组,计算当前筛选下的总伤亡
    ADDCOLUMNS(
        VALUES('恐怖袭击数据集'[城市]),
        "@总伤亡", CALCULATE(SUM('恐怖袭击数据集'[伤亡人数]))
    )
// 提取总伤亡最高的所有城市,并用逗号连接
RETURN
    CONCATENATEX(
        TOPN(1, 城市伤亡汇总, [@总伤亡], DESC),
        [城市],
        ", "
    )

方案2:仅返回单个最高城市(忽略并列)

伤亡最高城市 = 
VAR 城市伤亡汇总 = 
    ADDCOLUMNS(
        VALUES('恐怖袭击数据集'[城市]),
        "@总伤亡", CALCULATE(SUM('恐怖袭击数据集'[伤亡人数]))
    )
VAR 最高城市行 = TOPN(1, 城市伤亡汇总, [@总伤亡], DESC)
RETURN
    MAXX(最高城市行, [城市])

关键说明

  • 动态适配切片器:所有计算基于Power BI当前的筛选上下文(年份、国家/区域切片器的选择),切片器变更时会自动重新计算结果。
  • 解决你之前的问题:LOOKUPVALUE报错的核心原因是它要求查找值唯一,若存在多个城市伤亡相同会触发错误;而TOPN或FILTER能自然处理并列场景。另外表变量中的自定义列(如@总伤亡)需要用[@列名]的格式引用,这是DAX中表变量列的标准引用规则。
  • 替代SUMMARIZE的优势:ADDCOLUMNS + VALUES的组合比单纯用SUMMARIZE更直观,能避免部分上下文转换的潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:52:58