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

Power BI:DAX度量值计算各年度上年值仅显示总和的问题

解决Power BI中DAX上年购买力指数仅合计行显示的问题

问题根源

你当前的度量值使用SAMEPERIODLASTYEAR(Fact_Index[Date]),但视觉对象中是基于事实表的“年份”列分组筛选。由于没有使用独立的日期维度表,时间智能函数无法正确识别年度级别的上下文——单个年份筛选下,事实表的Date列仅包含当前年的日期,SAMEPERIODLASTYEAR会尝试筛选上一年的日期,但事实表中当前年分组的上下文里没有上一年的日期数据,导致年度行返回空值;而合计行没有日期筛选,函数能正确计算所有上一年数据的总和。

解决方案

方案1:使用独立日期表(推荐,符合Power BI最佳实践)

首先创建一张独立的日期维度表,这是时间智能函数正常工作的基础:

Calendar = 
ADDCOLUMNS(
    CALENDAR(MIN(Fact_Index[Date]), MAX(Fact_Index[Date])),
    "年份", YEAR([Date]),
    "年度开始", DATE(YEAR([Date]), 1, 1),
    "年度结束", DATE(YEAR([Date]), 12, 31)
)

创建完成后,在模型视图中将Fact_Index[Date]与Calendar[Date]建立一对多关系。

然后修改度量值,基于日期表的日期列计算:

Previous Year Purchasing Power = 
CALCULATE(
    SUM(Fact_Index[Purchasing Power Index]),
    DATEADD('Calendar'[Date], -1, YEAR)
)

之后视觉对象中使用Calendar[年份]进行分组,即可得到正确的年度上年值。

方案2:直接基于年份列计算(无需日期表)

如果暂时不想创建日期表,可以直接通过年份筛选来计算:

Previous Year Purchasing Power = 
VAR CurrentYear = SELECTEDVALUE(Fact_Index[年份])
RETURN
CALCULATE(
    SUM(Fact_Index[Purchasing Power Index]),
    Fact_Index[年份] = CurrentYear - 1
)

这个方法通过获取当前行的年份,直接筛选上一年的购买力指数总和,无需依赖时间智能函数的日期上下文。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:03:28