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

如何在Power BI中计算各州年度人口同比增长率

计算美国各州年度人口同比增长率(Power BI)

方法一:创建DAX计算列(固定每行增长率)

这种方式会把增长率直接嵌入数据表,每一行对应单个州某一年的增长率:

  1. 打开Power BI Desktop,切换到数据视图(左侧表格图标)
  2. 点击数据表顶部的新建列按钮
  3. 输入以下DAX公式:
年度同比增长率(%) = 
VAR 上年人口 = CALCULATE(
    SUM('人口数据'[Population]),
    FILTER(
        ALL('人口数据'),
        '人口数据'[State] = EARLIER('人口数据'[State]) &&
        '人口数据'[Year] = EARLIER('人口数据'[Year]) - 1
    )
)
RETURN
IF(
    NOT ISBLANK(上年人口),
    DIVIDE('人口数据'[Population] - 上年人口, 上年人口) * 100,
    BLANK()
)
  • 逻辑说明:用FILTER匹配当前州的上一年数据,DIVIDE避免除数为0的报错;2012年因无上年数据,返回空值
  1. 按回车确认后,可将新列重命名为更直观的名称

方法二:创建DAX度量值(动态计算)

如果需要配合报表切片器(筛选年份/州)实时更新结果,推荐用度量值:

  1. 切换到报表视图或数据视图,点击新建度量值
  2. 输入以下DAX公式:
年度同比增长率(%) = 
VAR 当前年份 = SELECTEDVALUE('人口数据'[Year])
VAR 当前州 = SELECTEDVALUE('人口数据'[State])
VAR 当前人口 = CALCULATE(SUM('人口数据'[Population]), '人口数据'[Year] = 当前年份, '人口数据'[State] = 当前州)
VAR 上年人口 = CALCULATE(SUM('人口数据'[Population]), '人口数据'[Year] = 当前年份 - 1, '人口数据'[State] = 当前州)
RETURN
IF(
    NOT ISBLANK(上年人口) && NOT ISBLANK(当前人口),
    DIVIDE(当前人口 - 上年人口, 上年人口) * 100,
    BLANK()
)
  • 逻辑说明:SELECTEDVALUE获取当前筛选的年份和州,动态计算对应年份的增长率,适合矩阵、卡片等可视化组件

结果验证

用你提供的示例数据测试:

  • Alabama 2013年增长率:(5500-5000)/5000*100 = 10%
  • Alaska 2013年增长率:(350-200)/200*100 = 75%
    计算完成后可核对数值,确保公式生效

注意事项

  • 确认Year列是整数类型,若为文本需右键列→更改类型→整数
  • 若每个州每年仅一行数据,可用MAX/MIN替代SUM,结果一致
  • 如需调整小数位数,右键列/度量值→格式→数字→百分比,设置对应位数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:42:47