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

基于切片器获取YTD及上年同期计数总和的解决方案咨询

解决思路与修正方案

问题根源

你的Count PYTD公式失效的核心原因有两个:

  1. 错误使用原表日期列做时间智能计算:直接用业务表的Lead Created Date列(可能存在日期缺口、重复值)执行DATESYTD+SAMEPERIODLASTYEAR,会导致筛选上下文冲突,切片器的时间范围无法正确传递到上年同期计算。
  2. YTD逻辑不符合需求:你需要的是切片器选中任意时间段的上年同期总和,但原公式里的DATESYTD强制计算“年初到筛选日的累计”,而非选中时段的同期值。

步骤1:建立独立日期维度表(必须)

时间智能函数依赖连续无缺口的日期表,先通过DAX生成:

DateTable = 
CALENDAR(
    MIN('v4 17 24 1'[Lead Created Date]),
    MAX('v4 17 24 1'[Lead Created Date])
)

在模型视图中,将DateTable[Date]与v4 17 24 1'[Lead Created Date]建立一对多关系(确保日期表在一端)。


步骤2:修正度量值

根据你的需求,分两种场景调整:

场景1:切片器选任意时间段,显示当期+上年同期总和

// 当期选中时段总和
Count Selected = SUM('v4 17 24 1'[Count])

// 上年同期时段总和
Count PY Selected = 
CALCULATE(
    SUM('v4 17 24 1'[Count]),
    SAMEPERIODLASTYEAR(DateTable[Date])
)

场景2:保留YTD逻辑(显示年初到筛选日的累计+上年同期累计)

// 当期YTD累计
Count YTD = 
CALCULATE(
    SUM('v4 17 24 1'[Count]),
    DATESYTD(DateTable[Date])
)

// 上年同期YTD累计
Count PYTD = 
CALCULATE(
    SUM('v4 17 24 1'[Count]),
    SAMEPERIODLASTYEAR(DateTable[Date]),
    DATESYTD(DateTable[Date])
)

步骤3:调整切片器绑定

将切片器的数据源改为DateTable[Date],而非原业务表的Lead Created Date,确保时间筛选能正确传递到时间智能函数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 18:02:37